第 8 章 凸集

CHAPTER STATUS编写进度1%查看全书进度

8.0.0.1 直线

Definition 8.1. 设\(x_1,x_2\in\mathbb{R}^{n}\)\(x_1\ne x_2\)。若\(\theta\in[0,1]\),称所有满足形式:

\[\begin{equation*} y=\theta x_1+(1-\theta)x_2 \end{equation*}\]

的点\(y\)构成的集合为线段(line segment)。若\(\theta\in\mathbb{R}^{}\),称所有满足上述形式的点\(y\)构成的集合为直线(line)

note 8.1. 上述形式等价于:

\[\begin{equation*} y=x_2+\theta(x_1-x_2) \end{equation*}\]

这给出了另一种直观:\(y\)是基\(x_2\)和被\(\theta\)缩放的方向\(x_1-x_2\)的和。

8.0.0.2 凸集

Definition 8.2. 设\(E\subseteq\mathbb{R}^{n}\)。若对于任意不同的\(x_1,x_2\in E\),由\(x_1,x_2\)确定的线段都在\(E\)中,则称\(E\)凸集(convex set)

Definition 8.3. 设\(n\in\mathbb{N}^+\)\(\theta_1, \theta_2, \dots, \theta_{n}\geqslant0\)\(\sum\limits_{i=1}^{n}\theta_i=1\)\(x_1, x_2, \dots, x_{n}\in\mathbb{R}^{n}\)。称:

\[\begin{equation*} \theta_1x_1+\theta_2x_2+\cdots+\theta_nx_n \end{equation*}\]

\(x_1, x_2, \dots, x_{n}\)构成的一个凸组合(convex combination)

Definition 8.4. 设\(E\subseteq\mathbb{R}^{n}\)。定义:

\[\begin{equation*} \left\{\sum_{i=1}^{n}\theta_ix_i:x_i\in E,\;\theta_i\geqslant0,\;\sum_{i=1}^{n}\theta_i=1,\;n\in\mathbb{N}^+\right\} \end{equation*}\]

\(E\)凸包(convex hull),记作\(\operatorname{Conv}(E)\)

凸集、非凸集与凸包的二维几何结构。

Property 8.0.1. 设\(E\subseteq\mathbb{R}^{n}\)。凸集具有如下性质:

  1. \(E\)是凸集当且仅当\(E\)中任意有限个元素的凸组合都在\(E\)中;

  2. \(E\)的凸包是包含\(E\)的最小凸集;

  3. 凸集的交集是凸集;

  4. \(\alpha\in\mathbb{R}^{n},\;a\in\mathbb{R}^{}\)\(E\)是凸集,则\(aE=\{ax:x\in E\}\)\(E+\alpha=\{x+\alpha:x\in E\}\)也是凸集;

  5. \(E_1,E_2\)是凸集,则\(E_1+E_1=\{x+y:x\in E_1,\;y\in E_2\}\)也是凸集;

  6. \(E_1,E_2\)是凸集,则\(\{(x,y_1+y_2):(x,y_1)\in E_1,\;(x,y_2)\in E_2\}\)也是凸集;

  7. \(E\)是凸集,则\(\{x_1\in\mathbb{R}^{m}:(x_1,x_2)\in E,\;m\in\mathbb{N}^+,\;m\leqslant n\}\)也是凸集,即凸集的投影是凸集。

证明. (1)必要性:\(n=2\)时,由凸集的定义可知\(E\)中任意\(2\)个元素的凸组合都在\(E\)中。假设结论对\(n-1\)成立,下面证明对\(n\)个也成立。

任取\(\theta_1, \theta_2, \dots, \theta_{n}\geqslant0\)\(\sum\limits_{i=1}^{n}\theta_i=1\)\(x_1, x_2, \dots, x_{n}\in E\),则:

\[\begin{equation*} \sum_{i=1}^{n}\theta_ix_i=\sum_{i=1}^{n-1}\theta_ix_i+\theta_nx_n=\sum_{i=1}^{n-1}\theta_ix_i+\left(1-\sum_{i=1}^{n-1}\theta_i\right)x_i \end{equation*}\]

\(\sum\limits_{i=1}^{n-1}\theta_i=0\),则上式退化为\(x_n\),结论成立。若\(\sum\limits_{i=1}^{n-1}\theta_i\ne0\),则:

\[\begin{equation*} y=\sum_{i=1}^{n-1}\frac{\theta_i}{\sum\limits_{j=1}^{n-1}\theta_j}x_i \end{equation*}\]

是关于\(x_1, x_2, \dots, x_{n-1}\)的一个凸组合,由归纳假设可知\(y\in E\)。变形可得:

\[\begin{equation*} \sum_{i=1}^{n}\theta_ix_i=\sum_{i=1}^{n-1}\theta_ix_i+\left(1-\sum_{i=1}^{n-1}\theta_i\right)x_i=\sum\limits_{j=1}^{n-1}\theta_jy+\left(1-\sum_{i=1}^{n-1}\theta_i\right)x_i\in E \end{equation*}\]

必要性得证。

充分性:任意有限个包含\(2\)个。

(2)由(1)立即可得。

(3)任取指标集\(I\)和凸集\(C_i,i\in I\),令\(C=\underset{i\in I}{\overset{}{\cap}}C_i\)。任取\(x_1,x_2\in C\)\(\theta\geqslant0\),则\(x_1,x_2\in C_i\)。因为\(C_i\)是凸集,所以\(\theta x_1+(1-\theta)x_2\in C_i\),于是\(\theta x_1+(1-\theta)x_2\in C\)\(C\)是凸集。

(4)(5)(6)(7)利用凸集的定义可直接得到证明,略去。 ◻

8.0.0.3 仿射集

Definition 8.5. 设\(E\subseteq\mathbb{R}^{n}\)。若对于任意不同的\(x_1,x_2\in E\),由\(x_1,x_2\)确定的直线都在\(E\)中,则称\(E\)仿射集(affine set)

Definition 8.6. 设\(n\in\mathbb{N}^+\)\(\theta_1, \theta_2, \dots, \theta_{n}\in\mathbb{R}^{}\)\(\sum\limits_{i=1}^{n}\theta_i=1\)\(x_1, x_2, \dots, x_{n}\in\mathbb{R}^{n}\)。称:

\[\begin{equation*} \theta_1x_1+\theta_2x_2+\cdots+\theta_nx_n \end{equation*}\]

\(x_1, x_2, \dots, x_{n}\)构成的一个仿射组合(affine combination)

Definition 8.7. 设\(E\subseteq\mathbb{R}^{n}\)。定义:

\[\begin{equation*} \left\{\sum_{i=1}^{n}\theta_ix_i:x_i\in E,\;\theta_i\in\mathbb{R}^{},\;\sum_{i=1}^{n}\theta_i=1,\;n\in\mathbb{N}^+\right\} \end{equation*}\]

\(E\)仿射包(affine hull),记作\(\operatorname{Aff}(E)\)

仿射集是子空间的平移。它不必经过原点,并且沿方向子空间V的正、负方向无限延伸。

