无约束问题的最小化

本文介绍了无约束凸优化问题的解决方法,特别是强凸函数的性质,包括梯度下降、最速下降法和牛顿法。通过分析梯度和Hessian矩阵,探讨了条件数在优化中的作用,并解释了如何利用条件数来理解优化问题的几何特性。此外,文章还提出了下降算法的求解框架。
摘要由CSDN通过智能技术生成

最近在看"Machine Learning A Probability Perspective"的逻辑回归,因为涉及些优化的算法,一起看书的伙伴们就决定把"Convex Optimization"优化的内容看一下。
在阅读以下内容之前,要记住问题的出发点,即给定无约束的凸问题该用什么方法求得最优解(这里假设问题是求最小值)?各种方法之间有什么性质。
也许最先想到的方法就是对变量求梯度,让它等于 0 0 0的变量值就是最优解。没错,这样的方法很简单,但是当求导过程过于复杂的时候该怎么办呢?也许你还知道梯度下降,牛顿法等等。如果你对这些方法没有听说过,或者还想知道更多,那接着阅读下去吧,当然最好还是建议你看一下原书。
最近正在忙毕设(好慌,QAQ!),看的内容比较少,这次内容包括:

  • 强凸及其性质
  • 下降方法求解的框架
  • 梯度下降算法收敛性分析
  • 最速下降法
  • 牛顿方法

强凸及其性质

函数强凸是说在凸集 S \rm{S} S中,对于 ∀ x ∈ S \forall \mathbf{x}\in \rm S xS均有下式成立:
∇ 2 f ( x ) ≽ m   I \nabla^2 f(\mathbf{x}) \succcurlyeq m \, \mathbf I 2f(x)mI
其中 m > 0 m>0 m>0,将上式带入到函数的泰勒展开式
f ( y ) = f ( x ) + ∇ f ( x ) T ( y − x ) + 1 2 ( y − x ) T ∇ 2 f ( x ) ( y − x ) f(\mathbf y)=f(\mathbf{x})+\nabla f(\mathbf x)^T(\mathbf y-\mathbf x)+\frac{1}{2}(\mathbf y-\mathbf x)^T\nabla^2f(\mathbf x)(\mathbf y-\mathbf x) f(y)=f(x)+f(x)T(yx)+21(yx)T2f(x)(yx)
得到
(1) f ( y ) ≥ f ( x ) + ∇ f ( x ) T ( y − x ) + m 2 ∥ y − x ∥ 2 2 f(\mathbf y)\geq f(\mathbf x)+\nabla f(\mathbf x)^T(\mathbf y-\mathbf x)+\frac{m}{2}\Vert\mathbf y-\mathbf x\Vert_2^2 \tag 1 f(y)f(x)+f(x)T(yx)+2myx22(1)
在等式右边对 y \mathbf y y求梯度,得到:
y − x = − 1 m ∇ f ( x ) \mathbf y - \mathbf x=-\frac{1}{m}\nabla f(\mathbf x) yx=m1f(x)
带入得到
(2) f ( y ) ≥ f ( x ) − 1 2 m ∥ ∇ f ( x ) ∥ 2 2 f(\mathbf y)\geq f(\mathbf x)-\frac{1}{2m}\Vert\nabla f(\mathbf x)\Vert^2_2 \tag{2} f(y)f(x)2m1f(x)22(2)
y = x ∗ \mathbf y=\mathbf x^* y=x,可以得到 ∇ f ( x ) \nabla f(\mathbf x) f(x)的下界
∥ ∇ f ( x ) ∥ 2 2 ≥ 2 m ( f ( x ) − p ∗ ) \Vert \nabla f(\mathbf x)\Vert_2^2\geq 2m(f(\mathbf x)-p^*) f(x)222m(f(x)p)
可以看到,当某一点的梯度越小时,其越接近最优点,而这与最优点梯度为0的常识相符合。因此也可以用 ∥ ∇ f ( x ) ∥ 2 2 ≤ ϵ \Vert \nabla f(\mathbf x)\Vert_2^2\leq\epsilon f(x)22ϵ当作收敛条件。

