松弛与近似
一般情况下,非线性优化的最简单目标是找到一个可微函数的局部最小。要保证最小化过程的收敛,需要遵循一些特别的原则。
大部分的非线性优化的方法基于松弛的思想,如果序列 { α k } k = 0 ∞ \{\alpha_{k}\}^{\infty}_{k=0} {
αk}k=0∞中, α k + 1 ≤ α k , ∀ k ≥ 0. \alpha_{k+1} \leq \alpha_{k}, \forall{k} \geq 0. αk+1≤αk,∀k≥0.则改序列称为一个松弛序列。
因此,对于一个简单的无约束最小化问题 m i n x ∈ R n f ( x ) min_{x\in \mathbb{R^n}}f(x) minx∈Rnf(x),其中函数 f ( x ) f(x) f(x)是一个光滑函数,为了求解,产生一个松弛序列 { f ( x k ) } k = 0 ∞ \{f(x_k)\}^{\infty}_{k=0} {
f(xk)}k=0∞,其中 f ( x k + 1 ) ≤ f ( x k ) , k = 0 , 1 , … f(x_{k+1}) \leq f(x_k),k=0,1,\dots f(xk+1)≤f(xk),k=0,1,…。函数 f ( x ) f(x) f(x)在 R n \mathbb{R}^n Rn上是有界单调下降的,因此是收敛的。
在非线性优化中,通常是使用基于该函数的导数来使用局部的一阶和二阶逼近。
1. 一阶近似
首先另函数 f ( x ) f(x) f(x)在 x = x ~ x=\widetilde{x} x=x
处是可微的,那么根据泰勒展开公式得到 f ( y ) = f ( x ~ ) + ⟨ ▽ f ( x ~ ) , y − x ~ ⟩ + o ( ∥ y − x ~ ∥ 2 ) f(y)=f(\widetilde{x})+\langle \bigtriangledown f(\widetilde{x}),y-\widetilde{x}\rangle + o(\|y-\widetilde{x}\|_{2}) f(y)=f(x
)+⟨▽f(x
),y−x
⟩+o(∥y−x
∥2)。其中最后的余项 o ( r ) o(r) o(r)是一个 r ≥ 0 r \geq 0 r≥0的函数,且满足 l i m r → 0 ( 1 r o ( r ) ) = 0 lim_{r\rightarrow0}(\frac{1}{r}o(r))=0 limr→0(r1o(r))=0。公式中的 ⟨ ⟩ \langle \rangle ⟨⟩符号内部两个项相乘的符号。
对于 n n n维空间上的函数,设在点 y i = x ~ + ϵ e i y_i=\widetilde{x}+\epsilon e_i yi=x
+ϵei,其中 e i e_i ei是在 R n \mathbb{R}^n Rn上的第 i i i个坐标向量,取极限 ϵ → 0 \epsilon \rightarrow{0} ϵ→0,梯度的表达式为 ▽ f ( x ) = ( ∂ f ( x ) ∂ x ( 1 ) , … , ∂ f ( x ) ∂ x ( n ) ) T \bigtriangledown f(x)=(\frac{\partial f(x)}{\partial x^{(1)}},\dots, \frac{\partial f(x)}{\partial x^{(n)}})^T ▽f(x)=(∂x(1)∂f(x),…,∂x(n)∂f(x))T。设函数的层集(level set
)记为 L f ( α ) = { x ∈ R n ∣ f ( x ) ≤ α } \mathfrak{L}_f(\alpha)=\{x\in \mathbb{R}^n| f(x) \leq \alpha\} Lf(α)={
x∈Rn∣f(x)≤α},记在 x ~ \widetilde{x} x
上与层集 L f ( f ( x ~ ) ) \mathfrak{L}_{f}(f(\widetilde{x})) Lf(f(x
))相切方向的集合为 S f ( x ~ ) = { s ∈ R n ∣ s = l i m y k → x ~ , f ( y k ) = f ( x ~ ) y k − x ~ ∥ y k − x ~ ∥ } S_f(\widetilde{x})=\{s\in \mathbb{R}^n | s=lim_{y_k \rightarrow \widetilde{x}, f(y_k)=f(\widetilde{x})}\frac{y_k-\widetilde{x}}{\|y_k-\widetilde{x}\|}\} Sf