近端梯度下降求解LASSO回归 | 近端梯度下降算法 | LASSO回归 | Lipschitz条件 | Descent Lemma

LASSO回归

这部分笔记参考近端梯度(Proximal Gradient)下降算法的过程以及理解|ISTA算法|LASSO问题 - 红泥小火炉的文章 - 知乎Lasso回归与近端梯度下降推导与实现Posted by Welt Xing on September 30, 2021【西瓜书】 第11章 特征选择与稀疏学习笔记利普希茨连续的几何意义是什么?怎么较好的理解它呢? - cielo的回答 - 知乎L1范数中为什么需要证明目标函数的梯度满足Lipschitz(利普希茨)连续? - Spectre的回答 - 知乎

L-Lipschitz条件

本文使用近端梯度下降法对LASSO进行求解,近端梯度下降要求如下形式的 ∇ f \nabla f f满足 L i p s c h i t z Lipschitz Lipschitz条件
min ⁡ x    f ( x ) + h ( x ) (2-1) \min_x\ \ f(x)+h(x)\tag{2-1} xmin  f(x)+h(x)(2-1)
因此,本文首先证明LASSO表达式的第一部分的梯度满足 L i p s c h i t z Lipschitz Lipschitz条件,即证明线性回归模型的均方误差满足 L i p s c h i t z Lipschitz Lipschitz条件。

L-Lipschitz连续的定义

这里引用知乎用户cielo的回答,说得非常形象。

L i p s c h i t z Lipschitz Lipschitz连续,要求函数图像的曲线上任意两点连线的斜率一致有界,就是任意的斜率都小于同一个常数,这个常数就是 L i p s c h i t z Lipschitz Lipschitz常数。

从局部看:我们可以取两个充分接近的点,如果这个时候斜率的极限存在的话,这个斜率的极限就是这个点的导数。也就是说函数可导,又是 L i p s c h i t z Lipschitz Lipschitz连续,那么导数有界。反过来,如果可导函数,导数有界,可以推出函数 L i p s c h i t z Lipschitz Lipschitz连续。

从整体看: L i p s c h i t z Lipschitz Lipschitz连续要求函数在无限的区间上不能有超过线性的增长,所以 x 2 x^2 x2, e x e^x ex这些函数在无限区间上不是 L i p s c h i t z Lipschitz Lipschitz连续的。

这里可以通过维基百科的示意图进行辅助解释:

img

图1 维基百科上对Lipschitz条件的示意图

白色锥形的斜率就是 L i p s c h i t z Lipschitz Lipschitz常数,绿色区域的部分则代表满足 L i p s c h i t z Lipschitz Lipschitz连续,即定义中的“要求函数图像的曲线上任意两点连线的斜率一致有界,就是任意的斜率都小于同一个常数”。

对于定义中的局部,当函数在某点处可导且导数存在时, L i p s c h i t z Lipschitz Lipschitz连续性可以通过导数的有界性来保证。如果函数在每一点的导数都是有界的,那么这个函数是 L i p s c h i t z Lipschitz Lipschitz连续的。导数的有界性保证了函数变化的速率不会超过某个常数。

对于定义中的整体, x 2 x^2 x2的导数是 2 x 2x 2x,导数随 x x x增大而线性增长,因此在无穷远处 x 2 x^2 x2的变化速率没有上界。同理, e x e^x ex的导数是 e x e^x ex,其变化速率指数增长,所以 e x e^x ex也不是 L i p s c h i t z Lipschitz Lipschitz连续的。

L-Lipschitz条件的证明

