令 X = ( x 1 , x 2 , ⋯ , x N ) T ∈ R N X=(x_1,x_2,\cdots,x_N)^T \in {\bf R}^N X=(x1,x2,⋯,xN)T∈RN,目标函数 f : R N → R f:{\bf R}^N \rightarrow {\bf R} f:RN→R, f f f 为凸函数,且二阶连续可微,我们希望求解如下的无约束极小化问题:
min X f ( X ) \min_X f(X) Xminf(X)
1 牛顿法
1.1 N = 1 N=1 N=1 时的迭代公式
为了简单起见,这里先考虑 N = 1 N=1 N=1 的情形,此时目标函数 f ( X ) f(X) f(X) 变为 f ( x ) f(x) f(x)。
牛顿法的基本思想是: 在现有极小点估计值得附近对 f ( x ) f(x) f(x) 做二阶泰勒展开,进而找到极小点的下一个估计值。假设 x k x_k xk 是当前的极小点估计值,则:
φ ( x ) = f ( x k ) + f ′ ( x k ) ( x − x k ) + 1 2 f ′ ′ ( x k ) ( x − x k ) 2 \varphi (x) = f(x_k)+f'(x_k)(x-x_k)+\frac{1}{2}f''(x_k)(x-x_k)^2 φ(x)=f(xk)+f′(xk)(x−xk)+21f′′(xk)(x−xk)2
表示 f ( x ) f(x) f(x) 在 x k x_k xk 附近的二阶泰勒展开式(其中略去了关于 x − x k x-x_k x−xk 的高阶项)。因为我们的目标是求最值,由极值的必要条件可知, φ ( x ) \varphi (x) φ(x) 应该满足:
φ ′ ( x ) = f ′ ( x k ) + f ′ ′ ( x k ) ( x − x k ) = 0 \varphi '(x) = f'(x_k)+f''(x_k)(x-x_k)=0 φ′(x)=f′(xk)+f′′(xk)(x−xk)=0
从而有:
x = x k − f ′ ( x k ) f ′ ′ ( x k ) x=x_k - \frac{f'(x_k)}{f''(x_k)} x=xk−f′′(xk)f′(xk)
于是,若给定初始值 x 0 x_0 x0,则可以按照下面的迭代公式
x k + 1 = x k − f ′ ( x k ) f ′ ′ ( x k ) , k = 0 , 1 , ⋯ x_{k+1}=x_k - \frac{f'(x_k)}{f''(x_k)}, \ k=0,1,\cdots xk+1=xk−f′′(xk)f′(xk), k=0,1,⋯
产生序列 { x k } \{x_k\} { xk} 来逼近 f ( x ) f(x) f(x) 的极小值点。
在一定的条件下, { x k } \{x_k\} { xk} 可以收敛到 f ( x ) f(x) f(x) 的极小值点。
1.2 N > 1 N>1 N>1 时的迭代公式
当 N > 1 N>1 N>1 时,二阶泰勒展示式写作:
φ ( X ) = f ( X k ) + ∇ f ( X k ) ⋅ ( X − X k ) + 1 2 ⋅ ( X − X k ) T ⋅ ∇ 2 f ( X k ) ⋅ ( X − X k ) \varphi (X) = f(X_k)+\nabla f(X_k)\cdot (X-X_k)+\frac{1}{2} \cdot (X-X_k)^T \cdot \nabla ^2 f(X_k) \cdot (X-X_k) φ(X)=f(Xk)+∇f(Xk)⋅(X−Xk)+21⋅(X−Xk)T⋅∇2f(Xk)⋅(X−Xk)
其中, ∇ f \nabla f ∇f 为 f f f 的梯度向量, ∇ 2 f