何为梯度?
一般解释:
f(x)在x0的梯度:就是f(x)变化最快的方向
举个例子,f()是一座山,站在半山腰,
往x方向走1米,高度上升0.4米,也就是说x方向上的偏导是 0.4
往y方向走1米,高度上升0.3米,也就是说y方向上的偏导是 0.3
这样梯度方向就是 (0.4 , 0.3),也就是往这个方向走1米,所上升的高度最高。
(1*0.4/0.5)*0.4 +(1*0.3/0.5)*0.3 = 1*(0.3^2+0.4^2) = 0.5
这里使用了勾股定理的前提是走的距离足够小,因为走的距离足够小的时候,连续的曲面就看做一个平面,当然可以使用勾股定理。这里说距离1米是为了简便。
往x方向走1米,高度上升0.4米,也就是说x方向上的偏导是 0.4。
往y方向走1米,高度下降0.3米,也就是说y方向上的偏导是 -0.3 ,也就是说沿着 -y轴方向是上升的。
这样梯度方向就是 (0.4 , -0.3),想象一下,是位于坐标轴的第四象限,这时沿着x和-y轴的分量都会上升。
和上面的情况一样,距离仍然是 0.5
所以,梯度不仅仅是f(x)在某一点变化最快的方向,而且是上升最快的方向,就如同室内温度的例子中是温度上升最快的方向。
梯度下降法:
由上面的讨论可以知道,梯度是上升最快的方向,那么如果我想下山,下降最快的方向呢,当然是逆着梯度了(将一点附近的曲面近似为平面),这就是梯度下降法,由于是逆着梯度,下降最快,又叫最速下降法。
迭代公式:
r是步长。
牛顿法:
(部分借鉴了:http://blog.youkuaiyun.com/luoleicn/article/details/6527049)
解方程问题:
牛顿法最初用于求解方程根 f(x) = 0
首先得到一个初始解 x0,
一阶展开:f(x) ≈ f(x0)+(x-x0)f'(x0)
令 f(x0)+(x-x0)f'(x0) = 0
求解得到x,相比于x0,f(x)<f(x0) (具体证明可以查看数值分析方面的书)
最优化问题中,牛顿法首先则是将问题转化为求 f‘(x) = 0 这个方程的根。
首先得到一个初始解 x0,
一阶展开:f ’(x) ≈ f ‘(x0)+(x-x0)f '’(x0)
令 f ‘(x0)+(x-x0)f '’(x0) = 0
求解得到x,相比于x0,f ‘(x)<f ’(x0)
也可以用上面借鉴的博文(也是wiki)中所说的那种方法,把 delta x 作为一个变量,让 f(x)对其偏导为0 什么的, 反正我记不住。
最小化f(x)之高维情况: