每个 Coursera 机器学习课程的正则化线性回归成本函数的推导

机器算法验证 回归 自习
2022-03-24 03:50:26

几个月前,我通过 Coursera 参加了 Andrew Ng 的“机器学习”课程,没有关注大多数数学/推导,而是专注于实施和实用性。从那以后,我开始回去研究一些基础理论,并重温了吴教授的一些讲座。我正在阅读他关于“正则化线性回归”的讲座,看到他给出了以下成本函数:

J(θ)=12m[i=1m(hθ(x(i))y(i))2+λj=1nθj2]

然后,他给出了这个成本函数的以下梯度:

θjJ(θ)=1m[i=1m(hθ(x(i))y(i))xj(i)λθj]

我对他如何从一个到另一个感到有点困惑。当我尝试进行自己的推导时,我得到了以下结果:

θjJ(θ)=1m[i=1m(hθ(x(i))+y(i))xj(i)+λθj]

不同之处在于原始成本函数和 Ng 教授公式中的正则化参数之间的“加号”符号在他的梯度函数中变为“减号”符号,而我的结果中没有发生这种情况。

直觉上我理解为什么它是负数:我们通过梯度图减少 theta 参数,并且我们希望正则化参数减少我们改变参数的量以避免过度拟合。我只是有点卡在支持这种直觉的微积分上。

仅供参考,您可以在此处找到幻灯片 15 和 16。

3个回答

J(θ)=12m[i=1m(hθ(x(i))y(i))2+λj=1nθj2]

现在

θj(hθ(x(i))y(i))2=2[(hθ(x(i))y(i))θj{hθ(x(i))}]

请注意,在线性模型中(在您提到的页面上进行了讨论),θj(hθ(x(i))=[x(i)]j

θjλj=1nθ2=2λθj

所以对于线性情况

θjJ(θ)=1m[i=1m(hθ(x(i))y(i))xj(i)+λθj]

看起来你和安德鲁可能都有错别字。好吧,我们三个人中至少有两个似乎。

实际上,如果您在视频之后查看讲义,它会正确显示公式。您在此处排列的幻灯片显示了视频的确切幻灯片。

在此处输入图像描述

实际上,我认为这只是一个错字。

在幻灯片 #16 上,他写了成本函数(带有正则化项)关于 theta 的导数,但它是在梯度下降算法的上下文中。因此,他还将这个导数乘以α. 注意:在第二行(幻灯片 16)他有λθ(如你所写)乘以α. 然而,到第三行时,相乘项仍然是负数,即使——如果第二行是正确的——负号会被抵消。

有道理?