定义线性回归的均方误差函数为:
f ( w ) = 1 2 n ∥ y − X w ∥ 2 2 (2-2) f(w)=\frac{1}{2n}\lVert y-Xw \rVert^2_2\tag{2-2} f(w)=2n1yXw22(2-2)
LASSO回归的 f ( x ) f(x) f(x)部分与线性回归的均方误差函数相同,下面证明该部分满足Lipschitz条件,定义:
F ( x 1 , x 2 ) = ∥ ∇ f ( x 1 ) − ∇ f ( x 2 ) ∥ 2 2 − L ∥ x 1 − x 2 ∥ 2 2 (2-3) F(x_1,x_2)=\lVert \nabla f(x_1) - \nabla f(x_2) \rVert_2^2 - L\lVert x_1-x_2 \rVert_2^2\tag{2-3} F(x1,x2)=f(x1)f(x2)22Lx1x222(2-3)
首先求解 ∇ f ( w ) \nabla f(w) f(w),对式(2-2)进行展开得:
f ( w ) = 1 2 n ( y − X w ) T ( y − X w ) f(w)=\frac{1}{2n}(y-Xw)^T(y-Xw) f(w)=2n1(yXw)T(yXw)
根据矩阵求导法则:
∂ ∂ w ( a T a ) = 2 a T ∂ a ∂ w \frac{∂}{∂w}(a^Ta)=2a^T\frac{∂a}{∂w} w(aTa)=2aTwa
a = ( y − X w ) a=(y-Xw) a=(yXw),对式(2-2)求导后转置,故 ∇ f ( w ) \nabla f(w) f(w)为:
∇ f ( w ) = − 1 n X T ( y − X w ) \nabla f(w)=-\frac{1}{n}X^T(y-Xw) f(w)=n1XT(yXw)
代入式(2-3)得:
F ( w 1 , w 2 ) = ∥ 1 n X T ( X w 1 − y ) + 1 n X T ( X w 2 + y ) ∥ 2 2 − L ∥ w 1 − w 2 ∥ 2 2 = 1 n 2 ∥ X T X ( w 1 − w 2 ) ∥ 2 2 − L ∥ w 1 − w 2 ∥ 2 2 F(w_1,w_2)=\lVert \frac{1}{n}X^T(Xw_1-y) +\frac{1}{n}X^T(Xw_2+y) \rVert_2^2-L\lVert w_1-w_2 \rVert_2^2\\ =\frac{1}{n^2}\lVert X^TX(w_1-w_2) \rVert_2^2 - L\lVert w_1-w_2 \rVert_2^2\\ F(w1,w2)=n1XT(Xw1y)+n1XT(Xw2+y)22Lw1w222=n21XTX(w1w2)22Lw1w222
现在要证明 F ( w 1 , x 2 ) ≤ 0 F(w_1,x_2)\le0 F(w1,x2)0,则要证明下式:
∥ X T X ( w 1 − w 2 ) ∥ 2 2 n 2 ∥ w 1 − w 2 ∥ 2 2 ≤ L \frac{\lVert X^TX(w_1-w_2) \rVert_2^2}{n^2\lVert w_1-w_2 \rVert_2^2}\le L n2w1w222XTX(w1w2)22L
A = X T X A = X^T X A=XTX,实际上是证明对于任意的 x x x,下式有界:
∥ A x ∥ 2 2 ∥ x ∥ 2 2 (2-4) \frac{\lVert Ax \rVert_2^2}{\lVert x \rVert_2^2}\tag{2-4} x22Ax22(2-4)
由于 A A A是实对称矩阵,因此可以被对角化,即存在一个正交矩阵 Q Q Q和一个对角矩阵 Λ \Lambda Λ,使得:
A = Q Λ Q T A=Q\Lambda Q^T A=QΛQT
其中, Q Q Q A A A的特征向量, Λ \Lambda Λ的对角线元素是 A A A的特征值。

对于特征向量的正交性,如果 v i v_i vi v j v_j vj对应不同的特征值 ( λ i ≠ λ j ) (\lambda_i \neq \lambda_j) λi=λj,则它们是正交的,即 v i T v j = 0 v_i^T v_j = 0 viTvj=0。除此之外,可以进一步选择特征向量使其单位化,即 ∥ v i ∥ = 1 \lVert v_i\rVert = 1 vi=1,使得它们形成一个标准正交基。

因此, x x x可以表示为 A A A的特征向量的线性组合:
x = ∑ i = 1 n k i v i x=\sum_{i=1}^n{k_iv_i} x=i=1nkivi
其中, v i v_i vi A A A的特征向量, k i k_i ki是系数。

