导数的概念

导数的公式如下士所示

梯度下降法 推导_梯度下降法


对点梯度下降法 推导_梯度下降法 推导_02的导数反映了函数在点 处的瞬时变化速率。在多维函数中,梯度是一个向量组合,反映了多维图形中变化速率最快的方向。

凸函数的概念

如果f(x)在[a,b]上连续,在(a,b)上有二阶导数

梯度下降法 推导_梯度下降法 推导_03

,f(x)是[a,b]上的凹函数

梯度下降法 推导_梯度下降法_04

,f(x)是[a,b]上的凸函数

如下图所示,凹函数f(x)的一阶导数递增,凸函数f(x)的一阶导数递减。

梯度下降法 推导_梯度下降法_05


如果函数是凸的,那么梯度下降法不会陷入局部最优,可以找到全局最优解,梯度下降会收敛到最小值(因为只有一个极小值,它就是最小值)。

梯度下降法原理

梯度下降法求解的目标函数如下式所示

梯度下降法 推导_迭代_06


参数沿着负梯度方向更新,公式为

梯度下降法 推导_梯度下降_07


梯度下降法 推导_梯度下降法 推导_08为学习率,如果 梯度下降法 推导_梯度下降法 推导_08

由于梯度下降法是按照梯度方向来收敛到极值的,如果输入样本各个维数取值范围不同,则这些参数的构成的等高线不同的方向胖瘦不同,这样会导致参数的极值收敛速度极慢。因此需要对特征进行规范化处理。这也是我们在数据预处理阶段对数据进行规范化处理的原因。

两种梯度下降法

下面对比一下常用的两种梯度下降法,批次梯度下降法(Batch Gradient Descent)和随机梯度下降法(Stochastic Gradient Descent)。
SGD:每个样本迭代一次,进行参数更新,效率高,适用于在线学习了,但是结果并非完全收敛,而是在结果处波动,容易受噪声数据的影响
BGD:每次迭代都要便利所有样本

当求解的问题不存在解析解时,需要用迭代的方式求解,迭代法每一步update未知量,逐渐逼近解,梯度下降法是一种迭代法