非光滑函数的近端算法、Mirror Descent、对偶优化、光滑化、以及其加速算法

本小节将讨论如下一般形式的最优化问题:
min ⁡ x f ( x ) \min _x f(x) xminf(x)
其中 ψ \psi ψ 是一个适当的闭凸函数,这里并不要求 ψ \psi ψ 是可微或连续的(例如 ψ \psi ψ 的一部分可以是凸集的示性函数). 对于不可微的 ψ \psi ψ, 我们可以用次梯度算 法, 但是该方法往往收敛较慢, 且收敛条件比较苛刻.
首先我们要明确非光滑对于收玫性是及其不友好,
非光滑的话,我们研究次梯度方法的收敛性。次梯度的迭代为:
x k + 1 = x k − α k g k , g k ∈ ∂ f ( x k ) x^{k+1}=x^k-\alpha_k g^k, g^k \in \partial f\left(x^k\right) xk+1=xkαkgk,gkf(xk)
非光滑对于收玫性是及其不友好的,并且次梯度方向都不能保证是一个下降方向。在光滑的情况 下,只要 α k \alpha_k αk 选的足够小 (取决于光滑系数 L g L_g Lg ) , 再不济也能保证每步的函数值能够下降,通常 是通过线搜索来完成。而次梯度由于不是下降方向,就没有这个性质了,也就是说不能保证单调下降。\
1.1. convex case\
定理1.1 (Nonsmooth + convex) 如果函数 f f f 是凸的且是Lipschitzness的。对于迭代方法
(1.1),步长选择策略为: α k = f ( x k ) − f ∗ ∥ g k ∥ 2 \alpha_k=\frac{f\left(x^k\right)-f^*}{\left\|g^k\right\|^2} αk=gk2f(xk)f 如果 g k ≠ 0 g^k \neq 0 gk=0 ,否则 α k = 1 \alpha_k=1 αk=1 。那么我们有:\

  1. ∥ x k + 1 − x ∗ ∥ 2 ≤ ∥ x k − x ∗ ∥ 2 \left\|x^{k+1}-x^*\right\|^2 \leq\left\|x^k-x^*\right\|^2 xk+1x 2 xkx 2\
  2. f k → f ∗ f^k \rightarrow f^* fkf as k → ∞ k \rightarrow \infty k\
  3. f best  n − f ∗ ≤ L f ∥ x 0 − x ∗ ∥ n + 1 f_{\text {best }}^n-f^* \leq \frac{L_f\left\|x^0-x^*\right\|}{\sqrt{n+1}} fbest nfn+1 Lfx0x ,其中, f best  n = min ⁡ k { f ( x k ) , k = 1 , ⋯   , n } f_{\text {best }}^n=\min _k\left\{f\left(x^k\right), k=1, \cdots, n\right\} fbest n=mink{f(xk),k=1,,n}\
    \href{https://zhuanlan.zhihu.com/p/92385493}{https://zhuanlan.zhihu.com/p/92385493}\
    1.2strongly convex case\
    定理1.2. (Nonsmooth+strongly convex) 如果函数 f f f σ \sigma σ-强凸的且是Lipschitzness的。对 于迭代方法 (1.1),步长选择策略为: α k = 2 σ ( k + 1 ) \alpha_k=\frac{2}{\sigma(k+1)} αk=σ(k+1)2 。那么我们有: 对任意 k k k
    f b e s t k − f ∗ ≤ 2 L f 2 σ ( k + 1 ) f_{b e s t}^k-f^* \leq \frac{2 L_f^2}{\sigma(k+1)} fbestkfσ(k+1)2Lf2
    其中 f best  k = min ⁡ i { f ( x i ) , i = 1 , ⋯   , k } f_{\text {best }}^k=\min _i\left\{f\left(x^i\right), i=1, \cdots, k\right\} fbest k=mini{f(xi),i=1,,k} 。\

\subsection{近似点算法}
本小节将讨论如下一般形式的最优化问题:
min ⁡ x ψ ( x ) , \min _x \psi(x), xminψ(x),
其中 ψ \psi ψ 是一个适当的闭凸函数, 这里并不要求 ψ \psi ψ 是可微或连续的(例如 ψ \psi ψ 的一部分可以是凸集的示性函数). 对于不可微的 ψ \psi ψ, 我们可以用次梯度算 法, 但是该方法往往收玫较慢, 且收玫条件比较苛刻. 我们也可以考虑如下 隐式格式的次梯度算法:
x k + 1 = x k − t k ∂ ψ ( x k + 1 ) . x^{k+1}=x^k-t_k \partial \psi\left(x^{k+1}\right) . xk+1=xktkψ(xk+1).
上面的格式只是形式上的. 类似于之前的近似点梯度算法, 可以用邻近算子 表示隐式格式:近似点算法格式可以写成
x k + 1 = prox ⁡ t k ψ ( x k ) = arg ⁡ min ⁡ u { ψ ( u ) + 1 2 t k ∥ u − x k ∥ 2 2 } , \begin{aligned} x^{k+1} & =\operatorname{prox}_{t_k \psi}\left(x^k\right) \\ & =\underset{u}{\arg \min }\left\{\psi(u)+\frac{1}{2 t_k}\left\|u-x^k\right\|_2^2\right\}, \end{aligned} xk+1=proxtkψ(xk)=uargmin{ψ(u)+2tk1 uxk 22},
其中 t k t_k tk 为第 k k k 步迭代时的步长,可为固定值或通过某种合适的线搜索策略 得到. 回顾近似点梯度法的迭代格式, 会发现这个算法可以看做是近似点梯 度法在 f ( x ) = 0 f(x)=0 f(x)=0 时的情况, 但不同之处在于:在近似点梯度法中, 非光滑 项 h ( x ) h(x) h(x) 的邻近算子通常比较容易计算; 而在近似点算法中, ψ ( x ) \psi(x) ψ(x) 的邻近算 子通常是难以求解的, 绝大多数情况下需借助其他类型的迭代法进行 (不精 确)求解.\
注 8.1 在近似点算法迭代格式中, 我们构造了一个看似比原 问题 形式更复杂的子问题. 这样的构造带来的好处是: 子问题的目 标函数是一个强凸函数, 更加便于使用迭代法进行求解.
与近似点梯度法类似, 同样可以对近似点算法进行加速. 与其对应的 FISTA 算法的迭代格式可以写成
x k = prox ⁡ t k ψ ( x k − 1 + γ k 1 − γ k − 1 γ k − 1 ( x k − 1 − x k − 2 ) ) , x^k=\operatorname{prox}_{t_k \psi}\left(x^{k-1}+\gamma_k \frac{1-\gamma_{k-1}}{\gamma_{k-1}}\left(x^{k-1}-x^{k-2}\right)\right), xk=proxtkψ(xk1+γkγk11γk1(xk1xk2)),
第二类 Nesterov 加速算法的迭代格式可以写成
v k = prox ⁡ ( t k / γ k ) ψ ( v k − 1 ) , x k = ( 1 − γ k ) x k − 1 + γ k v k . v^k=\operatorname{prox}_{\left(t_k / \gamma_k\right) \psi}\left(v^{k-1}\right), \quad x^k=\left(1-\gamma_k\right) x^{k-1}+\gamma_k v^k . vk=prox(tk/γk)ψ(vk1),xk=(1γk)xk1+γkvk.
\subsection{Mirror Descent}
\href{https://zhuanlan.zhihu.com/p/34299990}{https://zhuanlan.zhihu.com/p/34299990}\

我们本文考虑的general问题为:
min ⁡ x ∈ X F ( x ) = f ( x ) + P ( x ) \min _{x \in X} F(x)=f(x)+P(x) xXminF(x)=f(x)+P(x)
其中, F ( x ) F(x) F(x) 是我们的目标函数,它可以被分解为两个函数之和: f ( x ) f(x) f(x) 是convex且光滑 (比如 Lipschitz连续) 的, P ( x ) P(x) P(x) 是convex但可以不光滑,不过至少有一些方便计算的性质。另外, X X X 是有限维的向量空间。\
给定一个strongly convex的函数
h ( ⋅ ) : R n → R , h ( x ) ≥ h ( y ) + ∇ h ( y ) T ( x − y ) + 1 2 ∥ x − y ∥ 2 , ∀ x , y h(\cdot): \mathbb{R}^n \rightarrow \mathbb{R}, h(x) \geq h(y)+\nabla h(y)^T(x-y)+\frac{1}{2}\|x-y\|^2, \forall x, y h():RnR,h(x)h(y)+h(y)T(xy)+21xy2,x,y, 我们定义
Bregman divergence function为
D ( x , y ) : R n × R n → R : = h ( x ) − h ( y ) − ∇ h ( y ) T ( x − y ) D(x, y): \mathbb{R}^n \times \mathbb{R}^n \rightarrow \mathbb{R}:=h(x)-h(y)-\nabla h(y)^T(x-y) D(x,y):Rn×RnR:=h(x)h(y)h(y)T(xy)
我们指出, D ( x , y ) D(x, y) D(x,y) 便是mirror descent algorithm更general的关键,即是用来刻画各种非欧 距离的要素。在proximal algorithm的框架里,它也被称作prox(imal) function/prox(imal) term 等等,因为它便是用来衡量两个点 x , y x, y x,y 的接近 (proximity) 程度的。 D ( x , y ) D(x, y) D(x,y) 有很多性质,如 它也是strongly convex的 (given y y y ),它不对称, D ( x , y ) ≥ 1 2 ∥ x − y ∥ 2 D(x, y) \geq \frac{1}{2}\|x-y\|^2 D(x,y)21xy2 等等.\
引理1 (Three-Point Property):对任意凸函数 ϕ ( ⋅ ) \phi(\cdot) ϕ() 和Bregman function D ( x , y ) D(x, y) D(x,y) ,对给定 一点 z z z 定义 z + : = arg ⁡ min ⁡ { ϕ ( x ) + D ( x , z ) } z^{+}:=\arg \min \{\phi(x)+D(x, z)\} z+:=argmin{ϕ(x)+D(x,z)} ,则我们有
ϕ ( x ) + D ( x , z ) ≥ ϕ ( z + ) + D ( z + , z ) + D ( x , z + ) , ∀ x ∈ X \phi(x)+D(x, z) \geq \phi\left(z^{+}\right)+D\left(z^{+}, z\right)+D\left(x, z^{+}\right), \forall x \in X ϕ(x)+D(x,z)ϕ(z+)+D(z+,z)+D(x,z+),xX
定理1 (光滑mirror descent收敛速度) : F ( x t ) ≤ F ( x ) + L D ( x , x 0 ) t , ∀ x ∈ X F\left(x_t\right) \leq F(x)+\frac{L D\left(x, x_0\right)}{t}, \forall x \in X F(xt)F(x)+tLD(x,x0),xX.
显然,在以上定理的基础上,如果我们考虑 X = { x : D ( x , x 0 ) ≤ D ˉ } X=\left\{x: D\left(x, x_0\right) \leq \bar{D}\right\} X={x:D(x,x0)Dˉ} ,即 “半径” 为 D ˉ \bar{D} Dˉ 的 范围内,令最优解 x ∗ = arg ⁡ min ⁡ x ∈ X F ( x ) x^*=\arg \min _{x \in X} F(x) x=argminxXF(x), 就有 F ( x t ) ≤ F ( x ∗ ) + D ˉ L t F\left(x_t\right) \leq F\left(x^*\right)+\frac{\bar{D} L}{t} F(xt)F(x)+tDˉL. 也就是说,为了达到 ϵ \epsilon ϵ 的绝对误差,我们需要 L D ( x ∗ , x 0 ) ϵ \frac{L D\left(x_*, x_0\right)}{\epsilon} ϵLD(x,x0) 步。\
定理2 (非光滑mirror descent收敛速度) :
min ⁡ 0 ≤ k ≤ t F ( x k ) ≤ F ( x ) + L 2 2 ∑ l = 0 t α t 2 + D ( x , x 0 ) + α 0 P ( x 0 ) − α t P ( x t + 1 ) + ∑ l = 1 t P ( x t ) ( α t − α t − 1 ) ∑ l = 0 t α l . \min _{0 \leq k \leq t} F\left(x_k\right) \leq F(x)+\frac{\frac{L^2}{2} \sum_{l=0}^t \alpha_t^2+D\left(x, x_0\right)+\alpha_0 P\left(x_0\right)-\alpha_t P\left(x_{t+1}\right)+\sum_{l=1}^t P\left(x_t\right)\left(\alpha_t-\alpha_{t-1}\right)}{\sum_{l=0}^t \alpha_l} . 0ktminF(xk)F(x)+l=0tαl2L2l=0tαt2+D(x,x0)+α0P(x0)αtP(xt+1)+l=1tP(xt)(αtαt1).
也就是说,如果我们同样考虑 X = { x : D ( x , x 0 ) ≤ D ˉ } X=\left\{x: D\left(x, x_0\right) \leq \bar{D}\right\} X={x:D(x,x0)Dˉ} ,且 x 0 ∈ arg ⁡ min ⁡ x P ( x ) x_0 \in \arg \min _x P(x) x0argminxP(x) ,那么 为了达到绝对误差 ϵ \epsilon ϵ, 我们如果选取 α t : = ϵ L 2 \alpha_t:=\frac{\epsilon}{L^2} αt:=L2ϵ, 我们需要至少 2 L 2 D ˉ ϵ 2 \frac{2 L^2 \bar{D}}{\epsilon^2} ϵ22L2Dˉ 步,和定理 1 一 1 一 1 比较我们就知 道subgradient method确实是比graident method (即光滑情况下) 要慢了1个次方的。当 然,这是为了估计步数,我们指出一般来说一个更合理的步长选择应该是 α t : = 2 D ˉ L t + 1 \alpha_t:=\frac{2 \bar{D}}{L \sqrt{t+1}} αt:=Lt+1 2Dˉ.\
定理3 (光滑情况下加速算法的收敛速度) :
min ⁡ 0 ≤ k ≤ t F ( x k ) ≤ F ( x ) + 4 L D ( x , x 0 ) ( t + 1 ) 2 \min _{0 \leq k \leq t} F\left(x_k\right) \leq F(x)+\frac{4 L D\left(x, x_0\right)}{(t+1)^2} 0ktminF(xk)F(x)+(t+1)24LD(x,x0).
也就是说,同样考虑 X = { x : D ( x , x 0 ) ≤ D ˉ } X=\left\{x: D\left(x, x_0\right) \leq \bar{D}\right\} X={x:D(x,x0)Dˉ} ,我们知道绝对误差 达到 ϵ \epsilon ϵ 的步数是 4 L D ( x ∗ , x 0 ) ϵ \sqrt{\frac{4 L D\left(x_*, x_0\right)}{\epsilon}} ϵ4LD(x,x0) ,比smooth情况下naive的mirror descent又快了1个次方! 也就是说,实际上在 光滑情况下你永远应该考虑使用加速版本 (除非你要用coordinate descent,没有对应的加速方 法,不过本文我们不讨论这点了)
\subsection{函数的光滑化——从原始与对偶出发}
\href{https://zhuanlan.zhihu.com/p/137752141}{https://zhuanlan.zhihu.com/p/137752141}\
函数的光滑化是指对一个非光滑函数 f f f ,我们得到一个光滑的函数,假设是 f μ f_\mu fμ 。这个 f μ f_\mu fμ 要满足 两个条件,首先得是光滑的,其次就是不能和原函数 f f f 差太多,这个是很好理解的。接下来我们 正式的定义一下可光滑化 (smoothable)\
定义1.1. 给定一个凸函数 f f f ,我们称其为 ( α , β ) (\alpha, \beta) (α,β)-smoothable的,如果存在一个凸函数 f μ f_\mu fμ 使得 满足\

  1. f μ f_\mu fμ α μ \frac{\alpha}{\mu} μα 光滑的\
  2. f μ ( x ) ≤ f ( x ) ≤ f μ ( x ) + β μ f_\mu(x) \leq f(x) \leq f_\mu(x)+\beta \mu fμ(x)f(x)fμ(x)+βμ
    并且称 f μ f_\mu fμ f f f 在参数 ( α , β ) (\alpha, \beta) (α,β) 下的 1 μ \frac{1}{\mu} μ1 光滑逼近。\
    分析完之后,我们来说一下为什么要光滑化。首先是我们可以计算其梯度而不是次梯度,另外就是收敛性的分析。就梯度下降算法而言,非光滑情况下复杂度结果是比较差的,而光滑性能够提升算法的复杂度结果。\
    光滑化之后我们就直接得到了更好的复杂度了吗? 答案是否。因为我们还有第二个条件,这个光滑 化函数和原函数有一个gap。我们需要把对光滑化函数的结果上再加一个gap才能得到原函数的收 敛结果。所以这个 μ \mu μ 的选择就很重要了。\
    光滑化还有一个好处,就是光滑化之后可以应用的算法变多了。有很多算法只针对光滑函数有效。 比如Nesterov加速方法,这个方法把梯度方法对于凸光滑情况下的收敛率从 O ( 1 / k ) \mathcal{O}(1 / k) O(1/k) 提升到了 O ( 1 / k 2 ) \mathcal{O}\left(1 / k^2\right) O(1/k2) 。而对于非光滑的情况,就没有这样的加速方法。所以我们可以先对非光滑函数做光滑 化,然后对光滑函数执行Nesterov加速方法,以达到提升复杂度的效果。

\subsection{Nesterov加速}
如果光滑部分的梯度是利普希茨连续的, 则目标函数的收玫速度可以达到 O ( 1 k ) \mathcal{O}\left(\frac{1}{k}\right) O(k1). 一个自然的问题 是如果仅用梯度信息, 我们能不能取得更快的收玫速度. Nesterov 分别在 1983 年、 1988 年和 2005 年提出了三种改进的一阶算法, 收敛速度能达到 O ( 1 k 2 ) \mathcal{O}\left(\frac{1}{k^2}\right) O(k21). 实际上, 这三种算法都可以应用到近似点梯度算法上. 在 Nesterov 加速算法刚提出的时候, 由于牛顿算法有更快的收玫速度, Nesterov 加速 算法在当时并没有引起太多的关注. 但近年来, 随着数据量的增大, 牛顿型 方法由于其过大的计算复杂度, 不便于有效地应用到实际中, Nesterov 加 速算法作为一种快速的一阶算法重新被挖掘出来并迅速流行起来. Beck 和 Teboulle 就在 2008 年给出了 Nesterov 在 1983 年提出的算法的近似点梯度 法版本一FISTA. 本节将对这些加速方法做一定的介绍和总结, 主要讨论 凸函数的加速算法, 并给出相应的例子和收玫性证明. 作为补充, 我们也将 简单介绍非凸问题上的加速算法.

\subsection{复合优化问题}
考虑如下复合优化问题:
min ⁡ x ∈ R n ψ ( x ) = f ( x ) + h ( x ) , \min _{x \in \mathbb{R}^n} \psi(x)=f(x)+h(x), xRnminψ(x)=f(x)+h(x),
其中 f ( x ) f(x) f(x) 是连续可微的凸函数且梯度是利普希茨连续的 (利普希茨常数是 L ) , h ( x ) L), h(x) L),h(x) 是适当的闭凸函数. 优化问题由光滑部分 f ( x ) f(x) f(x) 和非光滑 部分 h ( x ) h(x) h(x) 组成, 可以使用近似点梯度法来求解这一问题, 但是其收玫速度只有 O ( 1 k ) .  \mathcal{O}\left(\frac{1}{k}\right) \text {. } O(k1)
\subsection{原问题 and 对偶问题}
三种观点:primal,dual,primal-dual。原问题,对偶问题,原+对偶问题,分别对应针对原变 量 x x x ,针对原变量 x x x 和对偶变量 y y y 和针对对偶变量 y y y 的优化问题。\
1.Primal: min ⁡ x ∈ R d { ψ ( x ) + 1 n ∑ i = 1 n f i ( a i T x ) } \min _{x \in \mathbb{R}^d}\left\{\psi(x)+\frac{1}{n} \sum_{i=1}^n f_i\left(a_i^T x\right)\right\} minxRd{ψ(x)+n1i=1nfi(aiTx)}\
2.Primal-dual: min ⁡ x ∈ R d max ⁡ y ∈ R n { ψ ( x ) − 1 n ∑ i = 1 n f i ∗ ( y i ) + 1 n y T A x } \min _{x \in \mathbb{R}^d} \max _{y \in \mathbb{R}^{\mathrm{n}}}\left\{\psi(x)-\frac{1}{n} \sum_{i=1}^n f_i^*\left(y_i\right)+\frac{1}{n} y^T A x\right\} minxRdmaxyRn{ψ(x)n1i=1nfi(yi)+n1yTAx}\
(从Primal的表达式中代入 f i ( a i T x ) = max ⁡ y ∈ R n { y i ⋅ a i T x − f i ∗ ( y ) } f_i\left(a_i^T x\right)=\max _{y \in \mathbb{R}^n}\left\{y_i \cdot a_i^T x-f_i^*(y)\right\} fi(aiTx)=maxyRn{yiaiTxfi(y)} )\
3.Dual: − min ⁡ y ∈ R n { ψ ∗ ( − 1 n A T y ) + 1 n ∑ i = 1 n f i ∗ ( y i ) } -\min _{y \in \mathbb{R}^{\mathrm{n}}}\left\{\psi^*\left(-\frac{1}{n} A^T y\right)+\frac{1}{n} \sum_{i=1}^n f_i^*\left(y_i\right)\right\} minyRn{ψ(n1ATy)+n1i=1nfi(yi)}\
(从Primal-dual的表达式中代入 ψ ∗ ( − 1 n A T y ) = max ⁡ x ∈ R d { − 1 n y T A x − ψ ( x ) } \psi^*\left(-\frac{1}{n} A^T y\right)=\max _{x \in \mathbb{R}^{\mathrm{d}}}\left\{-\frac{1}{n} y^T A x-\psi(x)\right\} ψ(n1ATy)=maxxRd{n1yTAxψ(x)} )\

原问题自然是一般我们最熟悉的形式,目标函数由一个convex的loss function(常可以分解为 data point数量个的损失函数 f i f_i fi 之和) 加上一个同样是convex的regularizer ψ \psi ψ 。比如SVM, Lasso, Ridge, Logistic Regression都是以这种形式最为常见在我们的视野当中。
至于问题的复杂度,我们可以用 ψ \psi ψ 是否是m-strongly-convex ( ψ ∗ \psi^* ψ 是否 1 / m − s m o o t h ) \left.1 / \mathrm{m}-\mathrm{smooth}\right) 1/msmooth) f i f_i fi 是 否是L-smooth ( f i ∗ \left(f_i^*\right. (fi 是否是1/L-strongly-convex) 来刻画。也就是说,每种形式都可以分为四 类:\

  1. strongly-convex且smooth。\
  2. strongly-convex但不smooth。\
  3. 不strongly-convex但smooth。\
  4. 不strongly-convex也不smooth。\
    用以上标准我们很容易知道,Ridge Regression属于第1类,L2-SVM属于第2类(L1-SVM就是第 4类了),Lasso和Logistic Regression属于第3类。所以到这里我们其实就有一个很自然的想法, 像第2类问题,因为在原问题space上不光滑然而到对偶空间却是光滑的,因此对偶算法会天然有 优势(这也解释了L2-SVM的主流算法是对偶算法,因为在原空间上的话需要额外再人工添加 regularizer)。第3类问题则反之。\
    同样 ,我们也有三种对应的加速(accelerated)算法,primal和dual对应的accelerated gradient descent和primal-dual对应的mirror-prox/momentum算法,它们同样具有一致的复杂度(虽然形式上区别非常巨大)。
    \subsection{带约束优化问题对偶视角}
    下面我将首先得到原问题的对偶问题,然后利用上面提到的三个方法去求解,最后通过 formulation,观察他们在转化到原始角度下是什么样的形式。
    \subsubsection {Dual (sub) gradient descent method}
    考虑线性约束凸问题:
    min ⁡ x f ( x )  s.t.  A x = b \begin{array}{r} \min _x f(x) \\ \text { s.t. } A x=b \end{array} minxf(x) s.t. Ax=b
    其中 f f f 是凸的(非光滑)。我们首先构建朗格朗日函数
    L ( x ; y ) = f ( x ) + y T ( A x − b ) \mathcal{L}(x ; y)=f(x)+y^T(A x-b) L(x;y)=f(x)+yT(Axb)
    其中 y y y 为对偶变量。接下来我们来构造对偶问题,令 d ( y ) : = − min ⁡ x L ( x ; y ) d(y):=-\min _x \mathcal{L}(x ; y) d(y):=minxL(x;y) ,那么对偶问题 为:
    min ⁡ y d ( y ) \min _y d(y) ymind(y)
    其中对问题 (7) 执行 (次) 梯度方法得到:
    y k + 1 = y k − α k ∂ d ( y k ) y^{k+1}=y^k-\alpha_k \partial d\left(y^k\right) yk+1=ykαkd(yk)
    如果 d d d 是光滑的,那么上式就为梯度下降。就这样结束了吗?并没有,虽然这样看起来很简洁, 但问题是我们不知道 d ( y ) d(y) d(y) 这个函数的显式表达形式是什么,甚至连是不是可微的也不知道,也就 没有办法去求解它的梯度了。下面我来回答三个问题:\
    1. d ( y ) d(y) d(y) 的表达形式是怎样的?\
    2. d ( y ) d(y) d(y) 什么时候是可微的?\
    3. d ( y ) d(y) d(y) 的次梯度表达形式是怎样的?\
    首先我们发现 d ( y ) d(y) d(y) 可以表达为:
    d ( y ) = − min ⁡ x { f ( x ) + y T ( A x − b ) } = f ∗ ( − A T y ) + y T b \begin{aligned} d(y)= & -\min _x\left\{f(x)+y^T(A x-b)\right\} \\ & =f^*\left(-A^T y\right)+y^T b \end{aligned} d(y)=xmin{f(x)+yT(Axb)}=f(ATy)+yTb
    其次,我们知道当 f f f 是强凸的时候,它的共轭才会是光滑的,进一步 d ( y ) d(y) d(y) 才光滑。
    对于最后一个问题,
    ∂ d ( y ) = − A ∂ f ∗ ( − A T y ) + b \partial d(y)=-A \partial f^*\left(-A^T y\right)+b d(y)=Af(ATy)+b
    现在关键在于 ∂ f ∗ ( − A T y ) \partial f^*\left(-A^T y\right) f(ATy) 怎么求,这不就是共轭函数的次梯度吗,所以根据推论 1 得到
    ∂ f ∗ ( − A T y ) = arg ⁡ max ⁡ x { ⟨ − A T y , x ⟩ − f ( x ) } = arg ⁡ min ⁡ x { ⟨ A T y , x ⟩ + f ( x ) } = arg ⁡ min ⁡ x { ⟨ y , A x − b ⟩ + f ( x ) } = arg ⁡ min ⁡ x L ( x ; y ) \begin{aligned} \partial f^*\left(-A^T y\right) & =\arg \max _x\left\{\left\langle-A^T y, x\right\rangle-f(x)\right\} \\ & =\arg \min _x\left\{\left\langle A^T y, x\right\rangle+f(x)\right\} \\ & =\arg \min _x\{\langle y, A x-b\rangle+f(x)\} \\ & =\arg \min _x \mathcal{L}(x ; y) \end{aligned} f(ATy)=argxmax{ATy,xf(x)}=argxmin{ATy,x+f(x)}=argxmin{⟨y,Axb+f(x)}=argxminL(x;y)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值