Proximal Gradient Descent for L1 Regularization

[本文連接:http://www.cnblogs.com/breezedeus/p/3426757.html,轉載請註明出處]

 

假設咱們要求解如下的最小化問題:
                                                                                \(  \min\limits_x f(x)  \) 。
若是\( f(x) \)可導,那麼一個簡單的方法是使用Gradient Descent (GD)方法,也即便用如下的式子進行迭代求解:
                                               \( x_{k+1} := x_{k} - \alpha \nabla f(x_{k}) \) 。
對GD的一種解釋是\( x_{k} \)沿着當前目標函數的降低方向走一小段,只要步子足夠小,總能保證獲得 \( f(x_{k+1}) \leq f(x_{k}) \)。 html

 

若是\( \nabla f(x) \)知足L-Lipschitz,即:
                                                 \( ||\nabla f(x') - \nabla f(x)|| \leq L ||x’ - x|| \),
那麼咱們能夠在點\( x_{k} \)附近把\( f(x) \)近似爲:
                             \(  \hat{f}(x, x_k) \doteq f(x_k) + \langle \nabla f(x_k), x - x_k \rangle + \frac{L}{2} ||x - x_k||^2 \)。 算法

把上面式子中各項從新排列下,能夠獲得: 函數

                           image  

顯然\(  \hat{f}(x, x_k) \)的最小值在 spa

                                                      \( x_{k+1} = x_k - \frac 1 L \nabla f(x_k) \) 3d

得到。因此,從這個角度上看的話,GD的每次迭代是在最小化原目標的一個二次近似函數。 htm

                                          image  

 

在不少最小化問題中,咱們每每會加入非光滑的懲罰項\( g(x) \),好比常見的L1懲罰:\( g(x) = ||x||_1 \)。這個時候,GD就很差直接推廣了。但上面的二次近似思想卻能夠推廣到這種狀況: blog

                              image  。 ip

這就是所謂的proximal gradient descent(PGD)算法。只要給定\( g(x) \)時下面的最小化問題能容易地求解,PGD就能高效地使用: get

                                    image  。 it

好比\( g(x) = ||x||_1 \)時, \(\text{prox}_{\mu g} (z)\)可以經過所謂的soft thresholding得到:

                                                 \( \text{prox}_{\mu g} (z) = \text{sign}(z) \max\{|z| - \mu, \ 0\} \)。

 

[References]

[1] John Wright. Lecture III: Algorithms, 2013.

相關文章
相關標籤/搜索