机器学习中的数学(二)--梯度下降法

写在前面    

  《机器学习中的数学》系列主要列举了在机器学习中用到的较多的数学知识,包括微积分,线性代数,概率统计,信息论以及凸优化等等。本系列重在描述基本概念,并不在应用的方面的做深入的探讨,如果想更深的了解某一方面的知识,请自行查找研究。

    第二部分主要讲述了梯度下降法,这是在机器学习中很重要很常见的方法。梯度下降法(gradient descent)又称最速下降法(steepest descent)是求解无约束最优化问题的一种最常用的方法,有实现简单的优点。梯度下降法是迭代算法,每一步需要求解目标函数的梯度向量。

1. 何为梯度

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

在平面区域D上具有一阶连续偏导数,则对于每一个点P(x,y)都可定出一个向量

  

该函数就称为函数z在点P(x,y)的梯度,记作gradf(x,y)或▽f(x,y),即有:

其中

称为二维向量微分算子或Nabla算子。

举例:对于函数

其梯度为:

机器学习中的数学(二)--梯度下降法_第1张图片

我们可以看到,梯度就是分别对每个变量进行微分,然后用逗号分割开,说明梯度其实是一个向量。梯度是微积分中一个很重要的概念,梯度的意义为:

  • 在单变量的函数中,梯度其实就是函数的微分,代表着函数在某个给定点的切线的斜率。
  • 在多变量函数中,梯度是一个向量,向量有方向,梯度的方向就指出了函数在给定点上升最快的方向

注意:梯度的方向是函数上升最快的方向,而梯度的反方向就是函数下降最快的方向

2.梯度下降的通俗解释

如下图所示,该图是一个二元函数的图像。假设白色的点是起始点,梯度下降法就是在相同的时间内,相等的速率下,最先找到函数图像最低点的方法。

                                          机器学习中的数学(二)--梯度下降法_第2张图片

但是寻找最低点并不是一下子就能找到的,而是一步步朝着最低的方向。在图中A,B,C,D是四个移动方向中(也就是梯度向量),下降最快的是A方向,然后下降到A点之后,再次寻找最快能下降到最低点的方向,也就是A2方向,到达A2以后,在以此类推,直至所到达的点满足我们的阈值要求。

                                   机器学习中的数学(二)--梯度下降法_第3张图片

3.梯度下降法的数学解释

假设上述图像的为f(x)函数,其在实数域上具有一阶连续偏导数,求函数最低点的问题等同于求解该无约束最优化问题:

                                                                              

梯度下降法是一种迭代算法,选取适当的初始值x0,不断迭代,更新x值,进行目标函数的最小化,直到收敛。由于负梯度方向是使函数值下降最快的方向,所以在迭代的每一步,以负梯度方向更新x的值,从而达到减少函数值的目的。该方法迭代的过程为:

                                                                      

该迭代公式中的每一项的具体意义为:

                                                              机器学习中的数学(二)--梯度下降法_第4张图片

其中,搜索方向为梯度的负方向:

                                                                              

因为梯度的负方向是下降最快的方向。

怎么确定每一步的步长呢?步长是由一维搜索确定,即:

                                                            

所以梯度下降法的算法如下:

机器学习中的数学(二)--梯度下降法_第5张图片

当目标函数是凸函数时,梯度下降法的解是全局最优解。一般情况下,其解不保证是全局最优解,梯度下降法的收敛速度也未必是很快的。

注意梯度下降法容易收敛到局部最优,并不一定是全局最优,这点一定要注意。如下图所示,如果在起始点的时候A的梯度小于C的梯度,那么最终达到的最低点是N点,而非M点而N点并非全局最优解,而是局部最优解

                                     机器学习中的数学(二)--梯度下降法_第6张图片

 

 

 

 

你可能感兴趣的:(•机器学习中的数学,机器学习,数学,梯度下降法,人工智能)