最优化方法 26:不动点迭代

前面讲了很多具体的算法,比如梯度、次梯度、近似点梯度、加速近似点梯度、PPA、DR方法、ADMM、ALM等,对这些方法的迭代过程有了一些了解。这一节则主要是针对算法的收敛性进行分析,试图从一个更加抽象的层面,利用不动点迭代的思想,把上面的算法综合起来,给一个比较 general 的收敛性分析方法。

1. 什么是不动点?

对于希尔伯特空间(Hilbert space) H \mathcal{H} H,定义了内积 < ⋅ , ⋅ > \left<\cdot,\cdot\right> , 和 范数 ∥ ⋅ ∥ \|\cdot\| (可以借助于 R 2 \R^2 R2 来想象)。算子 T : H → H T:\mathcal{H}\to\mathcal{H} T:HH(或者是 C → C C\to C CC C C C H \mathcal{H} H 的闭子集)。那么算子 T T T 的不动点集合就定为
F i x T : = { x ∈ H : x = T ( x ) } \mathrm{Fix} T:=\{x \in \mathcal{H}: x=T(x)\} FixT:={ xH:x=T(x)}
如果不动点集合非空,想要研究的是不动点迭代 x k + 1 ← T ( x k ) x^{k+1}\leftarrow T(x^k) xk+1T(xk) 的收敛性。为了简便,常把 T ( x ) T(x) T(x) 写为 T x Tx Tx

为什么要研究不动点迭代呢?因为前面我们讲的算法里面很多都可以表示为这种形式。

例子 1(GD) :对于无约束优化 min ⁡ f ( x ) \min f(x) minf(x),不假设 f f f 一定是凸的。如果有 ∇ f ( x ⋆ ) = 0 \nabla f(x^\star)=0 f(x)=0,那么 x ⋆ x^\star x 被称为驻点(stationary point)。梯度下降做的什么事呢? x k + 1 = x k − γ ∇ f ( x k ) x^{k+1}=x^k-\gamma \nabla f(x^k) xk+1=xkγf(xk),所以实际上算子 T T T
T : = I − γ ∇ f T:=I-\gamma \nabla f T:=Iγf
我们要找的最优解 x ⋆ x^\star x 满足 ∇ f ( x ⋆ ) = 0 ⟹ x ⋆ = T ( x ⋆ ) \nabla f(x^\star)=0\Longrightarrow x^\star=T(x^\star) f(x)=0x=T(x),因此我们要找的就是 T T T 的不动点。

例子 2(PG1) :对于有约束优化 min ⁡ f ( x ) ,  s.t.  x ∈ C \min f(x),\text{ s.t. }x\in C minf(x), s.t. xC,假设 f f f 为正常的闭凸函数, C C C 为非空闭凸集。对于这个带约束的优化问题,我们可以做完一步梯度下降以后再做个投影 x k + 1 ← proj ⁡ C ( x k − γ ∇ f ( x k ) ) x^{k+1}\leftarrow \operatorname{proj}_{C}(x^k-\gamma \nabla f(x^k)) xk+1projC(xkγf(xk)),所以有
T : = proj ⁡ C ( I − γ ∇ f ) T:=\operatorname{proj}_{C}(I-\gamma \nabla f) T:=projC(Iγf)
而我们要找的最优解需要满足 ⟨ ∇ f ( x ⋆ ) , x − x ⋆ ⟩ ≥ 0 ∀ x ∈ C    ⟺    0 ∈ ∇ f ( x ⋆ ) + ∂ δ C ( x ⋆ ) \left\langle\nabla f\left(x^{\star}\right), x-x^{\star}\right\rangle \geq 0 \quad \forall x \in C \iff 0\in \nabla f(x^\star)+\partial \delta_C(x^\star) f(x),xx0xC0f(x)+δC(x),这实际上还是在找 T T T 的不动点。

例子 3(PG2) :上面向 C C C 的投影实际上也是在算 prox \text{prox} prox 算子。对于优化问题 min ⁡ f ( x ) + g ( x ) \min f(x)+g(x) minf(x)+g(x) 我们要解的方程是
0 ∈ ∇ f ( x ) + ∂ g ( x )    ⟺    0 ∈ x + ∇ f ( x ) − x + ∂ g ( x )    ⟺    ( I − ∇ f ) ( x ) ∈ ( I + ∂ g ) ( x )    ⟺    x = ( I + ∂ g ) − 1 ( I − ∇ f ) ( x ) \begin{array}{c} 0\in \nabla f(x)+\partial g(x) \iff 0\in x+\nabla f(x)-x+\partial g(x) \\ \iff (I-\nabla f)(x)\in (I+\partial g)(x) \\ \iff x=(I+\partial g)^{-1}(I-\nabla f)(x) \end{array} 0f(x)+g(x)0x+f(x)x+g(x)(If)(x)(I+g)(x)x=(I+g)1(If)(x)
上一节讲到了 ( I + ∂ g ) − 1 (I+\partial g)^{-1} (I+g)1 就是 prox \text{prox} prox 算子,所以这个不动点迭代就等价于近似点梯度方法。

例子 4(KKT) :对于优化问题
min ⁡ f 0 ( x ) s.t. g ( x ) ≤ 0 h ( x ) = 0 \begin{aligned} \min\quad& f_0(x) \\ \text{s.t.}\quad& g(x)\le0 \\ & h(x)=0 \end{aligned} mins.t.f0(x)g(x)0h(x)=0
拉格朗日函数为 L ( x , λ , ν ) = f 0 ( x ) + λ T g ( x ) + ν T h ( x ) , λ ≥ 0 L(x,\lambda,\nu)=f_0(x)+\lambda^T g(x)+\nu^T h(x),\lambda\ge0 L(x,λ,ν)=

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值