前言

在机器学习领域,梯度下降法作为基础优化算法,在该领域具有较多的应用,而如何理解梯度下降法是引起初学者困惑的来源之一。本文通过查阅资料,公式推导等,从个人角度描述什么是梯度下降法,如有谬误,欢迎批评指正。

 


 

 

向量与方向:

在生活中,我们时常提到方向一词,如去东南方向,西北方向等。

而描述方向我们通常用东南西北将我们要去的位置进行标记,而我们走去的地方就是方向。

方向在几何学中我们称之为向量,有方向的量。

图&文 梯度下降法

而对于二维坐标系中来说我们所谓的方向就是向量指向的位置,如图的东北方向。

当图像扩充到三维坐标系中,就有了三维空间的向量,其代表空间的方向。

图&文 梯度下降法

 

 

 

方向导数与梯度:

导数反应的是函数的变化率,而偏导数反应的是函数沿坐标轴方向的变化率

 

图&文 梯度下降法

 

方向导数:

图&文 梯度下降法 是与射线同方向的单位向量,这里的  图&文 梯度下降法 叫做方向余弦(即射线与x轴y轴夹角的余弦值)。

图&文 梯度下降法

该式子就是在 图&文 梯度下降法 点沿 图&文 梯度下降法 方向的方向导数,描述的就是沿着 图&文 梯度下降法 方向的变化情况。

 

梯度:

在函数上标注一点,沿着该点偏导方向组成的向量就是梯度,也就是函数在该点的移动方向。

图&文 梯度下降法

 

方向导数与梯度的关系:

图中我们假设函数是 图&文 梯度下降法 ,射线AB为梯度方向AC是我们移动方向,可以看到AC方向与AB方向存在一个夹角α。

方向导数与梯度的关系公式,随着角度的变化而变化:

图&文 梯度下降法

而随着夹角的变化我们可以获得方向导数与梯度之间的关系如下:

(1)当α=0,选取方向与梯度方向相同,此时函数增加(上升)最快。

图&文 梯度下降法

(2)α=π,选取方向与梯度方向相反,此时函数减少(下降)最快。

图&文 梯度下降法

(3)α=π/2,选取方向与梯度方向正交,此时函数变化率为0。

图&文 梯度下降法

(4)当α=任意值时,选取方向与梯度方向呈α角度,此时函数变化率如下。

图&文 梯度下降法

由于图&文 梯度下降法取值在[0,1]之间,因此方向导数是小于等于梯度的

图&文 梯度下降法

可能有人不理解为什么沿梯度方向是最快的其他方向为什么就慢,我们可以参考物体受力问题。

只有沿着正受力方向才是最快的。

图&文 梯度下降法

 

 

梯度下降公式推导:

 

通过线性回归获取最小二乘:

图&文 梯度下降法

 

我们可以把 系数与值得乘积求和形式 写成  图&文 梯度下降法的形式

图&文 梯度下降法

图&文 梯度下降法

 

我们可以把上图写成如下函数, 一条模拟的回归曲线 图&文 梯度下降法 与随机震荡 图&文 梯度下降法 的求和 

图&文 梯度下降法

 

由于实际样本值很多,因此由中心极限定理我们可以知道  图&文 梯度下降法 服从期望为0方差为 图&文 梯度下降法 的正态分布

因此我们假设其正态分布公式为:

图&文 梯度下降法

图&文 梯度下降法

 

由于图&文 梯度下降法 转化为 图&文 梯度下降法 , 因此 图&文 梯度下降法 是由 图&文 梯度下降法 变化决定的 

因此我们可以求取其最大似然估计,找出合适的 图&文 梯度下降法 使得震荡数据落在高斯分布的中间,也就是让震荡越小。

图&文 梯度下降法图&文 梯度下降法

         图&文 梯度下降法

 

两边取对数:

图&文 梯度下降法

       图&文 梯度下降法

       图&文 梯度下降法

       图&文 梯度下降法

 

对分布函数求取最大似然估计,可以看到 影响该函数最值的其实是下面的目标函数,也就是最小二乘目标函数。

图&文 梯度下降法

 

梯度下降更新系数值:

到此我们推出了最小二乘目标函数,而该函数有什么作用?

