目录

一、概念

二、梯度下降的直观解释

三、梯度下降法的原理

四、算法描述

五、梯度下降法种类


一、概念

梯度下降法(Gradient Descent)又称最速下降法(Steepest descent)是一种常用的一阶优化方法,是一种用于求解无约束最优化问题的最常用的方法。它选取适当的初始值最优化方法:梯度下降法,并不断向负梯度方向迭代更新最优化方法:梯度下降法,实现目标函数的极小化,直到收敛。

二、梯度下降的直观解释

以下山法作为类别,我们想要从山的某个位置下山,但我们并不知道山脚的位置,只能走一步算一步。从当前位置出发,往当前位置的负梯度方向走一步,即往最陡峭的方向往下走一步。然后继续求解当前位置的梯度,往负梯度方向走一步。不停走下去,一直走到我们认为已经到了山脚的位置。当然,也有可能,我们没办法到山脚,而是到了一个小山丘底部。

最优化方法:梯度下降法

当目标函数是凸函数的时候,梯度下降法可以确保找到全局最优解;否则不一定能找到全局最优解,可能会陷入局部最优解。

三、梯度下降法的原理

考虑最优化问题最优化方法:梯度下降法,其中最优化方法:梯度下降法具有一阶连续偏导数。若第最优化方法:梯度下降法次迭代值为最优化方法:梯度下降法,对最优化方法:梯度下降法最优化方法:梯度下降法处进行一阶泰勒展开:

                最优化方法:梯度下降法             (1)

最优化方法:梯度下降法

凸函数最优化方法:梯度下降法的某一小段最优化方法:梯度下降法由上图黑色曲线表示,可以利用线性近似的思想求出最优化方法:梯度下降法的值,如上图红色直线。该直线的斜率等于最优化方法:梯度下降法最优化方法:梯度下降法处的导数。则根据直线方程,很容易得到最优化方法:梯度下降法的近似表达式为:

               最优化方法:梯度下降法

这就是一阶泰勒展开式的推导过程,主要利用的数学思想就是曲线函数的线性拟合近似

其中,最优化方法:梯度下降法是微小矢量,大小是步长最优化方法:梯度下降法,类比于下山过程中的一步。最优化方法:梯度下降法是标量,最优化方法:梯度下降法的单位向量用最优化方法:梯度下降法表示,则最优化方法:梯度下降法可以表示为:

               最优化方法:梯度下降法           (2)

此时,(1)可以化为:

               最优化方法:梯度下降法           (3)

我们希望每次迭代,都能使最优化方法:梯度下降法变小,也就是说希望有:

               最优化方法:梯度下降法           (4)

由于最优化方法:梯度下降法是标量,且一般设定为正值,因此最优化方法:梯度下降法可以忽略。由于最优化方法:梯度下降法最优化方法:梯度下降法都是向量,根据向量的乘积公式可以将(4)转换为:

               最优化方法:梯度下降法           (5)

最优化方法:梯度下降法最优化方法:梯度下降法反向时,最优化方法:梯度下降法,可以使得最优化方法:梯度下降法最小,且为负。即最优化方法:梯度下降法的方向是使局部的目标函数下降最快的方向。得到最优化方法:梯度下降法为:以上解释了为什么局部下降最快的方向就是梯度的负方向?

               最优化方法:梯度下降法          (6)

将(6)中的最优解最优化方法:梯度下降法代入(2)中,得到最优化方法:梯度下降法的更新表达式为:

               最优化方法:梯度下降法          (7)

由于最优化方法:梯度下降法是标量,可以吸收入最优化方法:梯度下降法里面,梯度下降算法最优化方法:梯度下降法的更新表达式就变成了:

               最优化方法:梯度下降法          (8)

以上就是梯度下降算法公式的数学推导过程。

四、算法描述

输入:目标函数最优化方法:梯度下降法、梯度函数最优化方法:梯度下降法,计算精度最优化方法:梯度下降法

输出:最优化方法:梯度下降法的极小点最优化方法:梯度下降法

(1)初始化相关参数。取初始值最优化方法:梯度下降法,置迭代次数最优化方法:梯度下降法.

(2)计算当前位置的目标函数最优化方法:梯度下降法

(3)计算当前位置的目标函数的梯度最优化方法:梯度下降法如果最优化方法:梯度下降法,则迭代结束,最优化方法:梯度下降法。否则,继续往下走。

(4)更新最优化方法:梯度下降法最优化方法:梯度下降法,如果最优化方法:梯度下降法或者最优化方法:梯度下降法,则停止迭代,令最优化方法:梯度下降法。否则,将迭代次数置为最优化方法:梯度下降法,转到(3)继续迭代。

在机器学习中,目标函数最优化方法:梯度下降法实际上就是代价函数最优化方法:梯度下降法

五、梯度下降法种类

1. 批量梯度下降法(Batch Gradient Descent,BGD)

批量梯度下降法是梯度下降法最常用的形式。每次更新参数要使用所有的样本进行计算

假设目标函数为:最优化方法:梯度下降法

求偏导得:最优化方法:梯度下降法

批量梯度下降法的更新公式为:最优化方法:梯度下降法

2. 随机梯度下降法(Stochastic Gradient Descent,SGD)

随机梯度下降法与批量梯度下降法类似。每次更新参数只使用随机的一个样本进行计算。

随机梯度下降法的更新公式为:最优化方法:梯度下降法

批量梯度下降法和随机梯度下降法的区别?

(1)批量梯度下降法每次使用所有数据来更新参数,训练速度慢;

(2)随机梯度下降法每次只使用一个数据来更新参数,训练速度快;但迭代方向变化大,不一定每次都朝着收敛的方向,不能很快地收敛到局部最优解。

3. 小批量梯度下降法(Mini-Batch Gradient Descent,MBGD)

小批量梯度下降法是批量梯度下降法和随机梯度下降法的一个折中。每次更新参数选择一小部分数据计算

选择最优化方法:梯度下降法个数据,最优化方法:梯度下降法.

小批量梯度下降法的更新公式为:最优化方法:梯度下降法

 

参考文献:

1.《 统计学习方法》附录A梯度下降法-张航 

2. 为什么局部下降最快的方向就是梯度的负方向?

3. 梯度下降(Gradient Descent)小结

 

相关文章: