梯度下降法

原文地址:http://www.letao.ai/?p=301

在机器学习、图像拼接、slam等算法中,最优化方法是非常重要的环节。这篇文章主要记录下梯度下降法。后面还会就牛顿法,拟牛顿法和高斯牛顿法等最优化算法等相关的文章。

梯度下降法或者最速下降法,是求解无约束最有问题的一种最常用方法。它是迭代算法,每部都需要求解目标函数的梯度。

函数是上的函数,它具有一阶连续偏导数。梯度下降法要求解的无约束最优化问题是:

梯度下降法是一种迭代算法,选取合适的初值,然后沿着梯度下降方向,不断迭代更新的值,直到收敛,得到的极小值。

由于具有一阶连续可导,在进行第次迭代值为,则将在处进行一阶泰勒多项式展开:

,即为在的梯度(导数)。

则在第次的迭代值为:.

其中,是更新方向,是梯度的负方向,是步长,深度学习里面称为学习率。

梯度下降法的具体步骤:

(1)初始化;

(2)对于第次迭代,计算梯度,若,则停止迭代,;否则,进入第(3)步;

(3), ;若,或者,停止迭代,.否则,重复第(2)步。

当为凸函数,梯度下降法得到全局最优解。否则,得到的是个极小值。

你可能感兴趣的:(最优化方法)