带L1正则化项的近似梯度下降

摘录自:http://breezedeus.github.io/2013/11/16/breezedeus-proximal-gd.html


Proximal Gradient Descent for L1 Regularization

假设我们要求解以下的最小化问题:

minxf(x)  

如果 f(x) 可导,那么一个简单的方法是使用Gradient Descent (GD)方法,也即使用以下的式子进行迭代求解:

xk+1:=xkαf(xk)  

对GD的一种解释是 xk 沿着当前目标函数的下降方向走一小段,只要步子足够小,总能保证得到 f(xk+1)f(xk)

如果 f(x) 满足L-Lipschitz条件,即:

f(x)f(x)Lxx  

那么我们可以在点 xk 附近把 f(x) 近似为:

f^(x,xk)f(xk)+f(xk),xxk+L2xxk22  

把上面式子中各项重新排列下,可以得到:

f^(x,xk)f(xk)+f(xk),xxk+L2xxk22=L2x(xk1Lf(xk))22+φ(xk)  

显然 f^(x,xk) 的最小值在

xk+1=xk1Lf(xk)

获得。所以,从这个角度上看的话,GD的每次迭代是在最小化原目标的一个二次近似函数。

Proximal GD 近似

在很多最小化问题中,我们往往会加入非光滑的惩罚项 g(x) ,比如常见的L1惩罚: g(x)=x1 。这个时候,GD就不好直接推广了。但上面的二次近似思想却可以推广到这种情况:

xk+1=argminxF^(x,xk)=argminxL2x(xk1Lf(xk))22+g(x)  

这就是所谓的Proximal Gradient Descent(PGD)算法1。只要给定 g(x) 时下面的最小化问题能容易地求解,PGD就能高效地使用:

proxμg(z)=argminx12xz22+μg(x)  

比如 g(x)=x1 时, proxμg(z) 能够通过所谓的soft thresholding获得:

proxμg(z)=sign(z)max{zμ, 0}  

References

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





  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值