Property 8.0.2. 设\(E\subseteq\mathbb{R}^{n}\)。仿射集具有如下性质:

  1. \(E\)是仿射集当且仅当\(E\)中任意有限个元素的仿射组合都在\(E\)中;

  2. \(E\)是仿射集当且仅当存在一个\(\mathbb{R}^{n}\)的子空间\(V\),使得\(E=\{x+x_0:x\in V,\;x_0\in E\}\),并且表达式与\(x_0\)的选择无关;

  3. \(E\)的仿射包是包含\(E\)的最小仿射集;

  4. 仿射集是凸集;

证明. (1)完全类似于性质 8.0.1(1)

(2)必要性:\(E\)是仿射集,任取\(x_0\in E\),令\(V=\{x-x_0:x\in E\}\),则\(E=\{x+x_0:x\in V,\;x_0\in E\}\)

任取\(\alpha,\beta\in\mathbb{R}^{}\)\(x_1,x_2\in V\),则:

\[\begin{equation*} \alpha x_1+\beta x_2+x_0=\alpha(x_1+x_0)+\beta(x_2+x_0)+(1-\alpha-\beta)x_0\in E \end{equation*}\]

于是\(\alpha x_1+\beta x_2\in V\)。由定理 1.5可知\(V\)是子空间。

