您的位置:首页 > 其它

机器学习-梯度下降III(为何梯度下降能最小化代价函数)

2017-09-07 20:58 309 查看
我们已经知道梯度下降算法的定义,就是

不断的进行下面的操作,假设Θ0, Θ1已被初始化为0



直到J(Θ0, Θ1)收敛([b]J(Θ0, Θ1)非常接近某个很小的值)[/b]
然后为什么这个过程可以最小化代价函数,而且这个式子的每个部分代表什么意思?往前回忆,我们知道当模型参数 Θ 是一维的情况下时,此时上面的式子可以简化为



同时已知代价函数与 Θ 的关系可假设为下面的图像(图是用Octave画出来的)



横坐标是Θ,纵坐标是J(Θ)的值。我们先在图像中取一点m,则式子的微分部分是图像在m处的斜率



式子右边部分可以理解成,Θi减去一个正数,意味着m点会沿着曲线向左移动,到达一个新的点,如下图



不断的循环这个式子的原因正是将这个点一步步往图像的最低点挪,这就是梯度下降算法“最小化”代价函数的过程。这里有两个需要注意的问题:

1、式子中α的取值对这个过程的影响。当α取值越大,点m往左挪得就越多,反之就越少。

2、当我们的m点一开始的地方不是在对称轴的右边,而是在左边时,又或者是,在一次m往左挪的时候,突然间越过了对称轴,从本来的右边,到了左边时,梯度下降是依然可以继续下去的,因为当m到达了对称轴的左边时,微分的部分(斜率)会编程负值,下一步,根据这个式子,原本式子的减掉一个正数,变成了减掉一个负数,m点实际上会往右挪(过程自行脑补),所以我们可以得出一个结论,m点总是朝着最低点或者是局部最低点的方向移动的。以上
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