为什么梯度下降是有效的?


       在机器学习的很多模型中都用到了梯度下降法或者基于梯度下降的改进算法,那么究竟梯度下降法是如何保证算法的正确性或者说它是有效的呢?接下来,本文将简单分析这个问题。


1. 直观认识


        以线性回归为例,这里定义了代价函数如下:


《为什么梯度下降是有效的?》


        我们训练模型的目的就是求得一组解θ0, θ1使得代价函数J最小,其中θ0, θ1与代价函数J的函数图像大致如下图所示:


《为什么梯度下降是有效的?》


       为了找到代价函数J最低点的值,我们的直观认识是“下山”——在当前位置上找到下坡最快的方向,然后沿着这个方向走一步,然后继续找当前位置的下坡最快方向,然后沿该方向走一步……最终可以找到最低点。梯度下降的基本原理类似,每次更新参数的公式如下:


《为什么梯度下降是有效的?》


       其中,∂J/∂θ表示的就是当前位置下坡最快的方向,而α(learning rate)则表示前行一步的步长为多大。从图中,我们可以看到代价函数J有很多个局部最低点,因此梯度下降的最大特点就是求得的解仅是局部最优解


2. 直观解释


       为了让你更坚定地认为梯度下降是正确的,下面给出一个简单却又非常直观的解释。假设θ0=0,那么代价函数J只受θ1的影响,其函数图像如下图所示:


《为什么梯度下降是有效的?》


        当dJ/dθ1>0时,即导数大于0时,θ1将减小靠近最低点;当dJ/dθ1<0时,即导数小于0时,θ1将增大靠近最低点。由此可见,梯度下降法是有效的。




    原文作者:jingyi130705008
    原文地址: https://blog.csdn.net/jingyi130705008/article/details/78851722
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