近端梯度法(proximal gradient method)

模型

min\;g(x)+h(x)

g(x)凸且光滑,即可微,h(x)凸且非光滑,即不可微,因此不能使用梯度下降法,因为h(x)在某点梯度会不存在,比如h(x)=|x|.

近端梯度法常用于解上述优化问题.

近端梯度法

1、因为g(x)可微,因此将它在x^{k}处Taylor展开:

g(x)=g(x^{k})+\bigtriangledown g(x^{k})(x-x^{k})+\frac{L}{2}\|x-x^{k}\|^{2}

拆开整理可得:

g(x)=\frac{L}{2}\|x-(x^{k}-\frac{1}{L}\bigtriangledown g(x^{k})\|^{2}+\phi(x^{k})

要求min\;g(x),则令x^{k+1}=x^{k}-\frac{1}{L}\bigtriangledown g(x^{k})迭代即可得

2、实际问题是要求min\;g(x)+h(x),将g(x)x^{k}处Taylor展开:

则问题变为:\begin{align} min\;\frac{L}{2}\|x-(x^{k}-\frac{1}{L}\bigtriangledown g(x^{k})\|^{2}+h(x) \end{align}   

下面介绍近端映射函数(投影算子proximity operator)

min_{x}\; \frac{1}{2}\|x-z\|^{2}+\lambda h(x)

问题为:给定一个变量z,找到上面优化问题的极小点x^{*},h(x)为不可微的凸函数

prox_{\lambda h(x)}(z)=argmin_{x}\; \frac{1}{2}\|x-z\|^{2}+\lambda h(x)

其中,prox_{\lambda h(x)}(z)表示关于变量z和函数h(x)近端算子,求得的x能让h(x)达到最小,且与不可微点z无限接近.

因此,(1)中的x^{k}-\frac{1}{L}\bigtriangledown g(x^{k})相当于上式中的变量z,因此可以通过下列近端算子求解:

\begin{aligned} x^{k+1}&=prox_{\lambda h(x)}(x^{k}-\frac{1}{L}\bigtriangledown g(x^{k}))\\ &=argmin_{x}\; \frac{1}{2}\|x-(x^{k}-\frac{1}{L}\bigtriangledown g(x^{k}))\|^{2}+\lambda h(x) \end{aligned}

解释:对于当前点x^{k},沿着可微函数g(x)的负梯度方向,以一定步长下降迭代得到z^{k}=x^{k}-\frac{1}{L}\bigtriangledown g(x^{k}),然后使用投影算子求出新的更新值x^{k+1}.

对于Lasso而言,proximal方法相当把原问题拆解成了两个子问题,首先更新平滑部分的参数(L1以外的部分),拿着更新好的结果,跑一遍proximal operator(soft threshold函数)让它也尽量更接近满足L1的条件,处理过后的才是新的参数.

 

参考资料:

https://zhuanlan.zhihu.com/p/103161094

https://zhuanlan.zhihu.com/p/82622940

https://blog.csdn.net/qq_38290475/article/details/81052206

http://www.bubuko.com/infodetail-2895666.html

https://blog.csdn.net/Chaolei3/article/details/81320940

https://blog.csdn.net/zbwgycm/article/details/83060251

 

  • 1
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值