机器学习之梯度下降法

1     梯度的定义

       梯度的本意是一个向量(矢量),表示某一函数在该点处的方向导数沿着该方向取得最大值,即函数在该点处沿着该方向(此梯度的方向)变化最快,变化率最大(为该梯度的模)。

       在单变量的实值函数的情况,梯度只是导数,或者,对于一个线性函数,也就是线的斜率。 

机器学习之梯度下降法

(注意:梯度是一个向量)

    梯度的方向是函数f增长最快的方向,梯度的反方向是f降低最快的方向;在远离最优解的时候梯度大,在靠近最优解的时候梯度小。

(注意:梯度是一个向量)

梯度的方向是函数f增长最快的方向,梯度的反方向是f降低最快的方向;在远离最优解的时候梯度大,在靠近最优解的时候梯度小。

2    梯度法思想

     梯度法思想的三要素:出发点、下降方向、下降步长。图1表明了梯度下降的过程;

机器学习之梯度下降法

                                                                                                图1 梯度下降历程

      一次梯度下降的公式如下式(1)所示:

      机器学习之梯度下降法

       此公式的意义是:J是关于Θ的一个函数,我们当前所处的位置为Θ0点,要从这个点走到J的最小值点。首先我们先确定前进的方向,也就是梯度的反向,然后走一段距离的步长,也就是α,走完这个段步长,就到达了Θ1这个点!

     α在梯度下降算法中被称作为学习率或者步长,意味着我们可以通过α来控制每一步走的距离。

机器学习之梯度下降法

    当机器学习之梯度下降法α的取值过大或过小时,均会出现如图2和图3所示的现象。   

     为什么要梯度要乘以一个负号?
       梯度前加一个负号,就意味着朝着梯度相反的方向前进!我们在前文提到,梯度的方向实际就是函数在此点上升最快的方向!而我们需要朝着下降最快的方向走,自然就是负的梯度的方向,所以此处需要加上负号。

3   梯度下降的数学解释

梯度下降的迭代公式:

 机器学习之梯度下降法

根据泰勒公式,则

 机器学习之梯度下降法

4      梯度下降算法的实例

4.1    单变量函数的梯度下降

机器学习之梯度下降法

      则根据梯度下降计算公式,开始进行梯度下降的迭代计算过程:
机器学习之梯度下降法

      经过四次的运算,也就是走了四步,基本就抵达了函数的最低点,它的迭代过程如图4所示:

机器学习之梯度下降法

                                                                                     图4  梯度下降寻优过程

4.2  多变量函数的梯度下降

多变量的目标函数如式(7)所示:

机器学习之梯度下降法

机器学习之梯度下降法

4.3   梯度下降算法在线性回归中的应用

    线性回归的一般形式如式(8)所示:

机器学习之梯度下降法

线性回归的损失函数如式(9)所示:

机器学习之梯度下降法

      线性回归模型可以依据梯度下降法进行求解,其求解步骤为求梯度、负梯度更新、迭代收敛。具体过程如下:

机器学习之梯度下降法

 

     即可求取其批量梯度和随机梯度:

机器学习之梯度下降法

5    参考资料

   https://www.jianshu.com/p/424b7b70df7b

机器学习之梯度下降法
关注微信号,了解更多信息