x ∗ \mathbf x^* x带入到(1)中,再利用柯西施瓦茨不等式得到:
f ( x ∗ ) ≥ f ( x ) − ∥ ∇ f ( x ) ∥ 2 ∥ x ∗ − x ∥ 2 + m 2 ∥ x ∗ − x ∥ 2 2 f(\mathbf x^*)\geq f(\mathbf x)-\Vert \nabla f(\mathbf x) \Vert_2\Vert\mathbf x^*-\mathbf x \Vert_2+\frac{m}{2}\Vert\mathbf x^* - \mathbf x\Vert_2^2 f(x)f(x)f(x)2xx2+2mxx22
可以得到
∥ x − x ∗ ∥ 2 ≤ 2 m ∥ ∇ f ( x ) ∥ 2 \Vert \mathbf x - \mathbf x^*\Vert_2 \leq \frac{2}{m}\Vert \nabla f(\mathbf x)\Vert_2 xx2m2f(x)2
即通过 ∥ ∇ f ( x ) ∥ 2 \Vert \nabla f(\mathbf x)\Vert_2 f(x)2可以得到 x \mathbf x x x ∗ \mathbf x^* x的差距上界。

一般而言 S \rm S S被当做是下子集,是有界的,故存在 M > 0 M>0 M>0使得 ∀ x ∈ S \forall \mathbf x\in \rm S xS满足
∇ 2 f ( x ) ⪯ M I \nabla^2f(\mathbf x)\preceq M\mathbf I 2f(x)MI
使用相同的方法,可以得到:
f ( y ) ⪯ f ( x ) + ∇ f ( x ) T ( y − x ) + M 2 ∥ y − x ∥ 2 2 p ∗ ⪯ f ( x ) − 1 2 M ∥ ∇ f ( x ) ∥ 2 2 f(\mathbf y)\preceq f(x)+\nabla f(\mathbf x)^T(\mathbf y-\mathbf x)+\frac{M}{2}\Vert\mathbf y- \mathbf x \Vert_2^2\\ p^* \preceq f(\mathbf x)-\frac{1}{2M}\Vert \nabla f(\mathbf x)\Vert_2^2 f(y)f(x)+f(x)T(yx)+2Myx22pf(x)2M1f(x)22
定义 κ = M m \kappa = \frac{M}{m} κ=mM S \rm S S c o n d i t i o n   n u m b e r \textit condition \, number conditionnumber c o n d i t i o n   n u m b e r \textit condition \, number conditionnumber会在之后的收敛性分析中扮演重要的角色。 ∇ 2 f ( x ) \nabla^2 f(\mathbf x) 2f(x)是实对称矩阵,可以看出 c o n d i t i o n   n u m b e r \textit condition\, number conditionnumber可以看作 ∇ 2 f ( x ) \nabla^2f(\mathbf x) 2f(x) ∀ x ∈ S \forall \mathbf x \in \rm S xS中最大特征值和最小特征值的比值。关于条件数和几何解释的衔接还在考虑怎么写

下面对 c o n d i t i o n   n u m b e r \textit condition \, number conditionnumber进行几何解释,设凸集合 C C C的沿某一方向上的宽度为
W ( C , q ) = sup ⁡ z ∈ C q T z − inf ⁡ z ∈ C q T z W(C,q)=\sup_{z\in C}q^Tz-\inf_{z\in C}q^Tz W(C,q)=zCsupqTzzCinfqTz
集合 C C C在不同方向上的最大最小宽度如下:
W min ⁡ = inf ⁡ ∣ q ∣ 2 = 1 W ( C , q ) W max ⁡ = sup ⁡ ∣ q ∣ 2 = 1 W ( C , q ) W_{\min}=\inf_{\vert q\vert_2=1}W(C,q)\\ W_{\max}=\sup_{\vert q\vert_2=1}W(C,q) Wmin=q2=1infW(C,q)Wmax=q2=1supW(C,q)
c o n d i t i o n   n u m b e r condition\, number conditionnumber W m a x 2 / W m i n 2 W_{max}^2/W_{min}^2 Wmax2/Wmin2,从而可以看出 c o n d i t i o n   n u m b e r condition\, number conditionnumber越小说明集合 C C C越圆,反之则其各项异性比较大。