因此, A x Ax Ax可以化简为:
A x = A ( ∑ i = 1 n k i v i ) = ∑ i = 1 n k i A v i = ∑ i = 1 n k i λ i v i Ax=A(\sum_{i=1}^n{k_iv_i})=\sum_{i=1}^n{k_iAv_i}=\sum_{i=1}^n{k_i\lambda_iv_i} Ax=A(i=1nkivi)=i=1nkiAvi=i=1nkiλivi
∥ A x ∥ 2 2 \lVert Ax \rVert_2^2 Ax22可以化简为:
∥ A x ∥ 2 2 ∥ ∑ i = 1 n k i λ i v i ∥ 2 2 = ∑ i = 1 n ( k i λ i ) 2 ∥ v i ∥ 2 2 = ∑ i = 1 n ( k i λ i ) 2 \lVert Ax \rVert_2^2\lVert \sum_{i=1}^n{k_i\lambda_iv_i} \rVert_2^2=\sum_{i=1}^n(k_i\lambda_i)^2\lVert v_i\rVert_2^2=\sum_{i=1}^n(k_i\lambda_i)^2 Ax22i=1nkiλivi22=i=1n(kiλi)2vi22=i=1n(kiλi)2
同理, ∥ x ∥ 2 2 \lVert x \rVert_2^2 x22可以化简为:
∥ x ∥ 2 2 = ∑ i = 1 n k i 2 \lVert x \rVert_2^2=\sum_{i=1}^{n}{k_i}^2 x22=i=1nki2
综上所述,可以将式(2-4)化简为:
∥ A x ∥ 2 2 ∥ x ∥ 2 2 = ∑ i = 1 n ( k i λ i ) 2 ∑ i = 1 n k i 2 (2-5) \frac{\lVert Ax \rVert_2^2}{\lVert x \rVert_2^2}=\frac{\sum_{i=1}^n(k_i\lambda_i)^2}{\sum_{i=1}^{n}{k_i}^2}\tag{2-5} x22Ax22=i=1nki2i=1n(kiλi)2(2-5)
式(2-5)是一个加权平均式,因此有如下结论:
min ⁡ i ( λ i 2 ) ≤ ∑ i = 1 n ( k i λ i ) 2 ∑ i = 1 n k i 2   ≤ max ⁡ i ( λ i 2 ) \min_i{(\lambda_i^2)}\le \frac{\sum_{i=1}^n(k_i\lambda_i)^2}{\sum_{i=1}^{n}{k_i}^2}\ \le\max_i(\lambda_i^2) imin(λi2)i=1nki2i=1n(kiλi)2 imax(λi2)
因此式(2-4)有界,即:
∥ X T X ( w 1 − w 2 ) ∥ 2 2 ∥ w 1 − w 2 ∥ 2 2 ≤ max ⁡ i ( λ i 2 ) \frac{\lVert X^TX(w_1-w_2) \rVert_2^2}{\lVert w_1-w_2 \rVert_2^2}\le\max_i(\lambda_i^2) w1w222XTX(w1w2)22imax(λi2)
接下来求解符合条件的 L L L
F ( w 1 , w 2 ) = 1 n 2 ∥ X T X ( w 1 − w 2 ) ∥ 2 2 − L ∥ w 1 − w 2 ∥ 2 2 = L ∥ w 1 − w 2 ∥ 2 2 ( ∥ X T X ( w 1 − w 2 ) ∥ 2 2 n 2 L ∥ w 1 − w 2 ∥ 2 2 − 1 ) ≤ L ∥ w 1 − w 2 ∥ 2 2 ( 1 n 2 L max ⁡ i ( λ i 2 ) − 1 ) ≤ 0 F(w_1,w_2)=\frac{1}{n^2}\lVert X^TX(w_1-w_2) \rVert_2^2 - L\lVert w_1-w_2 \rVert_2^2\\ =L\lVert w_1-w_2 \rVert_2^2(\frac{\lVert X^TX(w_1-w_2) \rVert_2^2}{n^2L\lVert w_1-w_2 \rVert_2^2}-1)\\ \le L\lVert w_1-w_2 \rVert_2^2(\frac{1}{n^2L}\max_i(\lambda_i^2)-1) \le 0 F(w1,w2)=n21XTX(w1w2)22Lw1w222=Lw1w222(n2Lw1w222XTX(w1w2)221)Lw1w222(n2L1imax(λi2)1)0
故可得 L i p s c h i t z Lipschitz Lipschitz常数的上界:
L ≥ max ⁡ i ( λ i 2 ) n 2 L\ge \frac{\max_i(\lambda_i^2)}{n^2} Ln2maxi(λi2)

近端梯度下降

