本文的收敛性证明针对于可行集为凸集的场景。
https://zhuyulab.blog.csdn.net/article/details/119084135 在这篇中我们证明了, 无约束的梯度下降法,可以有:
∥
x
k
+
1
−
x
⋆
∥
≤
M
∥
x
k
−
x
⋆
∥
\|x_{k+1}-x^\star\|\le M\|x_k-x^\star\|
∥xk+1−x⋆∥≤M∥xk−x⋆∥ 即每次迭代后的点 相比于迭代前, 离最优值
x
⋆
x^\star
x⋆更接近。 而投影梯度法的收敛性核心在于证明:
∥
x
^
k
+
1
−
x
⋆
∥
≤
M
∥
x
k
−
x
∗
∥
\| \hat{x}_{k+1}- x^\star\|\le M\|x_k-x^*\|
∥x^k+1−x⋆∥≤M∥xk−x∗∥ 其中,
x
^
k
+
1
\hat{x}_{k+1}
x^k+1是将
x
k
+
1
x_{k+1}
xk+1投影到可行集
S
S
S中的点。 首先,我们明确下投影的定义。 寻找一点
z
z
z凸集
S
S
S内的投影
z
∗
z^*
z∗, 就是找到一点:
z
∗
=
arg
min
z
∗
∈
S
∥
z
−
z
∗
∥
2
z^*=\arg\min_{z^*\in S}\|z-z^*\|^2
z∗=argminz∗∈S∥z−z∗∥2,即
S
S
S中离
z
z
z距离最短的一点。 大家可以想象一下, 如果
z
z
z在某个平面上方, 那么离他距离最近的点, 不就是过
z
z
z对
S
S
S做垂线得到的垂足嘛。 但如果平面比较小,
z
z
z的垂足落在了平面外呢? 那就出现了上图中的黑色的
z
∗
z^*
z∗的情况, 应该位于
S
S
S的边界上。 但无论如何, 下式是一定成立的:
⟨ z ∗ − z , z ∗ − x ⟩ ≤ 0 (1) \langle z^* - z, z^* - x\rangle\le 0\tag{1} ⟨z∗−z,z∗−x⟩≤0(1)
几何意义很容易理解: S S S上任一点和 z ∗ z^* z∗连线与 z z ∗ zz^* zz∗成直角或钝角。 直角就是之前垂足在 S S S上的场景。 钝角就是垂足在 S S S外的场景。
可以这样证明, 由于 S S S是凸集, 因此存在 t > 0 t>0 t>0, z ∗ + t ( x − z ∗ ) ∈ S z^* + t(x-z^*)\in S z∗+t(x−z∗)∈S。又根据投影的定义,有:
∥ z ∗ + t ( x − z ∗ ) − z ∥ 2 ≥ ∥ z ∗ − z ∥ 2 \|z^* + t(x-z^*) - z\|^2\ge \|z^* - z\|^2 ∥z∗+t(x−z∗)−z∥2≥∥z∗−z∥2 将左边展开, 有: ⟨ z ∗ − z , x − z ∗ ⟩ + t ∥ x − z ∗ ∥ 2 ≥ 0 \langle z^* - z, x-z^* \rangle+t\|x-z^*\|^2\ge 0 ⟨z∗−z,x−z∗⟩+t∥x−z∗∥2≥0 由于上式对于 t → 0 t\rightarrow0 t→0也成立, 因此: ⟨ z ∗ − z , x − z ∗ ⟩ ≥ 0 \langle z^* - z, x-z^* \rangle\ge 0 ⟨z∗−z,x−z∗⟩≥0 也即(1).
接下来, 假设空间中任意两点 z z z 和 y y y 在 S S S上的投影分别为 z ∗ z^* z∗ 和 y ∗ y^* y∗, 因为 z ∗ z^* z∗和 y ∗ y^* y∗显然是 S S S上的两点,因此我们有: ⟨ z − z ∗ , y ∗ − z ∗ ⟩ ≤ 0 , ⟨ y − y ∗ , z ∗ − y ∗ ⟩ ≤ 0 \langle z-z^*, y^*-z^*\rangle\le 0, \quad \langle y-y^*, z^*-y^*\rangle\le 0 ⟨z−z∗,y∗−z∗⟩≤0,⟨y−y∗,z∗−y∗⟩≤0 右边也可以写作: ⟨ y − y ∗ , y ∗ − z ∗ ⟩ ≥ 0 \langle y-y^*, y^*-z^*\rangle\ge 0 ⟨y−y∗,y∗−z∗⟩≥0 因此, ⟨ y − y ∗ − ( z − z ∗ ) , y ∗ − z ∗ ⟩ ≥ 0 ⇒ ⟨ y − z − ( y ∗ − z ∗ ) , y ∗ − z ∗ ⟩ ≥ 0 ⇒ ⟨ y ∗ − z ∗ , y ∗ − z ∗ ⟩ ≤ ⟨ y − z , y ∗ − z ∗ ⟩ ⇒ ∥ y ∗ − z ∗ ∥ 2 ≤ ⟨ y − z , y ∗ − z ∗ ⟩ ≤ ∥ y − z ∥ ∥ y ∗ − z ∗ ∥ ⇒ ∥ y ∗ − z ∗ ∥ ≤ ∥ y − z ∥ \langle y - y^* - (z-z^*), y^*-z^*\rangle\ge 0\\ \Rightarrow\langle y - z - (y^*-z^*), y^*-z^*\rangle\ge 0\\ \Rightarrow \langle y^*-z^*, y^*-z^*\rangle\le\langle y-z, y^*-z^*\rangle\\ \Rightarrow\|y^*-z^*\|^2\le \langle y-z, y^*-z^*\rangle\le \|y-z\|\|y^*-z^*\|\\ \Rightarrow\|y^*-z^*\|\le \|y-z\| ⟨y−y∗−(z−z∗),y∗−z∗⟩≥0⇒⟨y−z−(y∗−z∗),y∗−z∗⟩≥0⇒⟨y∗−z∗,y∗−z∗⟩≤⟨y−z,y∗−z∗⟩⇒∥y∗−z∗∥2≤⟨y−z,y∗−z∗⟩≤∥y−z∥∥y∗−z∗∥⇒∥y∗−z∗∥≤∥y−z∥
也就是说: 两点的距离大于两点在凸集上投影点间的距离。
根据这个结论, 由于 x ⋆ x^\star x⋆在 S S S上的投影就是 x ⋆ x^\star x⋆本身,因此: ∥ x ^ k + 1 − x ⋆ ∥ ≤ ∥ x k + 1 − x ⋆ ∥ ≤ M ∥ x k − x ∗ ∥ \| \hat{x}_{k+1}- x^\star\|\le \|x_{k+1}-x^\star\|\le M\|x_k-x^*\| ∥x^k+1−x⋆∥≤∥xk+1−x⋆∥≤M∥xk−x∗∥
收敛性得证。