对于 α \alpha α-sublevel子集 C α = { x ∣ f ( x ) ≤ α } C_{\alpha}=\{\mathbf x\vert f(\mathbf x)\leq\alpha\} Cα={xf(x)α},根据(2)和类似的式子可得
p ∗ + M 2 ∥ x ∗ − y ∥ 2 2 ≥ f ( y ) ≥ p ∗ + m 2 ∥ x ∗ − y ∥ 2 2 p^*+\frac{M}{2}\Vert\mathbf x^*-\mathbf y \Vert_2^2\geq f(\mathbf y)\geq p^*+\frac{m}{2}\Vert\mathbf x^*-\mathbf y \Vert_2^2 p+2Mxy22f(y)p+2mxy22
再利用 α ≥ f ( y ) \alpha \geq f(\mathbf y) αf(y),则 α ≥ p ∗ + m 2 ∥ x ∗ − y ∥ 2 2 \alpha \geq p^*+\frac{m}{2}\Vert\mathbf x^*-\mathbf y \Vert_2^2 αp+2mxy22。当 y \mathbf y y趋近于 x ∗ \mathbf x^* x时, p ∗ + M 2 ∥ x ∗ − y ∥ 2 2 p^*+\frac{M}{2}\Vert\mathbf x^*-\mathbf y \Vert_2^2 p+2Mxy22趋近于 p ∗ p^* p,此时 α ≥ p ∗ + M 2 ∥ x ∗ − y ∥ 2 2 \alpha \geq p^*+\frac{M}{2}\Vert\mathbf x^*-\mathbf y \Vert_2^2 αp+2Mxy22可以求得部分 y \mathbf y y的范围。上述两个不等式可以得到:
B i n n e r = { y ∣ ∥ y − x ∗ ∥ 2 2 ≤ 2 M ( α − p ∗ ) } B o u t e r = { y ∣ ∥ y − x ∗ ∥ 2 2 ≤ 2 m ( α − p ∗ ) } B_{inner}=\{\mathbf y\vert \Vert \mathbf y-\mathbf x^* \Vert_2^2\leq \frac{2}{M}(\alpha-p^*)\}\\ B_{outer}=\{\mathbf y\vert \Vert \mathbf y-\mathbf x^* \Vert_2^2\leq \frac{2}{m}(\alpha-p^*)\} Binner={yyx22M2(αp)}Bouter={yyx22m2(αp)}
可见 α \alpha α下子集在 B i n n e r B_{inner} Binner B o u t e r B_{outer} Bouter之间,则根据几何解释 cond ( C α ) ≤ M m \textbf{cond}(C_{\alpha})\leq \frac{M}{m} cond(Cα)mM。这样, c o n d i t i o n   n u m b e r condition \, number conditionnumber和下子集的形状联系了起来。

α \alpha α趋近于 x ∗ \mathbf x^* x时,根据泰勒展开,其梯度可以认为是0,得到下子集 C α C_\alpha Cα
C α = { y ∣ ( y − x ∗ ) T ∇ 2 f ( x ) ( y − x ∗ ) ≤ 2 ( α − p ∗ ) } C_\alpha = \{\mathbf y|(\mathbf y - \mathbf x^*)^T\nabla^2f(\mathbf x)(\mathbf y - \mathbf x^*)\leq 2(\alpha - p^*)\} Cα={y(yx)T2f(x)(yx)2(αp)}
可以看到此时的下子集 C α C_\alpha Cα接近为 ∇ 2 f ( x ∗ ) \nabla^2 f(\mathbf x^*) 2f(x)的椭球,此时的 cond ( C α ) = κ ∇ 2 f ( x ∗ ) \textbf{cond}(C_{\alpha})=\kappa{\nabla^2 f(\mathbf x^*)} cond(Cα)=κ2f(x)

下降算法求解框架

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值