数值优化之无约束优化
注:之前开组会的时候制作的,分享一手
1.无约束最优化方法的基本结构
- 问题描述
- 符号说明
- 最优性条件
-
一阶必要条件:
-
二阶必要条件:
- 二阶充分条件:
- 关于二阶充分条件的例子:
- 图形、等高线
所谓的等高线,就是函数在其上恒取常数值的曲线,即
f
(
x
)
=
c
f(x) = c
f(x)=c。
c
c
c取不同的值,在
O
x
1
x
2
Ox_{1}x_{2}
Ox1x2平面上可以得到一族曲线。
- 方法的基本结构
总结:基本要素主要有两个:其一是下降的方向;其二就是步长(各种算法的区别主要在于这两个基本要素的不同)
- 终止准则
- 收敛性与收敛速度
收敛速度图示
一般认为介于二次和线性收敛之间就可以接受
- 搜索步长
所谓的精确线搜索,指在迭代点
x
k
x_{k}
xk,当迭代方向
d
k
d_{k}
dk已知时,使
f
(
x
)
f(x)
f(x)沿
d
k
d_{k}
dk关于步长
α
\alpha
α取极小值,即
非精确线搜索:
- Armijo准则:
求解过程如下:给一初值 α \alpha α,一直二分直到满足Armijo准则
while f(x_k+alpha*d_k)>f(x_k)+rou*g_k'*d_k*akpha
alpha = alpha/2
-
Wolfe准则
-
强Wolfe准则
2.无约束优化方法
2.1 最速下降法
根据 f ( x k + α d ) f(x_{k}+\alpha d) f(xk+αd)在 x k x_{k} xk点的 T a y l o r Taylor Taylor展式
最速下降法的算法步骤: 下降方向为负梯度方向,搜索方法为精确线搜索
2.2 基本Newton方法
2.2.1 Newton方程
牛顿方程图示:
2.2.2 基本Newton方法迭代步骤
下降方向为 d k = − G k − 1 g k d_{k}=-G_{k}^{-1}g_{k} dk=−Gk−1gk ,步长为 1 1 1
2.2.3 基本Newton方法优缺点
优点:
- 方法以二阶收敛速度收敛
缺点:
- G k G_{k} Gk会出现不正定或奇异的情形,当 G k G_{k} Gk为负定时,满足牛顿方程的 d k d_{k} dk实际上是上升方向,并非是下降方向
- 每一步迭代都需要计算 H e s s e Hesse Hesse矩阵,即计算 n ( n + 1 ) / 2 n(n+1)/2 n(n+1)/2个二阶偏导数
- 每步迭代需要求解一个线性方程组,计算量为 O ( n 3 ) O(n^{3}) O(n3)
2.3 混合方法
- G k G_k Gk奇异,下降方向使用负梯度方向 − g k -g_{k} −gk替代(步3)
- g k g_{k} gk与 d k d_{k} dk几乎正交时,下降方向使用负梯度方向 − g k -g_{k} −gk替代(步5)
- 在 G k G_{k} Gk 负定,但 G k − 1 G_{k}^{-1} Gk−1存在时,取 d k = G k − 1 g k d_{k} = G_{k}^{-1}g_{k} dk=Gk−1gk(步4)
2.4 拟牛顿方法
2.4.1 拟牛顿条件
假定当前迭代点是
x
k
+
1
x_{k+1}
xk+1,若我们用已经得到的
x
k
,
x
k
+
1
x_{k},x_{k+1}
xk,xk+1及其一阶导数信息
g
k
g_{k}
gk和
g
k
+
1
g_{k+1}
gk+1,构造一个正定矩阵
B
k
+
1
B_{k+1}
Bk+1作为hesse矩阵
G
k
+
1
G_{k+1}
Gk+1的近似,使其满足牛顿方程。
B
k
+
1
d
=
−
g
k
+
1
B_{k+1}d=-g_{k+1}
Bk+1d=−gk+1
然而这样做依旧需要求一个线性方程组,进一步的改进为用相同的信息构造一个
H
k
H_{k}
Hk作为
G
k
+
1
−
1
G_{k+1}^{-1}
Gk+1−1的近似,这样的下降方向即为:
d
k
=
−
H
k
+
1
g
k
+
1
d_{k}=-H_{k+1}g_{k+1}
dk=−Hk+1gk+1
在
x
k
+
1
x_{k+1}
xk+1处做泰勒展开:
2.4.2 拟牛顿方法迭代步骤
2.4.3 常见的拟牛顿方法
- DFP
- BFGS
- Broyden族公式
-
BFGS方法和DFP方法的性质
-
定理3.9 :设 H k H_{k} Hk对称正定,且 s k T y k > 0 s_{k}^{T}y_{k}>0 skTyk>0,则由DFP方法或者BFGS方法构造出 H k + 1 H_{k+1} Hk+1,且 H k + 1 H_{k+1} Hk+1对称正定
-
定理3.10: 对于使用精确线搜索或者非精确线搜索(强Wolfe/Wolfe准则)的DFP方法或者BFGS方法,有
s k T y k > 0 s_{k}^{T}y_{k}>0 skTyk>0 -
总结 :强Wolfe—>Wolfe准则—> s k T y k > 0 s_{k}^{T}y_{k}>0 skTyk>0—> H k + 1 H_{k+1} Hk+1正定—>搜索方向是下降方向
-
2.4.4 拟牛顿方法的优点
- 只需要 f ( x ) f(x) f(x)的一阶信息
- 方法具有较快的收敛速度
2.5 共轭梯度法
共轭梯度法是一种迭代算法,不需要存储完整的 Hessian 矩阵,特别适用于处理大型线性方程组和二次型优化问题。
共轭梯度方法的迭代方向为:
d
k
=
−
g
k
+
β
k
−
1
d
k
−
1
d_{k} = -g_{k}+\beta_{k-1}d_{k-1}
dk=−gk+βk−1dk−1
其中
β
k
−
1
\beta_{k-1}
βk−1有多种构造方法,例如共轭下降(Conjugate Descent,CD)公式
β
k
−
1
=
g
k
T
g
k
d
k
−
1
T
g
k
−
1
\beta_{k-1} = \frac{g_{k}^{T}g_{k}}{d_{k-1}^{T}g_{k-1}}
βk−1=dk−1Tgk−1gkTgk
注:当使用强Wolfe线搜索准则并且
ρ
<
1
\rho<1
ρ<1时,共轭梯度下降方法得到的方向为下降方向