第十一章条件随机场.11.2 拟牛顿法

文章目录

  • 牛顿法
  • 拟牛顿法
  • 小结

本课程来自深度之眼,部分截图来自课程视频以及李航老师的《统计学习方法》第二版。
公式输入请参考: 在线Latex公式

牛顿法

这个方法用得到了二阶导数,它比梯度下降法(一阶导)收敛速度快。
它的思想是在 x ( k ) x^{(k)} x(k)处用泰勒把 f ( x ) f(x) f(x)进行二阶展开,也就是用一个二阶函数去逼近 f ( x ) f(x) f(x),然后求使这个二阶函数的导数为0的点( ▽ f ( x ) = 0 \bigtriangledown f(x)=0 f(x)=0),然后用 ▽ f ( x ) \bigtriangledown f(x) f(x)一步步迭代逼近 f ( x ) f(x) f(x)的最小。

对于一个无约束最优化问题 min ⁡ x ∈ R n f ( x ) \underset{x\in \R^n}{\min}f(x) xRnminf(x)
假设 f ( x ) f(x) f(x)具有二阶连续偏导数,通过迭代方法寻找最优点 x x x,即 x ( 1 ) → x ( 2 ) → ⋯ → x ( k ) → x ( k + 1 ) → ⋯ x^{(1)}\rightarrow x^{(2)}\rightarrow\cdots \rightarrow x^{(k)}\rightarrow x^{(k+1)}\rightarrow\cdots x(1)x(2)x(k)x(k+1)
x ( k ) x^{(k)} x(k)处对 f ( x ) f(x) f(x)进行二阶泰勒展开:
f ( x ) = f ( x ( k ) ) + ▽ f ( x ( k ) ) T ( x − x ( k ) ) + 1 2 ( x − x ( k ) ) T H ( x ( k ) ) ( x − x ( k ) ) f(x)=f(x^{(k)})+\bigtriangledown f(x^{(k)})^T(x-x^{(k)})+\cfrac{1}{2}(x-x^{(k)})^TH(x^{(k)})(x-x^{(k)}) f(x)=f(x(k))+f(x(k))T(xx(k))+21(xx(k))TH(x(k))(xx(k))
这里 H ( x ) = [ ∂ 2 f ∂ x i ∂ x j ] n × n H(x)=\left[\cfrac{\partial^2f}{\partial x_i\partial x_j}\right]_{n\times n} H(x)=[xixj2f]n×n f ( x ) f(x) f(x)的海森矩阵(其实就是二阶导数),如果用 g g g表示 f f f一阶导数,并对上面的式子两边求导,左边就是 ▽ f ( x ) \bigtriangledown f(x) f(x),如果有极值,那么 ▽ f ( x ) = 0 \bigtriangledown f(x)=0 f(x)=0,写成:
g k + H k ( x − x ( k ) ) = 0 g_k+H_k(x-x^{(k)})=0 gk+Hk(xx(k))=0
这里 H k = H ( x ( k ) ) H_k=H(x^{(k)}) Hk=H(x(k))
具体的从 x ( k + 1 ) x^{(k+1)} x(k+1)这个点开始求极值,则有:
▽ f ( x ( k + 1 ) ) = 0 \bigtriangledown f(x^{(k+1)})=0 f(x(k+1))=0
根据上上式:
g k + H k ( x ( k + 1 ) − x ( k ) ) = 0 g_k+H_k(x^{(k+1)}-x^{(k)})=0 gk+Hk(x(k+1)x(k))=0
然后求解,先移项
H k ( x ( k + 1 ) − x ( k ) ) = − g k H_k(x^{(k+1)}-x^{(k)})=-g_k Hk(x(k+1)x(k))=gk
这里是 H H H是矩阵,所以两边同时乘以它的逆矩阵:
x ( k + 1 ) − x ( k ) = − g k H k − 1 x^{(k+1)}-x^{(k)}=-g_kH_k^{-1} x(k+1)x(k)=gkHk1
移项:
x ( k + 1 ) = x ( k ) − g k H k − 1 x^{(k+1)}=x^{(k)}-g_kH_k^{-1} x(k+1)=x(k)gkHk1
这里要求解 H k − 1 H_k^{-1} Hk1,比较麻烦,因此出现了下面这个方法。

拟牛顿法

用上面的条件可以有以下等式:
▽ f ( x ( k + 1 ) ) = 0 = g k + 1 = g k + H k ( x ( k + 1 ) − x ( k ) ) \bigtriangledown f(x^{(k+1)})=0=g_{k+1}=g_k+H_k(x^{(k+1)}-x^{(k)}) f(x(k+1))=0=gk+1=gk+Hk(x(k+1)x(k))
g k + 1 − g k = H k ( x ( k + 1 ) − x ( k ) ) g_{k+1}-g_k=H_k(x^{(k+1)}-x^{(k)}) gk+1gk=Hk(x(k+1)x(k))
y k = g k + 1 − g k , δ k = x ( k + 1 ) − x ( k ) y_k=g_{k+1}-g_k,\delta_k=x^{(k+1)}-x^{(k)} yk=gk+1gk,δk=x(k+1)x(k),则有:
y k = H k δ k y_k=H_k\delta_k yk=Hkδk
δ k = H k − 1 y k \delta_k=H_k^{-1}y_k δk=Hk1yk
以上就是拟牛顿条件。
接下来就是有两种方法求 G G G(用来近似 H k − 1 H_k^{-1} Hk1):DFP和BFGS
不展开。

小结

1.拟牛顿法是求解无约束最优化问题的常用方法。
2.拟牛顿法有收敛速度快的优点。
3.牛顿法是迭代法,每一步需要求解目标函数的海塞矩阵,计算比较复杂。拟牛顿法通过正定矩阵近似海塞矩阵的逆矩阵或海塞矩阵,简化了这一计算过程。

你可能感兴趣的:(统计学习方法)