取不同于\(x_0\)\(x_1\in E\)构成集合\(V'=\{x-x_1:x\in C\}\)。任取\(V'\)中的元素\(\alpha=x-x_1\),则\(\alpha=x+x_1-x_0\)\(x,x_1,x_0\)构成的一个仿射组合,于是\(\alpha\in V\)。由\(\alpha\)的任意性可知\(V'\subseteq V\)。同理可得\(V\subseteq V'\),于是有\(V=V'\),即表达式与\(x_0\)的选择无关。

充分性:任取\(E\)中不同的两点\(x_1+x_0,x_2+x_0\)\(\theta\in\mathbb{R}^{}\),有:

\[\begin{equation*} \theta(x_1+x_0)+(1-\theta)(x_2+x_0)=\theta x_1+(1-\theta)x_2+x_0 \end{equation*}\]

因为\(V\)是子空间,由定理 1.5可知\(\theta x_1+(1-\theta)x_2\in V\),所以\(\theta x_1+(1-\theta)x_2+x_0\in E\)。由\(x_1+x_0,x_2+x_0\)\(\theta\)的任意性可知\(E\)是仿射集。

(3)由(1)立即可得。

(4)由定义立即可得。 ◻

8.0.0.4

Definition 8.8. 设\(E\subseteq\mathbb{R}^{n}\)。若对于任意的\(x\in E\)\(\theta\geqslant0\),有\(\theta x\in E\),则称\(E\)(cone)。若锥\(E\)还满足对任意的\(x_1,x_2\in E\)\(\theta_1,\theta_2\geqslant0\)\(\theta_1x_1+\theta_2x_2\in E\),则称\(E\)凸锥(convex cone)

Definition 8.9. 设\(n\in\mathbb{N}^+\)\(\theta_1, \theta_2, \dots, \theta_{n}\geqslant0\)\(x_1, x_2, \dots, x_{n}\in\mathbb{R}^{n}\)。称:

\[\begin{equation*} \theta_1x_1+\theta_2x_2+\cdots+\theta_nx_n \end{equation*}\]

\(x_1, x_2, \dots, x_{n}\)构成的一个锥组合(Conic combination)

Definition 8.10. 设\(E\subseteq\mathbb{R}^{n}\)。定义:

\[\begin{equation*} \left\{\sum_{i=1}^{n}\theta_ix_i:x_i\in E,\;\theta_i\geqslant0,\;n\in\mathbb{N}^+\right\} \end{equation*}\]

\(E\)锥包(conic hull),记作\(\operatorname{Cone}(E)\)

锥只要求沿每条射线对非负缩放封闭;凸锥还要求对加法封闭,因此包含两条射线之间的全部非负线性组合。

Property 8.0.3. 设\(E\subseteq\mathbb{R}^{n}\)。锥具有如下性质:

  1. \(E\)是锥包当且仅当\(E\)中任意有限个元素的锥组合都在\(E\)中;

  2. \(E\)的锥包是包含\(E\)的最小锥;

证明. (1)完全类似于性质 8.0.1(1)

(2)由(1)立即可得。 ◻

8.0.0.5 超平面与半空间

Definition 8.11. 设\(a\in\mathbb{R}^{n},\;b\in\mathbb{R}^{}\)。称\(\{x\in\mathbb{R}^{n}:a^{\top}x=b\}\)超平面(hyperplane)\(\{x\in\mathbb{R}^{n}:a^{\top}x\leqslant b\}\)为闭半空间(halfspace)\(\{x\in\mathbb{R}^{n}:a^{\top}x< b\}\)为开半空间。

Property 8.0.4. 超平面与半空间具有如下性质:

  1. 超平面是仿射集;

  2. 半空间是凸集;

证明. (1)任取超平面\(\{x\in\mathbb{R}^{n}:a^{\top}x=b\}\)和其中任意两点\(x_1,x_2\),再任取\(\theta\in\mathbb{R}^{}\),有:

\[\begin{equation*} a^{\top}[\theta x_1+(1-\theta)x_2]=\theta b+(1-\theta)b=b \end{equation*}\]

所以\(\theta x_1+(1-\theta)x_2\in\{x\in\mathbb{R}^{n}:a^{\top}x=b\}\),超平面是仿射集。

(2)任取闭半空间\(\{x\in\mathbb{R}^{n}:a^{\top}x\leqslant b\}\)和其中任意两点\(x_1,x_2\),再任取\(\theta\geqslant0\),有:

\[\begin{equation*} a^{\top}[\theta x_1+(1-\theta)x_2]\leqslant\theta b+(1-\theta)b=b \end{equation*}\]

所以\(\theta x_1+(1-\theta)x_2\in\{x\in\mathbb{R}^{n}:a^{\top}x\leqslant b\}\),闭半空间是凸集。开半空间同理可得。 ◻

8.0.0.6 多面体

Definition 8.12. 设\(A\in M_{m\times n}(\mathbb{R}^{}),\;b\in\mathbb{R}^{n},\;C\in M_{p\times q}(\mathbb{R}^{}),\;d\in\mathbb{R}^{q}\)。称\(\{x\in\mathbb{R}^{n}:Ax\leqslant b,\;Cx=d\}\)多面体(polyhedron)

Property 8.0.5. 多面体是凸集。

证明. 性质 8.0.1(3)性质 8.0.4(1)性质 8.0.2(4)性质 8.0.4(2)立即可得。 ◻

8.0.0.7 球与椭球

Definition 8.13. 设\(||\cdot||\)\(\mathbb{R}^{n}\)上的一个范数,\(x_c\in\mathbb{R}^{n},\;r\in\mathbb{R}^{}\)。称\(\{x\in\mathbb{R}^{n}:||x-x_c||\leqslant r\}\)(ball)

Definition 8.14. 设\(P\in M_{n}(\mathbb{R}^{})\)是正定矩阵,\(x_c\in\mathbb{R}^{n}\)。由定理 2.17(6)可得\(P\)的可逆性,称\(\{x\in\mathbb{R}^{n}:(x-x_c)^{\top}P^{-1}(x-x_c)\leqslant1\}\)椭球(ellipsoid)

Property 8.0.6. 球与椭球具有如下性质:

  1. 球是凸集;

  2. 椭球\(\{x\in\mathbb{R}^{n}:(x-x_c)^{\top}P^{-1}(x-x_c)\leqslant1\}\)等价于\(\{x_c+P^{\frac{1}{2}}u:u\in\mathbb{R}^{n},\;||u||_2\leqslant1\}\),由\(P\)的正定性可得\(P^{\frac{1}{2}}\)的存在性;

  3. 椭球是凸集;

证明. (1)任取球\(\{x\in\mathbb{R}^{n}:||x-x_c||\leqslant r\}\)和其中任意两点\(x_1,x_2\),再任取\(\theta\geqslant0\),有:

\[\begin{equation*} ||\theta x_1+(1-\theta)x_2-x_c||=||\theta(x_1-x_c)+(1-\theta)(x_2-x_c)||\leqslant\theta||x_1-x_c||+(1-\theta)||x_2-x_c||\leqslant\theta r+(1-\theta)r=r \end{equation*}\]

所以\(\theta x_1+(1-\theta)x_2\in\{x\in\mathbb{R}^{n}:||x-x_c||\leqslant r\}\),球是凸集。

(2)任取\(x\in\{x_c+P^{\frac{1}{2}}u:u\in\mathbb{R}^{n},\;||u||_2\leqslant1\}\),由性质 2.1.2(4)可得:

\[\begin{equation*} (x-x_c)^{\top}P^{-1}(x-x_c)=(P^{\frac{1}{2}}u)^{\top}P^{-1}P^{\frac{1}{2}}u=||u||_2\leqslant1 \end{equation*}\]

所以\(\{x_c+P^{\frac{1}{2}}u:u\in\mathbb{R}^{n},\;||u||_2\leqslant1\}\subseteq\{x\in\mathbb{R}^{n}:(x-x_c)^{\top}P^{-1}(x-x_c)\leqslant1\}\)

任取\(x\in\{x\in\mathbb{R}^{n}:(x-x_c)^{\top}P^{-1}(x-x_c)\leqslant1\}\)。由\(P\)的正定性可得\(P^{-\frac{1}{2}}\)的存在性,取\(u=P^{-\frac{1}{2}}(x-x_c)\),根据性质 2.1.2(4)可得:

\[\begin{equation*} ||u||_2=[P^{-\frac{1}{2}}(x-x_c)]^{\top}P^{-\frac{1}{2}}(x-x_c)=(x-x_c)^{\top}P^{-1}(x-x_c)\leqslant1 \end{equation*}\]

所以\(\{x\in\mathbb{R}^{n}:(x-x_c)^{\top}P^{-1}(x-x_c)\leqslant1\}\subseteq\{x_c+P^{\frac{1}{2}}u:u\in\mathbb{R}^{n},\;||u||_2\leqslant1\}\)

综上,\(\{x\in\mathbb{R}^{n}:(x-x_c)^{\top}P^{-1}(x-x_c)\leqslant1\}=\{x_c+P^{\frac{1}{2}}u:u\in\mathbb{R}^{n},\;||u||_2\leqslant1\}\)

(3)任取椭球\(\{x\in\mathbb{R}^{n}:(x-x_c)^{\top}P^{-1}(x-x_c)\leqslant1\}\)和其中任意两点\(x_1=x_c+P^{\frac{1}{2}}u_1,x_2=x_c+P^{\frac{1}{2}}u_2\),再任取\(\theta\geqslant0\),有:

\[\begin{equation*} \theta x_1+(1-\theta)x_2=x_c+P^{\frac{1}{2}}[\theta u_1+(1-\theta)u_2] \end{equation*}\]

由(1)可知\(||\theta u_1+(1-\theta)u_2||_2\leqslant1\),所以\(\theta x_1+(1-\theta)x_2\in\{x\in\mathbb{R}^{n}:(x-x_c)^{\top}P^{-1}(x-x_c)\leqslant1\}\),椭球是凸集。 ◻

Definition 8.15. 设\(f:\mathbb{R}^{n}\to\mathbb{R}^{m}\)是函数。若\(f\)具有形式\(f(x)=Ax+b\),其中\(A\in M_{m\times n}(\mathbb{R}^{}),\;b\in\mathbb{R}^{m}\),则称\(f\)仿射函数(affine function)

Property 8.0.7. 设\(f:\mathbb{R}^{n}\to\mathbb{R}^{m}\)是仿射函数,\(f=Ax+b\),其中\(A\in M_{m\times n}(\mathbb{R}^{}),\;b\in\mathbb{R}^{m}\)。仿射函数具有如下性质:

  1. \(E\subseteq\mathbb{R}^{n}\)是凸集,则\(f(E)\)\(\mathbb{R}^{m}\)中的凸集;

  2. \(E\subseteq\mathbb{R}^{m}\)是凸集,则\(f^{-1}(E)=\{x\in\mathbb{R}^{n}:f(x)\in E\}\)\(\mathbb{R}^{n}\)中的凸集。

证明. (1)任取\(y_1,y_2\in f(E)\)\(\theta\in[0,1]\),则存在\(x_1,x_2\in E\)使得\(f(x_1)=y_1,f(x_2)=y_2\),于是有:

\[\begin{align*} \theta y_1+(1-\theta)y_2&=\theta f(x_1)+(1-\theta)f(x_2)=\theta(Ax_1+b)+(1-\theta)(Ax_2+b) \\ &=A[\theta x_1+(1-\theta)x_2]+b=f[\theta x_1+(1-\theta)x_2] \end{align*}\]

因为\(E\)是凸集,所以\(\theta x_1+(1-\theta)x_2\in E\),于是\(\theta y_1+(1-\theta)y_2\in f(E)\)。由\(y_1,y_2,\theta\)的任意性可知\(f(E)\)\(\mathbb{R}^{m}\)中的凸集。

(2)任取\(x_1,x_2\in f^{-1}(E)\)\(\theta\in[0,1]\),则存在\(y_1,y_2\in E\)使得\(f(x_1)=y_1,f(x_2)=y_2\),于是有:

\[\begin{equation*} f[\theta x_1+(1-\theta)x_2]=A[\theta x_1+(1-\theta)x_2]+b=\theta(Ax_1+b)+(1-\theta)(Ax_2+b)=\theta y_1+(1-\theta)y_2 \end{equation*}\]

因为\(E\)是凸集,所以\(\theta y_1+(1-\theta)y_2\in E\),于是\(\theta x_1+(1-\theta)x_2\in f^{-1}(E)\)。由\(x_1,x_2,\theta\)的任意性可知\(f^{-1}(E)\)\(\mathbb{R}^{n}\)中的凸集。 ◻

8.0.1 凸函数

Definition 8.16. 设\(X\)是一个非空集合,\(f:X\to\overline{R}^n\)。若存在\(x\in X\)使得\(f(x)<+\infty\)且对任意的\(x\in X\)\(f(x)>-\infty\),则称\(f\)关于\(X\)适当函数(proper function)

Definition 8.17. 设\(f\)是关于凸集\(E\subseteq\mathbb{R}^{n}\)的适当函数。若对任意的\(x,y\in E\)和任意的\(\alpha\in[0,1]\)都有:

\[\begin{equation*} f[\alpha x+(1-\alpha)y]\leqslant\alpha f(x)+(1-\alpha)f(y) \end{equation*}\]

则称\(f\)凸函数(convex function),若上式取严格的小于号则称\(f\)严格凸(strictly convex)。若\(-f\)是凸函数,则称\(f\)凹函数(concave function)。若\(-f\)严格凸,则称\(f\)严格凹(strictly concave)

Property 8.0.8. 设\(f\)\(E\subseteq\mathbb{R}^{n}\)上的凸函数。凸函数具有如下性质:

  1. \(A\in M_{n\times n}(\mathbb{R}^{}),\;b\in\mathbb{R}^{n}\),对任意的\(x\in E\)\(Ax+b\in E\),则\(f(Ax+b)\)也是\(E\)上的凸函数;

  2. \(f\)\(E\)上Fréchet可微,根据性质 4.1.2(1),则\(f\)\(E\)上的凸函数的充分必要条件为对任意的\(x,y\in E\)23严格的证明

    \[\begin{equation*} f(y)\geqslant f(x)+(\nabla fx,y-x) \end{equation*}\]

    \(f\)\(E\)上的严格凸函数的充分必要条件为对任意不等的\(x,y\in E\)有:

    \[\begin{equation*} f(y)>f(x)+(\nabla fx,y-x) \end{equation*}\]

  3. \(f\)\(E\)上二次可微,则\(f\)是凸函数的充分必要条件为对任意的\(x,h\in E\)\(\operatorname{D}^2fx(h,h)\geqslant0\),对非零的\(h\)\(\operatorname{D}^2fx(h,h)>0\)\(f\)严格凸的充分条件;

  4. \(f\)是凸函数,\(t\in(a,b)\),则存在经过点\((t,f(t))\)的直线\(g(x)=c(x-t)+f(t)\)满足对任意的\(x\in(a,b)\)\(g(x)\leqslant f(x)\)。当\(f\)为严格凸函数时,\(g(x)=f(x)\)当且仅当\(x=t\)

证明. (1)任取\(x_1,x_2\in E\),则对任意的\(\alpha\in[0,1]\)有:

\[\begin{align*} &f\{A[\alpha x_1+(1-\alpha)x_2]+b\}=f[A\alpha x_1+\alpha b+A(1-\alpha)x_2+(1-\alpha)b] \\ =&f[\alpha(Ax_1+b)+(1-\alpha)(Ax_2+b)]\leqslant\alpha f(Ax_1+b)+(1-\alpha)f(x_2+b) \end{align*}\]

(2)必要性:对任意的\(x,y\in E\),因为\(f\)是凸函数,由(1)可知:

\[\begin{equation*} \varphi(t)=f[x+t(y-x)] \end{equation*}\]

\([0,1]\)上是凸函数,所以对任意的\(t\in(0,1]\)有:

\[\begin{equation*} \varphi(t)\leqslant(1-t)\varphi(0)+t\varphi(1) \end{equation*}\]

即:

\[\begin{equation*} \frac{\varphi(t)-\varphi(0)}{t}\leqslant\varphi(1)-\varphi(0) \end{equation*}\]

因为\(f\)\(x\)处Fréchet可微,由性质 4.1.2(1)可知\(\varphi\)\(t=0\)处可微,于是取\(t\downarrow0\),根据性质 3.3.3(4)可知:

\[\begin{equation*} \varphi'(0)=\operatorname{D}_Gfx(y-x)=(\nabla fx,y-x)\leqslant f(y)-f(x) \end{equation*}\]

充分性:任取\(x,y\in E\)\(\alpha\in[0,1]\),记\(z=\alpha x+(1-\alpha)y\),由条件可得:

\[\begin{equation*} f(x)\geqslant f(z)+(\nabla fz,x-z),\quad f(y)\geqslant f(z)+(\nabla fz,y-z) \end{equation*}\]

即:

\[\begin{equation*} \alpha f(x)\geqslant\alpha f(z)+\alpha(\nabla fz,x-z),\quad(1-\alpha)f(y)\geqslant(1-\alpha)f(z)+(1-\alpha)(\nabla fz,y-z) \end{equation*}\]

所以:

\[\begin{equation*} \alpha f(x)+(1-\alpha)f(y)\geqslant f(z)+\alpha(\nabla fz,x-z)+(1-\alpha)(\nabla fz,y-z) \end{equation*}\]

注意到:

\[\begin{align*} &\alpha(\nabla fz,x-z)+(1-\alpha)(\nabla fz,y-z)=\Big(\nabla fz,\alpha(x-z)+(1-\alpha)(y-z)\Big) \\ =&\Big(\nabla fz,\alpha x+(1-\alpha)y-\alpha z-(1-\alpha)z\Big)=\Big(\nabla fz,z-\alpha z-(1-\alpha)z\Big) \\ =&\Big(\nabla fz,\mathbf{0}\Big)=0 \end{align*}\]

所以:

\[\begin{equation*} \alpha f(x)+(1-\alpha)f(y)\geqslant f[\alpha x+(1-\alpha)y] \end{equation*}\]

\(x,y,\alpha\)的任意性可知\(f\)\(E\)上的凸函数。

(3)必要性:对任意的\(x\in E\),若存在\(h\in E\)使得\(\operatorname{D}^2f(h,h)<0\),由定理 4.6(1)可得:

\[\begin{equation*} f(x_0+th)=f(x_0)+t\operatorname{D}fx(h)+\frac{t^2}{2}\operatorname{D}^2fx(h,h)+\operatorname{o}(t^2),\;(t\to0) \end{equation*}\]

即:

\[\begin{equation*} \frac{f(x_0+th)-f(x_0)-t\operatorname{D}fx(h)}{t^2}=\frac{1}{2}\operatorname{D}^2fx(h,h)+\frac{\operatorname{o}(t^2)}{t^2},\;(t\to0) \end{equation*}\]

性质 3.3.3(5.b)(3)可知当\(t\)足够小时有:

\[\begin{equation*} \frac{f(x_0+th)-f(x_0)-t(\operatorname{D}fx)h}{t^2}<0 \end{equation*}\]

根据性质 4.1.2(1)可知这与(2)矛盾。

充分性:定理 4.6(2)和(2)立即可得。 ◻

8.1 最优性理论

8.1.0.1 可微函数的最优性

定理 4.7给出。

8.1.0.2 不可微函数的最优性

Definition 8.18. 设\(f\)关于\(\mathbb{R}^{n}\)是适当函数,\(x\in\mathbb{R}^{n}\)。若\(g\in\mathbb{R}^{n}\)对任意的\(y\in\mathbb{R}^{n}\)满足:

\[\begin{equation*} f(y)\geqslant f(x)+g^T(y-x) \end{equation*}\]

则称\(g\)\(f\)\(x\)处的一个次梯度(subgradient),称\(f\)\(x\)处所有次梯度构成的集合为次微分(subdifferential)

次梯度是否存在呢?

Theorem 8.1. (Hyperplane Seperation Theorem)

\(A\)\(B\)\(\mathbb{R}^{n}\)上不交的非空凸集,则存在非零的\(a\in\mathbb{R}^{n}\)\(b\in\mathbb{R}^{}\)使得:

\[\begin{equation*} \forall\;x\in A,\;(a,x)\geqslant b,\quad\forall\;y\in B,\;(a,y)\leqslant b \end{equation*}\]

证明. 严格证明涉及到泛函分析中过于复杂的内容,略去。 ◻

Definition 8.19. 设\(E\subseteq\mathbb{R}^{n}\)\(x_0\in\partial E\)。若非零的\(\alpha\in\mathbb{R}^{n}\)\(b\in\mathbb{R}^{}\)满足对任意的\(x\in E\)\((\alpha,x)\leqslant(\alpha,x_0)\),则称超平面\(\{x\in\mathbb{R}^{n}:(\alpha,x)=(\alpha,x_0)\}\)\(E\)\(x_0\)处的支撑超平面(supporting hyperplane)

Theorem 8.2. (Supporting Hyperplane Theorem)

\(E\subseteq\mathbb{R}^{n}\)是凸集,则在\(E\)的任意边界点处都存在支撑超平面。

8.1.1 映射的上下极限与半连续性

Definition 8.20. \((X,\rho)\)是度量空间,\(E\)\(X\)的子空间,\(f\)\(E\)\(\mathbb{R}\)上的映射。对于\(E\)中的任一聚点\(a\),定义:

\[\begin{gather*} \liminf_{x\to a}f(x)=\lim_{\varepsilon\to0}\Bigl(\inf\{f(x):x\in U(a,\varepsilon)\}\setminus\{a\}\Bigr) \\ \limsup_{x\to a}f(x)=\lim_{\varepsilon\to0}\Bigl(\sup\{f(x):x\in U(a,\varepsilon)\}\setminus\{a\}\Bigr) \end{gather*}\]

Definition 8.21. \((X,\rho)\)是度量空间,\(f\)\(X\)\(\overline{\mathbb{R}}\)上的映射。若:

\[\begin{equation*} \limsup_{x\to a}f(x)\leqslant f(x_0) \end{equation*}\]

则称\(f(x)\)\(a\)上半连续(upper semicontinuous)。 若:

\[\begin{equation*} \liminf_{x\to a}f(x)\leqslant f(x_0) \end{equation*}\]

则称\(f(x)\)\(a\)下半连续(lower semicontinuous)

8.1.2 线搜索法

在迭代优化算法中,一次迭代通常包含两个基本问题:首先确定一个搜索方向,其次确定沿该方向移动的步长。如果步长过小,则每次迭代的推进幅度有限,算法收敛速度可能很慢;如果步长过大,则损失函数值不但不能下降,反而可能上升。因此,步长选择需要在”保证下降”和”保持足够推进”之间取得平衡。

线搜索法正是为了解决这一问题而引入的。所谓线搜索法,是指在当前点\(x_n\)和搜索方向\(d_n\)确定之后,沿着射线\(\{x_n+\alpha d_n:\alpha>0\}\)寻找一个合适的步长\(\alpha_n\),并用它更新迭代点。

沿固定下降方向的一维函数。步长过小会使每次下降有限;步长过大可能越过低点,甚至使函数值高于当前点。

Definition 8.22. 给定初始步长\(\alpha>0\)和收缩因子\(\rho\in(0,1)\),定义候选步长序列:

\[\begin{equation*} \alpha_n=\rho^n\alpha,\quad n\in\mathbb{N} \end{equation*}\]

\(n=0\)开始依次检验\(\alpha_n\)是否满足预先给定的步长接受准则。若取第一个满足该准则的步长\(\alpha_n\)作为当前迭代步长,则称这种步长选择方法为回溯法(backtracking method)

Definition 8.23. 设\(X\)为实赋范线性空间,\(E\subseteq X\)为开集,函数\(f:E\to\mathbb{R}\)\(x\in E\)处Fréchet可微,\(c\in(0,1)\)\(d\in X\)是一个下降方向。若\(\alpha>0\)满足\(x+\alpha d\in E\),并且

\[\begin{equation*} f(x+\alpha d)\leqslant f(x)+c\alpha\operatorname{D}fx(d) \end{equation*}\]

则称\(\alpha\)满足沿方向\(d\)Armijo准则

note 8.2. 因为\(d\in X\)为下降方向,所以\(\operatorname{D}fx(d)<0\)。由定理 4.6(1)可得:

\[\begin{equation*} f(x+\alpha d)=f(x)+\alpha\operatorname{D}fx(d)+\operatorname{o}(\alpha),\;(\alpha\to0) \end{equation*}\]

因此一阶线性近似预示着,沿方向\(d\)移动一个小步长\(\alpha\)后,函数值应当下降,其线性预测下降量为\(-\alpha\operatorname{D}fx(d)>0\)。Armijo准则要求步长\(\alpha\)满足:

\[\begin{equation*} f(x)-f(x+\alpha d)\geqslant-c\alpha\operatorname{D}fx(d) \end{equation*}\]

因此,Armijo准则的含义是实际下降量至少要达到一阶Taylor线性预测下降量的\(c\)倍。参数\(c\in(0,1)\)控制这个要求的严格程度,\(c\)越大,要求实际下降越接近线性预测下降量。在应用中,\(c\)常取较小的数值,如\(c=10^{-4}\)

Armijo准则的缺陷在于它只控制了步长\(\alpha\)不能太大,因为太大的步长通常会违反下降条件,但它没有控制”步长不能太小”。如果步长非常非常小,函数值虽然下降得很少,但也可能满足Armijo准则。

Definition 8.24. 设\(X\)为实赋范线性空间,\(E\subseteq X\)为开集,函数\(f:E\to\mathbb{R}\)\(x\in E\)处Fréchet可微,\(c\in(0,0.5)\)\(d\in X\)是一个下降方向。若\(\alpha>0\)满足\(x+\alpha d\in E\),并且

\[\begin{equation*} f(x)+(1-c)\alpha\operatorname{D}fx(d) \leqslant f(x+\alpha d) \leqslant f(x)+c\alpha\operatorname{D}fx(d), \end{equation*}\]

则称\(\alpha\)满足沿方向\(d\)Goldstein准则

note 8.3. Goldstein准则可以看作是在Armijo准则的基础上进一步加入了对步长下界的控制。

Goldstein准则中的右侧不等式正是Armijo准则,它要求函数值具有充分下降。Goldstein准则中的左侧不等式为:

\[\begin{equation*} f(x)-f(x+\alpha d) \leqslant -(1-c)\alpha\operatorname{D}fx(d) \end{equation*}\]

由于\(-\alpha\operatorname{D}fx(d)>0\)是一阶Taylor线性近似预示的下降量,因此左侧不等式要求实际下降量不能超过线性预测下降量的\((1-c)\)倍。由定理 4.6(1)可得:

\[\begin{equation*} f(x+\alpha d)=f(x)+\alpha\operatorname{D}fx(d)+\operatorname{o}(\alpha),\;(\alpha\to0) \end{equation*}\]

因此当\(\alpha\)过小时,实际下降量会过于接近完整的一阶线性预测下降量,从而违反Goldstein左侧条件。直观地说,这表示沿方向\(d\)还没有走得足够远,函数沿该方向的下降趋势尚未明显减弱。

综上,Goldstein准则通过两个不等式同时控制步长:右侧的Armijo条件保证步长不能太大,左侧条件保证步长不能太小。

Goldstein的缺陷出于其优势,它用Taylor展开的原理保证了所取的步长\(\alpha\)不会太小,但是对应的新增不等式在逻辑上却对应着要求下降量不能太大,导致它可能会错杀好步长。

Definition 8.25. 设\(X\)为实赋范线性空间,\(E\subseteq X\)为开集,函数\(f:E\to\mathbb{R}\)\(x\)\(x+\alpha d\)处Fréchet可微,\(0<c_1<c_2<1\)\(d\in X\)是一个下降方向。若\(\alpha>0\)满足\(x+\alpha d\in E\),并且:

\[\begin{gather*} f(x+\alpha d)\leqslant f(x)+c_1\alpha\operatorname{D}fx(d),\\ \operatorname{D}f(x+\alpha d)(d)\geqslant c_2\operatorname{D}fx(d) \end{gather*}\]

则称\(\alpha\)满足沿方向\(d\)Wolfe准则

note 8.4. Wolfe准则可以看作是对Goldstein准则的改进。它保留了Armijo准则中的充分下降条件,但将Goldstein准则中用于排除过小步长的函数值下界替换为了方向导数条件。

Wolfe准则中的第二个不等式称为曲率条件。由于\(\operatorname{D}fx(d)<0\),该条件要求新点\(x+\alpha d\)处沿方向\(d\)的方向导数不能过小。换言之,沿方向\(d\)的下降趋势必须已经有所减弱。因此,曲率条件的作用是排除过小的步长。

Wolfe准则的缺陷在于所取的\(\alpha\)可能导致\(x+\alpha d\)的下降趋势反向增长得过强,即已经从另一个方向远离了损失函数的极小点。

Definition 8.26. 设\(X\)为实赋范线性空间,\(E\subseteq X\)为开集,函数\(f:E\to\mathbb{R}\)\(x\)\(x+\alpha d\)处Fréchet可微,\(0<c_1<c_2<1\)\(d\in X\)是一个下降方向。若\(\alpha>0\)满足\(x+\alpha d\in E\),并且:

\[\begin{gather*} f(x+\alpha d)\leqslant f(x)+c_1\alpha\operatorname{D}fx(d) \\ \left|\operatorname{D}f(x+\alpha d)(d)\right|\leqslant c_2\left|\operatorname{D}fx(d)\right| \end{gather*}\]

则称\(\alpha\)满足沿方向\(d\)强Wolfe准则

note 8.5. 强Wolfe准则是Wolfe准则的加强形式,其第二个不等式要求沿方向\(d\)的下降趋势不仅不能过强,而且也不能反向增长得过强。

Theorem 8.3. 设\(X\)为实Hilbert空间,\(E\subseteq X\)为开集,函数\(f\in C^1:E\to\mathbb{R}\)\(f\)\(E\)上有下界,\(\nabla f\)\(E\)的Lipschitz连续,即存在常数\(L>0\),使得:

\[\begin{equation*} ||\nabla fx-\nabla fy||\leqslant L||x-y|| \end{equation*}\]

给定初始点\(x_0\in E\),考虑由线搜索方法生成的迭代序列\(\{x_{n+1}=x_n+\alpha_nd_n\}\),其中\(d_n\)\(f\)\(x_n\)处的下降方向。若步长\(\alpha_k>0\)满足Wolfe准则,则有:

\[\begin{equation*} \sum_{n=0}^{+\infty}\cos^2\theta_n||\nabla fx_n||^2<+\infty \end{equation*}\]

其中\(\theta_n\)\(-\nabla fx_n\)\(d_n\)之间的夹角,即:

\[\begin{equation*} \cos\theta_n=\frac{-(\nabla fx_n,d_n)}{||\nabla fx_n||\;||d_n||} \end{equation*}\]

证明. 由Wolfe准则可知:

\[\begin{equation*} (\nabla fx_{n+1},d_n)\geqslant c_2(\nabla fx_n,d_n) \end{equation*}\]

所以:

\[\begin{equation*} (\nabla fx_{n+1}-\nabla fx_n,d_n)\geqslant(c_2-1)(\nabla fx_n,d_n) \end{equation*}\]

根据不等式 3可知:

\[\begin{equation*} (\nabla fx_{n+1}-\nabla fx_n,d_n)\leqslant||\nabla fx_{n+1}-\nabla fx_n||\;||d_n||\leqslant L||x_{n+1}-x_n||\;||d_n|=\alpha_nL||d_n||^2 \end{equation*}\]

联合上两式可得:

\[\begin{equation*} \alpha_nL||d_n||^2\geqslant(c_2-1)(\nabla fx_n,d_n) \\ \alpha_n\geqslant\frac{(c_2-1)(\nabla fx_n,d_n)}{L||d_n||^2} \end{equation*}\]

由Wolfe准则可知:

\[\begin{equation*} f(x_{n+1})\leqslant f(x_n)+c_1\alpha_n(\nabla fx_n,d_n)\leqslant f(x_n)+c_1\frac{(c_2-1)(\nabla fx_n,d_n)}{L||d_n||^2}(\nabla fx_n,d_n) \end{equation*}\]

即:

\[\begin{equation*} f(x_{n+1})\leqslant f(x_n)+c_1\frac{(c_2-1)(\nabla fx_n,d_n)^2}{L||d_n||^2}=f(x_n)+c_1\frac{(c_2-1)\cos^2\theta_n}{L}||\nabla fx_n||^2 \end{equation*}\]

对上式求和即可得到:

\[\begin{equation*} f(x_{n+1})\leqslant f(x_0)-\frac{c_1(1-c_2)}{L}\sum_{i=0}^{n}\cos^2\theta_i||\nabla fx_i||^2 \end{equation*}\]

因为\(0<c_1<c_2<1\),所以\(c_1(1-c_2)>0\),即对任意的\(n\in\mathbb{N}\)\(f(x_{n+1})\leqslant f(x_0)\)。因为\(f\)\(E\)上有下界,所以结论成立。 ◻

Theorem 8.4. 设\(X\)为实Hilbert空间,\(E\subseteq X\)为开集,函数\(f\in C^1(E):E\to\mathbb{R}\)\(f\)\(E\)上有下界,\(\nabla f\)\(E\)上Lipschitz连续,即存在常数\(L>0\),使得:

\[\begin{equation*} ||\nabla fx-\nabla fy||\leqslant L||x-y|| \end{equation*}\]

给定初始点\(x_0\in E\),考虑由线搜索方法生成的迭代序列\(\{x_{n+1}=x_n+\alpha_nd_n\}\),其中\(d_n\)\(f\)\(x_n\)处的下降方向。若步长\(\alpha_k>0\)满足Wolfe准则,且对任意的\(n\in\mathbb{N}\),存在\(\beta>0\)使得:

\[\begin{equation*} \theta_n<\frac{\pi}{2}-\beta \end{equation*}\]

则:

\[\begin{equation*} \lim_{n\to\infty}||\nabla fx_n||=0 \end{equation*}\]

证明. 若结论不成立,由性质 3.1.1(4)可知存在\(\{\nabla fx_n\}\)的子列\(\{\nabla fx_{n_k}\}\)\(\varepsilon>0\)使得:

\[\begin{equation*} \forall\;k\in\mathbb{N}^+,\;||\nabla fx_{n_k}||>\varepsilon \end{equation*}\]

注意到:

\[\begin{equation*} \cos(\theta_n)>\cos\left(\frac{\pi}{2}-\beta\right)=\sin\beta \end{equation*}\]

根据定理 8.3可得:

\[\begin{equation*} +\infty>\sum_{n=0}^{+\infty}\cos^2\theta_n||\nabla fx_n||^2>\sum_{k=0}^{+\infty}\cos^2\theta_{n_k}||\nabla fx_{n_k}||^2>\sum_{k=0}^{+\infty}\sin^2\beta\varepsilon^2 \end{equation*}\]

矛盾,所以结论成立。 ◻

note 8.6. 上述定理中的条件是很直观的,如果\(\theta_n\)很接近\(\dfrac{\pi}{2}\),就意味着梯度方向和下降方向垂直,根据定理 4.6(1)可知此此时损失函数值几乎不发生变化。

8.1.3 Newton法

Method 8.1. (Newton Method)

\(E\subseteq \mathbb{R}^m\)为开集,函数\(f\in C^2(E):E\to\mathbb{R}\)。给定当前迭代点\(x_n\in E\)\(\nabla^2fx_n\)可逆,根据定理 4.6(1),考虑在\(x_n\)处沿方向\(d_n\)的二阶Taylor近似:

\[\begin{align*} f(x_n+d_n)&\approx f(x_n)+\operatorname{D}fx_n(d_n)+\frac{1}{2}\operatorname{D}^2fx_n(d_n,d_n) \\ &=f(x_n)+(\nabla fx_n)^Td_n+\frac{1}{2}d_n^T\nabla^2fx_nd_n \end{align*}\]

Newton法的基本思想是:不直接最小化原函数\(f(x_n+d_n)\),而是在当前点\(x_n\)处求解方向\(d_n\)使得其二次近似最小化。因此,根据定理 4.7(1),令上右式关于\(d_n\)的一阶Fréchet微分为零可得:

\[\begin{equation*} \nabla^2fx_nd_n=-\nabla fx_n \end{equation*}\]

从而得到:

\[\begin{equation*} d_n=-\left(\nabla^2fx_n\right)^{-1}\nabla fx_n \end{equation*}\]

于是Newton法的迭代格式为:

\[\begin{equation*} x_{n+1}=x_n+d_n=x_n-\left(\nabla^2fx_n\right)^{-1}\nabla fx_n \end{equation*}\]

其中\(d_n\)称为\(f\)\(x_n\)处的Newton方向。

Theorem 8.5. 设\(E\subseteq \mathbb{R}^m\)为开集,函数\(f\in C^2(E):E\to\mathbb{R}\)\(f\)\(E\)上的最小值点\(x\)满足:

\[\begin{equation*} \nabla fx=\mathbf{0},\quad\nabla^2fx>0 \end{equation*}\]

\(\nabla^2fx\)\(x\)\(\delta\)邻域(\(\delta>0\)\(U(x,\delta)\)上满足Lipschitz条件:

\[\begin{equation*} ||\nabla^2fx-\nabla^2fy||\leqslant L||x-y||,\quad\forall x,y\in U(x,\delta) \end{equation*}\]

考虑Newton迭代:

\[\begin{equation*} x_{n+1}=x_n+d_n=x_n-\left(\nabla^2fx_n\right)^{-1}\nabla fx_n \end{equation*}\]

则:

  1. 如果初始点\(x_0\)充分接近\(x\),则Newton迭代良定,并且\(\{x_n\}\)Q-二次收敛到\(x\)

  2. \(\{||\nabla fx_n||\}\)Q-二次收敛到\(0\)

证明. (1)注意到:

\[\begin{align*} x_{n+1}-x&=x_n-\left(\nabla^2fx_n\right)^{-1}\nabla fx_n-x=\left(\nabla^2fx_n\right)^{-1}\left[\nabla^2fx_n(x_n-x)-\nabla fx_n\right] \\ &=\left(\nabla^2fx_n\right)^{-1}\left[\nabla^2fx_n(x_n-x)-\left(\nabla fx_n-\nabla fx\right)\right] \end{align*}\]

Newton-Leibniz公式性质 4.1.1(6)性质 5.4.3(6)可得:

\[\begin{equation*} \nabla fx_n-\nabla fx=\int_{0}^{1}\nabla^2f[x_n+t(x-x_n)](x_n-x)\mathop{}\!\mathrm{d}t \end{equation*}\]

根据性质 5.4.3(6)(7)积分的范数小于等于范数的积分,算子范数可得:

\[\begin{align*} &\left\|\left[\nabla^2fx_n(x_n-x)-\left(\nabla fx_n-\nabla fx\right)\right]\right\| \\ =&\left\|\left[\nabla^2fx_n(x_n-x)-\int_{0}^{1}\nabla^2f[x_n+t(x-x_n)](x_n-x)\mathop{}\!\mathrm{d}t\right]\right\| \\ =&\left\|\int_{0}^{1}\left\{\nabla^2fx_n-\nabla^2f[x_n+t(x-x_n)]\right\}(x_n-x)\mathop{}\!\mathrm{d}t\right\| \\ \leqslant&\int_{0}^{1}\left\|\left\{\nabla^2fx_n-\nabla^2f[x_n+t(x-x_n)]\right\}(x_n-x)\right\|\mathop{}\!\mathrm{d}t \\ \leqslant&\int_{0}^{1}\left\|\left\{\nabla^2fx_n-\nabla^2f[x_n+t(x-x_n)]\right\}\right\|||x_n-x||\mathop{}\!\mathrm{d}t \\ \leqslant&||x_n-x||\int_{0}^{1}Lt||x-x_n||\mathop{}\!\mathrm{d}t=\frac{||x_n-x||^2L}{2} \end{align*}\]

于是由算子范数可得:

\[\begin{align*} &||x_{n+1}-x||=\left\|\left(\nabla^2fx_n\right)^{-1}\left[\nabla^2fx_n(x_n-x)-\left(\nabla fx_n-\nabla fx\right)\right]\right\| \\ \leqslant&\left\|\left(\nabla^2fx_n\right)^{-1}\right\|\left\|\left[\nabla^2fx_n(x_n-x)-\left(\nabla fx_n-\nabla fx\right)\right]\right\| \\ \leqslant&\left\|\left(\nabla^2fx_n\right)^{-1}\right\|\frac{||x_n-x||^2L}{2} \end{align*}\]

可以证明存在\(r>0\),当\(||x_n-x||\leqslant r\)时有\(\left\|\left(\nabla^2fx_n\right)^{-1}\right\|\leqslant2\left\|\left(\nabla^2fx\right)^{-1}\right\|\)1,所以:

\[\begin{equation*} \frac{||x_{n+1}-x||}{||x_n-x||^2}\leqslant L\left\|\left(\nabla^2fx\right)^{-1}\right\| \end{equation*}\]

当:

\[\begin{equation*} ||x_0-x||\leqslant\min\left\{\delta,r,\frac{1}{2L\left\|\left(\nabla^2fx\right)^{-1}\right\|}\right\} \end{equation*}\]

时结论成立,第三式是因为:

\[\begin{equation*} ||x_1-x||\leqslant L\left\|\left(\nabla^2fx\right)^{-1}\right\|||x_0-x||^2 \end{equation*}\]

右式未必满足小于等于\(||x_0-x||\),这将导致序列\(\{x_n:n\geqslant1\}\)不在\(U(x,\delta)\)中。一旦控制了该不等式,则\(||x_1-x||\leqslant\dfrac{1}{2}||x_0-x||\)。设\(n\)时有:

\[\begin{equation*} ||x_n-x||\leqslant\frac{1}{2L\left\|\left(\nabla^2fx\right)^{-1}\right\|} \end{equation*}\]

\(n+1\)时有:

\[\begin{equation*} ||x_{n+1}-x||\leqslant L\left\|\left(\nabla^2fx\right)^{-1}\right\|||x_n-x||^2\leqslant\frac{1}{2}||x_n-x|| \end{equation*}\]

这保证了\(\{x_n\}\subseteq U(x,\delta)\),并且每进行一步范数误差至少减少一半。

(2)由Newton方程、Newton-Leibniz公式,积分的范数小于等于范数的积分,算子范数性质 4.1.1(6)可得:

\[\begin{align*} &||\nabla fx_{n+1}||=||\nabla fx_{n+1}-\nabla fx_n-\nabla^2fx_nd_n\||=\left\|\int_{0}^{1}\nabla^2f(x_n+td_n)d_n\mathop{}\!\mathrm{d}t-\nabla^2fx_nd_n\right\| \\ =&\left\|\int_{0}^{1}\left[\nabla^2f(x_n+td_n)-\nabla^2fx_n\right]d_n\mathop{}\!\mathrm{d}t\right\|\leqslant\int_{0}^{1}\left\|\left[\nabla^2f(x_n+td_n)-\nabla^2fx_n\right]d_n\right\|\mathop{}\!\mathrm{d}t \\ \leqslant&\int_{0}^{1}\left\|\nabla^2f(x_n+td_n)-\nabla^2fx_n\right\|||d_n||\mathop{}\!\mathrm{d}t\leqslant\int_{0}^{1}L||td_n||\;||d_n||\mathop{}\!\mathrm{d}t=\frac{L||d_n||^2}{2} \\ =&\frac{L}{2}\left\|\left(\nabla^2fx_n\right)^{-1}\nabla fx_n\right\|^2\leqslant\frac{L}{2}\left\|\left(\nabla^2fx_n\right)^{-1}\right\|^2||\nabla fx_n||^2\leqslant2L\left\|\left(\nabla^2fx\right)^{-1}\right\|^2||\nabla fx_n||^2 \end{align*}\]

所以\(\{||\nabla fx_n||\}\)Q-二次收敛到\(0\)。 ◻


  1. 证明过于复杂,略去。↩︎

COMPUTATIONAL NOTES

计算实验

实验01

Newton 法:局部二次收敛

Python · Jupyter

优化 Newton 法的局部二次收敛

考虑严格凸函数

f(x, y) = ex − x + e2y − 2y,

其唯一最小值点为 x* = (0, 0)。实验记录 Newton 迭代轨迹、梯度范数和误差平方比。

import numpy as np
import matplotlib.pyplot as plt
from scipy.linalg import solve
from scipy.optimize import minimize

def objective(point):
    x, y = point
    return np.exp(x) - x + np.exp(2.0 * y) - 2.0 * y

def gradient(point):
    x, y = point
    return np.array([np.exp(x) - 1.0, 2.0 * np.exp(2.0 * y) - 2.0])

def hessian(point):
    x, y = point
    return np.diag([np.exp(x), 4.0 * np.exp(2.0 * y)])

start = np.array([1.5, 0.75])
verification = minimize(objective, start, jac=gradient, method="BFGS", tol=1e-13)
print("SciPy verification point:", verification.x)
print("Theoretical minimizer: [0. 0.]")
SciPy verification point: [ 3.51528465e-14 -7.89987589e-15]
Theoretical minimizer: [0. 0.]
def newton_history(x0, maximum_iterations=12, tolerance=1e-14):
    point = np.asarray(x0, dtype=float)
    history = [point.copy()]
    for _ in range(maximum_iterations):
        step = solve(hessian(point), gradient(point), assume_a="pos")
        point = point - step
        history.append(point.copy())
        if np.linalg.norm(gradient(point)) <= tolerance:
            break
    return np.asarray(history)

history = newton_history(start)
errors = np.linalg.norm(history, axis=1)
gradient_norms = np.asarray([np.linalg.norm(gradient(point)) for point in history])

print("k        x_k                 y_k             ||x_k-x*||       ||grad f(x_k)||")
for k, (point, error, grad_norm) in enumerate(zip(history, errors, gradient_norms)):
    print(f"{k:>2d}  {point[0]:>18.10e}  {point[1]:>18.10e}  {error:>14.6e}  {grad_norm:>14.6e}")

print("\nSquared-error ratio ||e_(k+1)|| / ||e_k||^2:")
for k in range(len(errors) - 1):
    if errors[k] > 0:
        print(f"k={k}: {errors[k + 1] / errors[k]**2:.6e}")
k        x_k                 y_k             ||x_k-x*||       ||grad f(x_k)||
 0    1.5000000000e+00    7.5000000000e-01    1.677051e+00    7.785293e+00
 1    7.2313016015e-01    3.6156508007e-01    8.084841e-01    2.372186e+00
 2    2.0836118568e-01    1.0418059284e-01    2.329549e-01    5.180029e-01
 3    2.0274917814e-02    1.0137458907e-02    2.266805e-02    4.579881e-02
 4    2.0415408242e-04    1.0207704121e-04    2.282512e-04    4.565490e-04
 5    2.0838026512e-08    1.0419013256e-08    2.329762e-08    4.659524e-08
 6    3.0837457679e-16    1.5418728840e-16    3.447733e-16    4.965068e-16

Squared-error ratio ||e_(k+1)|| / ||e_k||^2:
k=0: 2.874610e-01
k=1: 3.563928e-01
k=2: 4.177058e-01
k=3: 4.442064e-01
k=4: 4.471832e-01
k=5: 6.351999e-01
x_grid = np.linspace(-0.35, 1.65, 320)
y_grid = np.linspace(-0.25, 0.85, 320)
X, Y = np.meshgrid(x_grid, y_grid)
Z = np.exp(X) - X + np.exp(2.0 * Y) - 2.0 * Y

fig, axes = plt.subplots(1, 2, figsize=(12, 4.9), constrained_layout=True)

levels = 2.0 + np.geomspace(1e-4, 8.0, 16)
axes[0].contour(X, Y, Z, levels=levels, colors="#9aa2b1", linewidths=0.8)
axes[0].plot(history[:, 0], history[:, 1], "o-", color="#397d78", linewidth=1.8)
axes[0].scatter([0.0], [0.0], marker="*", s=120, color="#c26b4a", zorder=4)
for k, point in enumerate(history):
    axes[0].annotate(str(k), point, xytext=(5, 5), textcoords="offset points", fontsize=9)
axes[0].set(
    title="Newton Iteration Trajectory",
    xlabel="x",
    ylabel="y",
)
axes[0].grid(alpha=0.15)

tiny = np.finfo(float).tiny
iterations = np.arange(len(history))
axes[1].semilogy(iterations, np.maximum(errors, tiny), "o-", color="#52649a", label=r"$||x_k-x^*||$")
axes[1].semilogy(iterations, np.maximum(gradient_norms, tiny), "s-", color="#397d78", label=r"$||\nabla f(x_k)||$")
axes[1].set(
    title="Error and Gradient Norm",
    xlabel="Iteration $k$",
    ylabel="Log scale",
)
axes[1].grid(True, which="both", alpha=0.2)
axes[1].legend()
plt.show()

观察

当迭代点进入最小值邻域后,误差平方比趋于有限常数,误差曲线迅速下降。这对应 Newton 法的局部 Q-二次收敛。