摘自:http://www.wengweitao.com/ti-du-xia-jiang-fa.html
梯度下降法(Gradient Descent)是一种常见的最优化算法,用于求解函数的最大值或者最小值。
梯度下降
在高数中,我们求解一个函数的最小值时,最常用的方法就是求出它的导数为0的那个点,进而判断这个点是否能够取最小值。但是,在实际很多情况,我们很难求解出使函数的导数为0的方程,这个时候就可以使用梯度下降。
举一个具体的例子,假如你在一座山的山顶准备下山,往哪一个方向走下山最快呢?下山最快的方向是最陡的那个方向,每一步你都应该朝最陡的那个方向走,直到到达山底,学习速率就表示你每一步迈的步伐有多大。
为什么从函数的梯度方向下降可以得到函数的最小值
梯度下降法,基于这样的观察:如果实值函数F(x)在点a 处可微且有定义,那么函数 F(x)在a点沿着梯度相反的方向−▽F(a)下降最快。
见下图,如果顺利的话序列最终可以收敛到期望的极值。
注意:梯度下降得到的结果可能是局部最优值。如果F(x)F(x)是凸函数,则可以保证梯度下降得到的是全局最优值。
当然,可能梯度下降的最终点并非是全局最小点,可能是一个局部最小点,可能是下面的情况:
可以进一步参考实例:https://ctmakro.github.io/site/on_learning/gd.html