1

我已经在 Python 中实现了梯度下降来执行正则化多项式回归,使用 MSE 作为损失函数,但在线性数据上(以证明正则化的作用)。

所以我的模型是以下形式:

在此处输入图像描述

在我的损失函数中,R 代表正则化项:

在此处输入图像描述

让我们将 L2 范数作为我们的正则化,损失函数 wrt wi 的偏导数如下:

在此处输入图像描述

最后,使用恒定的学习率更新系数 wi:

在此处输入图像描述

问题是我无法使其收敛,因为正则化正在惩罚多项式的 2 阶 (w2) 和 1 阶 (w1) 系数,而在我的情况下,我希望它只惩罚前者因为数据是线性的。

是否有可能实现这一点,因为在 Scikit-learn 中实现的 LassoCV 和 RidgeCV 都能够做到这一点?或者我上面给出的方程式有错误吗?

我怀疑恒定的学习率(mu)也可能有问题,有什么简单的公式可以让它适应?

4

1 回答 1

0

我最终按照本教程Coordinate descent中的描述使用了一个正则化项(L1 或 L2)。经过相对大量的迭代后,w2 几乎为零(因此预测模型是线性的)。

于 2019-12-27T20:23:03.107 回答