线性数据的正则化多项式回归 - 仅惩罚 2 次系数
Regularized polynomial regression on linear data - penalize only degree 2 coefficient
我在 Python 中实现了梯度下降,以使用 MSE 作为损失函数执行正则化多项式回归,但在线性数据上(以证明正则化的作用)。
所以我的模型是这样的:
而在我的损失函数中,R代表正则化项:
让我们将 L2 范数作为我们的正则化,即损失函数的偏导数 w.r.t。 wi 如下:
最后,使用恒定学习率更新系数wi:
问题是我无法让它收敛,因为正则化正在惩罚多项式的 2 次 (w2) 和 1 次 (w1) 的系数,而在我的例子中我想要它因为数据是线性的,所以只惩罚前者。
Scikit-learn 中实现的 LassoCV 和 RidgeCV 都可以实现吗?还是我上面给出的方程式有误?
我怀疑恒定的学习率 (mu) 也可能有问题,使其自适应的简单公式是什么?
我最终使用 Coordinate descent
,如 this tutorial 中所述,我向其中添加了正则化项(L1 或 L2)。经过比较多的迭代后,w2几乎为零(因此预测模型是线性的)。
我在 Python 中实现了梯度下降,以使用 MSE 作为损失函数执行正则化多项式回归,但在线性数据上(以证明正则化的作用)。
所以我的模型是这样的:
而在我的损失函数中,R代表正则化项:
让我们将 L2 范数作为我们的正则化,即损失函数的偏导数 w.r.t。 wi 如下:
最后,使用恒定学习率更新系数wi:
问题是我无法让它收敛,因为正则化正在惩罚多项式的 2 次 (w2) 和 1 次 (w1) 的系数,而在我的例子中我想要它因为数据是线性的,所以只惩罚前者。
Scikit-learn 中实现的 LassoCV 和 RidgeCV 都可以实现吗?还是我上面给出的方程式有误?
我怀疑恒定的学习率 (mu) 也可能有问题,使其自适应的简单公式是什么?
我最终使用 Coordinate descent
,如 this tutorial 中所述,我向其中添加了正则化项(L1 或 L2)。经过比较多的迭代后,w2几乎为零(因此预测模型是线性的)。