梯度下降法——得到的结果可能是局部最优值,如果凸函数则可保证梯度下降得到的是全局最优值

摘自: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)是凸函数,则可以保证梯度下降得到的是全局最优值。

 

当然,可能梯度下降的最终点并非是全局最小点,可能是一个局部最小点,可能是下面的情况:

image

 

可以进一步参考实例:https://ctmakro.github.io/site/on_learning/gd.html

posted @ 2017-06-14 10:56  bonelee  阅读(8814)  评论(0编辑  收藏  举报