由于上文我们推断,要想求取一个合适的 图&文 梯度下降法 使得在回归线附近的震荡最小,那么就相当于求取最小二乘目标函数的极小值

只要我们找到了该目标函数的极小值,那么极小值对应的 图&文 梯度下降法 就是我们要求的回归函数的系数

所以现在我们知道我们的目的是什么了。

那么怎样求取最小值,为什么能求取最小值呢?

图&文 梯度下降法

 

由于该函数的项数为2次,因此很容易得到该函数是凸函数

求取凸函数的下确界对应的值就是我们要选取的最小值

因此求取最小值,我们对目标函数求偏导:

图&文 梯度下降法

              图&文 梯度下降法

 

每一个图&文 梯度下降法 都是由图&文 梯度下降法组成的,因此对 总体求和的求导相当于对单项求导再求和

图&文 梯度下降法

 

进行求偏导,获取其梯度方向:

图&文 梯度下降法

               图&文 梯度下降法

               图&文 梯度下降法

               图&文 梯度下降法

 

因此该结果就是目标函数沿着图&文 梯度下降法方向的变化率

这里可以这样理解

图&文 梯度下降法

 

由于x已知,为了让图&文 梯度下降法震荡方差最小,从而优化图&文 梯度下降法值,使结果图&文 梯度下降法目标震荡最小

而对目标函数求偏导就是让图&文 梯度下降法沿梯度上升方向变化

图&文 梯度下降法

 

因此我们可以根据梯度下降得到更新图&文 梯度下降法值公式

图&文 梯度下降法

 

图&文 梯度下降法值沿着梯度下降方向更新,随着迭代次数增长,最终会收敛到最优的图&文 梯度下降法值使得回归函数点在直线附近震荡最小。

图&文 梯度下降法

 

 

图解理解梯度下降:

前文中提到,偏导数反应的是函数沿坐标轴方向的变化率。

下面图中描述梯度方向下降是怎样的过程:

(1)初始值图&文 梯度下降法

(2)迭代图&文 梯度下降法,至收敛。图&文 梯度下降法表示在图&文 梯度下降法处的负梯度方向即图&文 梯度下降法图&文 梯度下降法表示学习率

图&文 梯度下降法

可以很容易计算,函数图&文 梯度下降法 在A点的导数为正 ,因而函数在A点的梯度方向为正,梯度方向为图&文 梯度下降法,故由梯度下降法可知,下一个迭代值图&文 梯度下降法,也就是说x0向左移动一小步到了x1,同理在x1点的导数同样大于零,下一次迭代x1向左移动一小步到达x2,一直进行下去,只要每次移动的步数不是很大,我们就可以得到收敛1的解x。

同样针对函数反方向,由于图&文 梯度下降法是小于零的,因此梯度方向为负,负梯度方向为正,因此移动的位置是依次向右的

以下是二维梯度下降图

图&文 梯度下降法

 

由物理现象理解偏导和步长:

我们会发现x移动的长度越来越短,这是由于在步长图&文 梯度下降法相同的条件下,梯度越来越小图&文 梯度下降法。这就相当于越靠近最小值点,梯度的值越小,同样乘以步长图&文 梯度下降法,x的变化量就越小。如图可以看见grad1>grad3。

就相当于物体从斜面上的各点放置一个小球,在不同高度其力分量不同,因此单位时间(步长图&文 梯度下降法)其瞬时加速度不同(图&文 梯度下降法),因此物体瞬时移动位移是不同的。

图&文 梯度下降法

 

以上是关于梯度下降法原理的理解,后期如有新的理解,会在基础上增加内容。

 

 

本文是作者个人理解,希望讲述内容为大家提供帮助,如有理解或推导错误,忘批评指正。

 

参考资料:

高等数学同济版

Prof. Andrew Ng, Machine Learning, Stanford University

七月算法:http://www.julyedu.com/

该作者对梯度下降理解:https://blog.csdn.net/zhulf0804/article/details/52250220

相关文章:

猜你喜欢
  • 2021-09-16
  • 2022-12-23
  • 2021-09-05
  • 2021-07-24
  • 2022-12-23
  • 2021-11-27
相关资源
相似解决方案