我已经在 Python 中实现了梯度下降来执行正则化多项式回归,使用 MSE 作为损失函数,但在线性数据上(以证明正则化的作用)。
所以我的模型是以下形式:
在我的损失函数中,R 代表正则化项:
让我们将 L2 范数作为我们的正则化,损失函数 wrt wi 的偏导数如下:
最后,使用恒定的学习率更新系数 wi:
问题是我无法使其收敛,因为正则化正在惩罚多项式的 2 阶 (w2) 和 1 阶 (w1) 系数,而在我的情况下,我希望它只惩罚前者因为数据是线性的。
是否有可能实现这一点,因为在 Scikit-learn 中实现的 LassoCV 和 RidgeCV 都能够做到这一点?或者我上面给出的方程式有错误吗?
我怀疑恒定的学习率(mu)也可能有问题,有什么简单的公式可以让它适应?