近端梯度下降的定义

在上一节已经证明了LASSO的 ∇ f \nabla f f满足 L i p s c h i t z Lipschitz Lipschitz条件,因此可以使用近端梯度下降算法进行求解。实际上,近端梯度下降的本质可以视为先对光滑的函数 f ( x ) f(x) f(x)进行梯度下降,再对正则项进行隐性的梯度下降。梯度的 L i p s c h i t z Lipschitz Lipschitz连续性要求梯度的变化不能过于剧烈,保证了存在合适的步长,使得 f ( x ) f(x) f(x)沿着梯度方向前进这个步长可以使函数值下降(即descent lemma),这可用于证明算法收敛性。

近端梯度算法(Proximal Gradient Descent, PGD)常用来解决如下形式的优化问题:
min ⁡ x    f ( x ) + h ( x ) (2-6) \min_x\ \ f(x)+h(x) \tag{2-6} xmin  f(x)+h(x)(2-6)
近端梯度下降的 h ( x ) h(x) h(x)有以下几种形式:

  1. h ( x ) = 0 h(x)=0 h(x)=0:则为一般的梯度下降算法。

  2. h ( x ) = I C ( x ) h(x)=I_C(x) h(x)=IC(x):则称为投影梯度下降(Projected gradient descent),其中:
    I C ( x ) = { 0 , x ∈ C ∞ , x ∉ C I_C(x)=\begin{cases}0,&x\in C\\ \infty,&x\notin C\end{cases} IC(x)={0,,xCx/C

  3. h ( x ) = λ ∥ x ∥ 1 h(x)=\lambda\lVert x\rVert_1 h(x)=λx1:则被称为迭代收缩阈值算法(Iterative Shrinkage Thresholding Algorithm,ISTA),LASSO回归为该种类型。

迭代方法

对于函数 f ( x ) f(x) f(x),在 x k x_k xk附近进行二阶泰勒展开得:
f ^ ( x ) ≃ f ( x k ) + ∇ f ( x k ) T ( x − x k ) + 1 2 ( x − x k ) T ∇ 2 f ( x k ) ( x − x k ) \hat f(x)\simeq f(x_k)+\nabla f(x_k)^T(x-x_k)+\frac{1}{2}(x-x_k)^T\nabla ^2f(x_k)(x-x_k) f^(x)f(xk)+f(xk)T(xxk)+21(xxk)T2f(xk)(xxk)
上式中, ∇ 2 f ( x k ) \nabla ^2f(x_k) 2f(xk) H e s s e Hesse Hesse矩阵,并且正定, L i p s c h i t z Lipschitz Lipschitz常数是 H e s s e Hesse Hesse矩阵的上界,在优化算法中常这样进行简化,故上式可以化简为如下形式:
f ^ ( x ) = f ( x k ) + ⟨ ∇ f ( x k ) , ( x − x k ) ⟩ + L 2 ∥ ( x − x k ) ∥ 2 2 \hat f(x)=f(x_k)+\lang \nabla f(x_k),(x-x_k)\rang+\frac{L}{2}\lVert (x-x_k)\rVert _2^2 f^(x)=f(xk)+f(xk),(xxk)⟩+2L∥(xxk)22
进一步化简:
f ^ ( x ) = f ( x k ) + ⟨ ∇ f ( x k ) , ( x − x k ) ⟩ + ⟨ L 2 ( x − x k ) , x − x k ⟩ = f ( x k ) + ⟨ ∇ f ( x k ) + L 2 ( x − x k ) , x − x k ⟩ = f ( x k ) + L 2 ⟨ L 2 ∇ f ( x k ) + ( x − x k ) , x − x k ⟩ = f ( x k ) + L 2 ⟨ x − x k + 1 L ∇ f ( x k ) + 1 L ∇ f ( x k ) , x − x k + 1 L ∇ f ( x k ) − 1 L ∇ f ( x k ) ⟩ = f ( x k ) + L 2 ∥ x − x k + 1 L ∇ f ( x k ) ∥ 2 2 − 1 2 L ∥ ∇ f ( x k ) ∥ 2 2 = L 2 ∥ x − ( x k − 1 L ∇ f ( x k ) ) ∥ 2 2 + c o n s t \hat f(x)=f(x_k)+\lang \nabla f(x_k),(x-x_k)\rang+\lang \frac{L}{2}(x-x_k),x-x_k \rang\\ =f(x_k)+\lang \nabla f(x_k)+\frac{L}{2}(x-x_k),x-x_k \rang\\ =f(x_k)+\frac{L}{2}\lang\frac{L}{2} \nabla f(x_k)+(x-x_k),x-x_k \rang\\ =f(x_k)+\frac{L}{2}\lang x-x_k+\frac{1}{L}\nabla f(x_k)+ \frac{1}{L}\nabla f(x_k),x-x_k+\frac{1}{L}\nabla f(x_k)-\frac{1}{L}\nabla f(x_k)\rang\\ =f(x_k)+\frac{L}{2}\lVert x-x_k+\frac{1}{L}\nabla f(x_k)\rVert_2^2-\frac{1}{2L}\lVert \nabla f(x_k) \rVert_2^2\\ =\frac{L}{2}\lVert x-(x_k-\frac{1}{L}\nabla f(x_k)) \rVert_2^2+const f^(x)=f(xk)+f(xk),(xxk)⟩+2L(xxk),xxk=f(xk)+f(xk)+2L(xxk),xxk=f(xk)+2L2Lf(xk)+(xxk),xxk=f(xk)+2Lxxk+L1f(xk)+L1f(xk),xxk+L1f(xk)L1f(xk)⟩=f(xk)+2Lxxk+L1f(xk)222L1f(xk)22=2Lx(xkL1f(xk))22+const
显然,上式的最小值在如下 x k + 1 x_{k+1} xk+1获得:
x k + 1 = x k − 1 L ∇ f ( x k ) x_{k+1}=x_k-\frac{1}{L}\nabla f(x_k) xk+1=xkL1f(xk)
下面证明通过迭代上式可以使 f ( x ) f(x) f(x)逐步下降。

Descent Lemma的证明

对于函数 f ( x ) f(x) f(x),由定积分的定义,则:
f ( x 2 ) − f ( x 1 ) = ∫ x 1 x 2 f ′ ( x ) d x f(x_2)-f(x_1)=\int_{x_1}^{x_2}f'(x)dx f(x2)f(x1)=x1x2f(x)dx
f ( x ) f(x) f(x)二次连续可微, x k ∈ R n x_k\in\R^n xkRn,令 g ( t ) = f ( x k + t ( x − x k ) ) g(t)=f(x_k+t(x-x_k)) g(t)=f(xk+t(xxk)),则:
g ( 0 ) = f ( x k ) g ( 1 ) = f ( x ) g(0)=f(x_k) \\g(1)=f(x) g(0)=f(xk)g(1)=f(x)
因此,由定积分的定义可得:
f ( x ) − f ( x k ) = g ( 1 ) − g ( 0 ) = ∫ 0 1 g ′ ( t ) d t (2-7) f(x)-f(x_k)=g(1)-g(0)=\int_0^1{g'(t)dt}\tag{2-7} f(x)f(xk)=g(1)g(0)=01g(t)dt(2-7)
而对于 g ′ ( t ) g'(t) g(t),有:
KaTeX parse error: Undefined control sequence: \part at position 14: g'(t)=\frac{\̲p̲a̲r̲t̲ ̲f(x_k+t(x-x_k))…
代入式(2-7)可得:
f ( x ) − f ( x k ) = ∫ 0 1 ∇ f ( x k + t ( x − x k ) ) T ( x − x k ) d t = ∫ 0 1 [ ∇ f ( x k + t ( x − x k ) ) − ∇ f ( x k ) + ∇ f ( x k ) ] T ( x − x k ) d t = ∫ 0 1 ∇ f ( x k ) T ( x − x k ) d t + ∫ 0 1 [ ∇ f ( x k + t ( x − x k ) ) − ∇ f ( x k ) ] T ( x − x k ) d t (2-8) f(x)-f(x_k)=\int_0^1{\nabla f(x_k+t(x-x_k))^T(x-x_k)}dt\\ =\int_0^1[\nabla f(x_k+t(x-x_k))-\nabla f(x_k)+\nabla f(x_k)]^T(x-x_k)dt\\ =\int_0^1\nabla f(x_k)^T(x-x_k)dt+\int_0^1[\nabla f(x_k+t(x-x_k))-\nabla f(x_k)]^T(x-x_k)dt\\ \tag{2-8} f(x)f(xk)=01f(xk+t(xxk))T(xxk)dt=01[f(xk+t(xxk))f(xk)+f(xk)]T(xxk)dt=01f(xk)T(xxk)dt+01[f(xk+t(xxk))f(xk)]T(xxk)dt(2-8)
对上式使用如下内积性质进行放缩:
x T y = ∥ x ∥ ⋅ ∥ y ∥ cos ⁡ θ ≤ ∥ x ∥ ⋅ ∥ y ∥ x^Ty=\lVert x \rVert \cdot \lVert y \rVert \cos\theta\le \lVert x \rVert \cdot \lVert y \rVert xTy=xycosθxy
故式(2-8)可以放缩为如下形式:
f ( x ) − f ( x k ) ≤ ∫ 0 1 ∇ f ( x k ) T ( x − x k ) d t + ∫ 0 1 ∥ ∇ f ( x k + t ( x − x k ) ) − ∇ f ( x k ) ∥ 2 ⋅ ∥ x − x k ∥ 2 d t f(x)-f(x_k)\le\int_0^1\nabla f(x_k)^T(x-x_k)dt+\int_0^1\lVert\nabla f(x_k+t(x-x_k))-\nabla f(x_k)\rVert_2\cdot \lVert x-x_k\rVert _2dt\\ f(x)f(xk)01f(xk)T(xxk)dt+01f(xk+t(xxk))f(xk)2xxk2dt
接下来对上式使用 L i p s c h i t z Lipschitz Lipschitz常数进行放缩,可得到:
f ( x ) − f ( x k ) ≤ ∫ 0 1 ∇ f ( x k ) T ( x − x k ) d t + ∥ x − x k ∥ 2 ∫ 0 1 L ∥ t ( x − x k ) ∥ 2 d t f(x)-f(x_k)\le\int_0^1\nabla f(x_k)^T(x-x_k)dt+\lVert x-x_k\rVert _2\int_0^1L\lVert t(x-x_k)\rVert _2dt f(x)f(xk)01f(xk)T(xxk)dt+xxk201Lt(xxk)2dt
对上式进行定积分,可化简为:
f ( x ) − f ( x k ) = ∇ f ( x k ) T ( x − x k ) + L 2 ∥ ( x − x k ) ∥ 2 2 f(x)-f(x_k)=\nabla f(x_k)^T(x-x_k)+\frac{L}{2}\lVert (x-x_k)\rVert _2^2 f(x)f(xk)=f(xk)T(xxk)+2L∥(xxk)22

f ^ ( x ) = f ( x k ) + ∇ f ( x k ) T ( x − x k ) + L 2 ∥ ( x − x k ) ∥ 2 2 (2-9) \hat f(x)=f(x_k)+\nabla f(x_k)^T(x-x_k)+\frac{L}{2}\lVert (x-x_k)\rVert _2^2\tag{2-9} f^(x)=f(xk)+f(xk)T(xxk)+2L∥(xxk)22(2-9)
则有 f ( x ) ≤ f ^ ( x ) f(x)\le\hat f(x) f(x)f^(x),当 x = x k x=x_k x=xk时等号成立,该不等式被称为descent lemma。

由于 f ( x ) f(x) f(x) x = x k − 1 L ∇ f ( x k ) x=x_k-\frac{1}{L}\nabla f(x_k) x=xkL1f(xk)处取得最小值,因此以下不等式成立:
f ^ ( x k − 1 L ∇ f ( x k ) ) ≤ f ^ ( x k ) \hat f(x_k-\frac{1}{L}\nabla f(x_k))\le \hat f(x_k) f^(xkL1f(xk))f^(xk)
根据descent lemma的推导有 f ( x ) ≤ f ^ ( x ) f(x)\le\hat f(x) f(x)f^(x)恒成立,因此以下不等式也成立:
f ( x k − 1 L ∇ f ( x k ) ) ≤ f ^ ( x k − 1 L ∇ f ( x k ) ) f(x_k-\frac{1}{L}\nabla f(x_k))\le \hat f(x_k-\frac{1}{L}\nabla f(x_k)) f(xkL1f(xk))f^(xkL1f(xk))
且当 x = x k x=x_k x=xk时,由式(2-9)可知 f ( x k ) = f ^ ( x k ) f(x_k)=\hat f(x_k) f(xk)=f^(xk),因此:
f ( x k − 1 L ∇ f ( x k ) ) ≤ f ^ ( x k − 1 L ∇ f ( x k ) ) ≤ f ^ ( x k ) = f ( x k ) f(x_k-\frac{1}{L}\nabla f(x_k))\le \hat f(x_k-\frac{1}{L}\nabla f(x_k))\le\hat f(x_k)=f(x_k) f(xkL1f(xk))f^(xkL1f(xk))f^(xk)=f(xk)
综上所述,可以通过迭代下式使得 f ( x ) f(x) f(x)逐步下降:
x k + 1 = x k − 1 L ∇ f ( x k ) (2-10) x_{k+1}=x_k-\frac{1}{L}\nabla f(x_k)\tag{2-10} xk+1=xkL1f(xk)(2-10)

求解LASSO

上面的证明和推导都是针对LASSO的第一部分,LASSO相对于线性回归只是加上了 L 1 L1 L1范数,故将式(2-10)应用在LASSO回归上,可得到如下迭代式:
x k + 1 = arg ⁡ min ⁡ x   L 2 ∥ x − ( x k − 1 L ∇ f ( x k ) ) ∥ 2 2 + λ ∥ x ∥ 1 x_{k+1}=\underset{x}{\arg\min}\ \frac{L}{2}\lVert x-(x_k-\frac{1}{L}\nabla f(x_k)) \rVert_2^2+\lambda\lVert x\rVert_1\\ xk+1=xargmin 2Lx(xkL1f(xk))22+λx1
z = x k − 1 L ∇ f ( x k ) z=x_k-\frac{1}{L}\nabla f(x_k) z=xkL1f(xk) L = 1 t L=\frac{1}{t} L=t1其实际上为 f ( x ) f(x) f(x)的梯度下降形式,可以将上式转换成如下形式:
x k + 1 = arg ⁡ min ⁡ x   1 2 ∥ x − z ∥ 2 2 + λ t ∥ x ∥ 1 (2-11) x_{k+1}=\underset{x}{\arg\min}\ \frac{1}{2}\lVert x-z \rVert_2^2+\lambda t\lVert x\rVert_1\tag{2-11} xk+1=xargmin 21xz22+λtx1(2-11)
式(2-11)也被称为近端算子(proximal operator),记为:
p r o x t , h ( ⋅ ) ( z ) = arg ⁡ min ⁡ x   1 2 ∥ x − z ∥ 2 2 + t ⋅ h ( x ) prox_{t,h(\cdot)}(z)=\underset{x}{\arg\min}\ \frac{1}{2}\lVert x-z\rVert_2^2+t\cdot h(x) proxt,h()(z)=xargmin 21xz22+th(x)
因此,对于式(2-1)的问题,近端梯度下降算法的一般迭代过程是先对 f ( x ) f(x) f(x)进行梯度下降求得 z ( k ) z^{(k)} z(k),然后代入近端算子 p r o x t , h ( ⋅ ) ( z ( k ) ) prox_{t,h(\cdot)}(z^{(k)}) proxt,h()(z(k)),然后迭代求解:
z ( k ) = x ( k ) − t ∇ f ( x ( k ) ) x ( k + 1 ) = p r o x t , h ( ⋅ ) ( z ( k ) ) z^{(k)}=x^{(k)}-t\nabla f(x^{(k)})\\ x^{(k+1)}=prox_{t,h(\cdot)}(z^{(k)}) z(k)=x(k)tf(x(k))x(k+1)=proxt,h()(z(k))

总结

LASSO回归由于其L1正则化的稀疏性,因此成为一种可以降低多重共线性的特征筛选方法。然而,L1正则化只能针对单个特征进行考虑,故没有筛选到的特征并不代表不重要,在遇到两个高度相关特征的时候,难以确定要保留哪个。在2020年,Gao Wang等人在《Journal of the Royal Statistical Society Series B: Statistical Methodology》发表了一篇名为《A Simple New Approach to Variable Selection in Regression, with Application to Genetic Fine Mapping》的论文,提出了SuSIE这一能够考虑多个特征交互影响的方特征筛选法和逐步迭代求解SuSIE的IBSS算法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值