以下内容主要抄自抄袁亚湘的《最优化理论与方法》的 1.4 无约束问题的最优性条件
1.4 无约束问题的最优性条件
本节研究无约束问题:
minf(x),x∈Rn(1.4.1)
\min f(x),\quad x\in R^n\qquad(1.4.1)
minf(x),x∈Rn(1.4.1)
的最优性条件,它包括一阶条件和二阶条件。
极小点的类型有局部极小点
和总体最小点
两种。
定义 1.4.1
如果存在 δ>0\delta\gt 0δ>0,使得对所有满足 x∈Rnx\in R^nx∈Rn 和 ∥x−x∗∥<δ\Vert x-x^*\Vert\lt\delta∥x−x∗∥<δ 的 xxx,f(x)≥f(x∗)f(x)\ge f(x^*)f(x)≥f(x∗),则称 x∗x^*x∗ 为 f(x)f(x)f(x) 的局部
极小点。如果对所有 x∈Rn,x≠x∗x\in R^n,x\neq x^*x∈Rn,x̸=x∗ 和 ∥x−x∗∥<δ\Vert x-x^*\Vert\lt \delta∥x−x∗∥<δ 的 x,f(x)>f(x∗)x,f(x)\gt f(x^*)x,f(x)>f(x∗) 则称 x∗x^*x∗ 为 f(x)f(x)f(x) 的严格局部
最小点。
定义 1.4.2
如果对所有 x∈Rn,f(x)≥f(x∗)x\in R^n, f(x)\ge f(x^*)x∈Rn,f(x)≥f(x∗) ,则称 x∗x^*x∗ 为 f(x)f(x)f(x) 的总体(全局)
极小点。如果对所有 x∈Rn,x≠x∗,f(x)>f(x∗)x\in R^n,x\neq x^*,f(x)\gt f(x^*)x∈Rn,x̸=x∗,f(x)>f(x∗) 则称 x∗x^*x∗ 为 f(x)f(x)f(x) 的严格总体
最小点。
应该指出,实际上可行的只是求==一个局部(或严格局部)==极小点,而非总体极小点,因为一般来说,求总体极小点是一个相当困难的任务。在很多实际应用中,求局部极小点已能满足问题的要求(深度学习就是一个很好的例子)。仅当问题具有某种凸性时,局部极小点才是总体最小点。
设 fff 的一阶导数和二阶导数存在,且分别是:
g(x)=∇f(x),G(x)=∇2f(x)
g(x)=\nabla f(x),\quad G(x) = \nabla^2 f(x)
g(x)=∇f(x),G(x)=∇2f(x)
则我们有
定理 1.4.3 (一阶必要条件)
设 f:D⊂Rn→R1f:D\subset R^n\to R^1f:D⊂Rn→R1 在开集 DDD 上连续可微,即 f∈C1f\in C^1f∈C1,若 x∗∈Dx^* \in Dx∗∈D 是 (1.4.1)的局部最小点,则
g(x∗)=0(1.4.2)
g(x^*)=0\qquad(1.4.2)
g(x∗)=0(1.4.2)
(证明部分省略)
定理 1.4.4 (二阶必要条件)
设 f:D⊂Rn→R1f:D\subset R^n\to R^1f:D⊂Rn→R1 在开集 DDD 上二阶连续可微,即 f∈C2f\in C^2f∈C2,若 x∗∈Dx^* \in Dx∗∈D 是 (1.4.1)的局部最小点,则
g(x∗)=0,G(x∗)≥0(1.4.2)
g(x^*)=0, \quad G(x^*)\ge0 \qquad(1.4.2)
g(x∗)=0,G(x∗)≥0(1.4.2)
(证明部分省略)
满足 g(x∗)=0g(x^*)=0g(x∗)=0 的点 x∗x^*x∗ 称为函数 fff 的平稳点或驻点。如果 g(x∗)=0g(x^*)=0g(x∗)=0 ,则 x∗x^*x∗ 可能是极小点,也可能是极大点,也可能不是极值点。既不是极小点,也不是极大点的平稳点叫做函数的鞍点。
下面我们讨论二阶充分性条件。
定理 1.4.5 (二阶充分性条件)
设 f:D⊂Rn→R1f:D\subset R^n \to R^1f:D⊂Rn→R1 在开集 DDD 上二阶连续可微,则 x∗∈Dx^*\in Dx∗∈D 是 fff 的一个严格局部极小点的充分条件是:
g(x∗)=0g(x^*)=0g(x∗)=0 和 G(x∗)G(x^*)G(x∗) 是正定矩阵 (1.4.4)
证明:
设(1.4.4)成立,由Taylor展开,对任意向量 ddd,有
f(x∗+εd)=f(x∗)+12ε2dTG(x∗+θεd)d
f(x^*+\varepsilon d) = f(x^*)+\frac 12\varepsilon^2d^TG(x^*+\theta \varepsilon d)d
f(x∗+εd)=f(x∗)+21ε2dTG(x∗+θεd)d
由于 G(x∗)G(x^*)G(x∗) 正定,f∈C2f\in C^2f∈C2,故可选择 ε\varepsilonε,使得 x∗+εd∈Nδ(x∗)x^*+\varepsilon d\in N_{\delta}(x^*)x∗+εd∈Nδ(x∗),从而 dTG(x∗+θεd)d>0d^TG(x^*+\theta \varepsilon d)d\gt 0dTG(x∗+θεd)d>0,这样
f(x∗+εd)>f(x∗)
f(x^*+\varepsilon d)\gt f(x^*)
f(x∗+εd)>f(x∗)
即 x∗x^*x∗ 是严格局部极小点。□\quad \square□
一般而言,目标函数的平稳点不一定是极小点
,但若目标函数是凸函数,则其平稳点就是极小点,且为总体极小点。
定理 1.4.6(凸充分性定理)
设 f:Rn→R1f: R^n \to R^1f:Rn→R1 是凸函数,且 f∈C1f\in C^1f∈C1。则 x∗x^*x∗ 是总体极小点的充分必要条件是 g(x∗)=0g(x^*)=0g(x∗)=0 。
1.5 最优化方法的结构
最优化方法通常采用迭代方法求它的最优解,其基本思想是:给定一个初始点 x0∈Rnx_0\in R^nx0∈Rn,按照某一迭代规则产生一个点列 {xk}\{ x_k\}{xk},使得:
- 当 {xk}\{ x_k\}{xk} 是有穷点列时,其最后一个点是最优化模型问题的最优解。
- 当 {xk}\{ x_k\}{xk} 是无穷点列时,它有极限点,且其极限点是最优化模型问题的最优解。
一个好的算法应具备的典型特征为:迭代点 xkx_kxk 能够稳定地接近局部极小点 x∗x^*x∗ 的邻域,然后迅速收敛于 x∗x^*x∗。当给定的某种收敛准则满足时,迭代终止。一般地,我们要证明迭代点列
{xk}\{x_k\}{xk} 的聚点(即子序列的极限点)为一局部极小点。
设 xkx_kxk 为第 kkk 次迭代点,dkd_kdk 为第 kkk 次搜索方向,αk\alpha_kαk 为第 kkk 次步长因子,则第 kkk 次迭代为:
xk+1=xk+αkdk(1.5.1)
x_{k+1}=x_k+\alpha_k d_k\qquad(1.5.1)
xk+1=xk+αkdk(1.5.1)
从这个迭代格式可以看出,不同的步长因子 αk\alpha_kαk和不同的搜索方向 dkd_kdk 构成了不同的方法。 在最优化方法中,搜索方向 dkd_kdk 是 fff 在 xkx_kxk 点处的下降方向
,即 dkd_kdk 满足:
∇f(xk)Tdk<0(1.5.2)
\nabla f(x_k)^T d_k\lt 0\qquad(1.5.2)
∇f(xk)Tdk<0(1.5.2)
或
f(xk+αkd)<f(xk)(1.5.3)
f(x_k+\alpha_k d)\lt f(x_k)\qquad(1.5.3)
f(xk+αkd)<f(xk)(1.5.3)
最优化方法的基本结构为:
给定初始点 x0x_0x0
- 确定搜索方向 dkd_kdk,即依照一定规则,构造 fff 在 xkx_kxk 点处的下降方向作为搜索方向;
- 确定步长因子 αk\alpha_kαk,使目标函数值有某种意义的下降。
- 令xk=xk+αkdk x_k=x_k+\alpha_k d_kxk=xk+αkdk若 xk+1x_{k+1}xk+1 满足某种终止条件,则停止迭代,得到近似最优解 xk+1x_{k+1}xk+1,否则,重复(1)上步骤。
收敛速度也是衡量最优化方法有效性的重要方面。设算法产生的迭代点列 {xk}\{ x_k\}{xk} 在某种范数意义下收敛,即:
limk→∞∥xk−x∗∥=0(1.5.4)
\lim_{k\to\infty} \Vert x_k-x^*\Vert=0\qquad(1.5.4)
k→∞lim∥xk−x∗∥=0(1.5.4)
若存在实数 α>0\alpha\gt 0α>0 及一个与迭代次数 kkk 无关的常数 q>0q\gt 0q>0,使得
limk→∞∥xk+1−x∗∥∥xk−x∗∥α=q(1.5.5)
\lim_{k\to\infty} \frac{\Vert x_{k+1}-x^*\Vert}{\Vert x_k-x^*\Vert^{\alpha}}=q \qquad(1.5.5)
k→∞lim∥xk−x∗∥α∥xk+1−x∗∥=q(1.5.5)
则称算法产生的迭代点列 {xk}\{x_k\}{xk} 具有 Q−αQ-\alphaQ−α 阶收敛速度。特别地:
- 当 α=1,q>0\alpha=1,q\gt 0α=1,q>0 时,迭代点列 {xk}\{x_k\}{xk} 叫做具有 Q−Q-Q−
线性收敛速度
; - 当 1<α<2,q>01\lt \alpha \lt 2,q\gt 01<α<2,q>0 或 α=1,q=0\alpha=1,q=0α=1,q=0 时,迭代点列 {xk}\{x_k\}{xk} 叫做具有 Q−Q-Q−
超线性收敛速度
; - 当 α=2\alpha=2α=2 时,迭代点列 {xk}\{x_k\}{xk} 叫做具有Q−Q-Q−
二阶收敛速度
;
一般认为,具有超线性收敛速度和二阶收敛速度的方法是比较快速的。不过,还应该意识到,对任意一个算法,收敛性和收敛速度的理论结果并不保证
算法在实际执行时一定有好的实际计算特性,另一方面,是由于它们忽略了计算过程中十分重要的舍入误差的影响。
下面给出一个算法超线性收敛的一个特性,它对于构造终止迭代所需的收敛准则是有用的。
定理 1.5.1
如果序列 {xk}\{x_k\}{xk} Q-超线性收敛到 x∗x^*x∗,那么
limk→∞∥xk+1−xk∥∥xk−x∗∥=1(1.5.6)
\lim_{k\to\infty} \frac{\Vert x_{k+1}-x_k\Vert}{\Vert x_k-x^*\Vert}=1\qquad(1.5.6)
k→∞lim∥xk−x∗∥∥xk+1−xk∥=1(1.5.6)
但反之一般不成立。
这个定理表明 ∥xk+1−xk∥\Vert x_{k+1}-x_k\Vert∥xk+1−xk∥ 可以用来代替 ∥xk−x∗∥\Vert x_{k}-x^*\Vert∥xk−x∗∥ 给出终止判断,并且这个估计随着 k 的增加而改善。
大多数最优化方法是从二次函数模型导出的。这种类型的方法在实际上常常是有效的,其主要原因是一般函数在极小点附近常可用二次函数很好地进行近似。所谓二次终止性是指当算法应用于一个二次函数时,只要经过有限步迭代就能达到函数的极小点 x∗x^*x∗。因此,对于一般函数而言,具有二次终止性的算法可望在接近极小点时具有很好的收敛性质。