【发布时间】:2020-04-17 10:27:28
【问题描述】:
我已经在 Python 中实现了梯度下降来执行正则化多项式回归,使用 MSE 作为损失函数,但在线性数据上(以证明正则化的作用)。
所以我的模型是这样的:
而在我的损失函数中,R 代表正则化项:
让我们将 L2 范数作为我们的正则化,损失函数 w.r.t 的偏导数。 wi如下:
最后,使用恒定的学习率更新系数 wi:
问题是我无法使其收敛,因为正则化正在惩罚多项式的 2 阶 (w2) 和 1 阶 (w1) 系数,而在我的情况下,我希望它惩罚只有前者,因为数据是线性的。
是否有可能实现这一点,因为在 Scikit-learn 中实现的 LassoCV 和 RidgeCV 都能够做到这一点?还是我上面给出的方程式有错误?
我怀疑恒定的学习率 (mu) 也可能有问题,有什么简单的公式可以让它自适应?
【问题讨论】:
标签: python scikit-learn regression gradient-descent mse