[笔记]梯度下降法

详解机器学习中的梯度消失、爆炸原因及其解决方法

导数、方向导数和梯度

要了解梯度下降算法是什么首要知道梯度是什么,导数和方向导数又是了解梯度的前提。

导数

导数反映的是函数y=f(x)在某一点处沿x轴正方向的变化率,如果f’(x)>0,说明f(x)的函数值在x点沿x轴正方向是趋于增加的;如果f’(x)<0,说明f(x)的函数值在x点沿x轴正方向是趋于减少的。

方向导数

方向导数是某一点在某一趋近方向上的导数值,即导数或偏导数是函数在x轴正方向的变化率,而方向导数是函数在其他特定方向上的变化率。

梯度

梯度的提出只为回答一个问题: 函数在变量空间的某一点处,沿着哪一个方向有最大的变化率?
函数在某一点的梯度是这样一个向量,它的方向与取得最大方向导数的方向一致,而它的模为方向导数的最大值。
也就是说梯度即函数在某一点最大的方向导数,函数沿梯度方向函数有最大的变化率。

知道了函数沿梯度方向有最大的变化率,那么在机器学习中我们为了最小化损失,在优化目标函数的时候就可以沿着负梯度方向去减小函数值,以此达到我们的优化目标,这就是梯度下降算法。

梯度下降算法

梯度下降算法(Gradient Descent)是通过沿着目标函数J(θ)参数θ∈ℜ的梯度相反方向−∇θJ(θ)来不断更新模型参数来到达目标函数的极小值点(收敛),更新步长为η(这个步长又称为学习率)。
更新参数的公式如下:
∇θJ(θ)为参数的梯度

作者:zxfhahaha
来源:CSDN
原文:https://blog.csdn.net/zxfhahaha/article/details/81385130
版权声明:本文为博主原创文章,转载请附上博文链接!

猜你喜欢

转载自blog.csdn.net/deardeerluluu/article/details/88822892