临近梯度下降算法(Proximal Gradient Method)的推导以及优势

邻近梯度下降法

  对于无约束凸优化问题,当目标函数可微时,可以采用梯度下降法求解;当目标函数不可微时,可以采用次梯度下降法求解;当目标函数中同时包含可微项与不可微项时,常采用邻近梯度下降法求解。上述三种梯度算法均属于离线批处理类型算法,在大规模的数据问题中,每次迭代都需要计算整个数据集梯度,因而需要较大的计算代价和存储空间。在线邻近梯度法(Online Proximal Gradient,OPG)是随即优化算法与临近梯度算法的结合,是一种典型的随机优化方法,以单个或小批量采样数据而实现数据实时处理。

  考虑如下目标函数可分解为两部分的凸优化问题:

(1)minxf(x)+g(x),

其中x为优化变量,f(x)为光滑可微凸损失函数,g(x)是不可微的凸函数,一般为正则项。邻近梯度算法对其中的不可微项g(x)保持不变,可微项f(x)k步迭代值xk处做一阶Taylor展开,并加入二阶邻近项,对(1)式的邻近梯度下降为:

xk+1=argminug(u)+f(xk)+f(xk)T(uxk)+(1/2τ)uxk22=argminug(u)+12τu(xktf(xk))|22=proxτg(xkτf(xk))

其中τ为梯度步长,proxτg()为邻近算子,根据g(x)形式有不同的定义,当g(x)为0时,邻近梯度算法退化为梯度下降算法;当g(x)为示性函数时,邻近算子为投影算符;当g(x)l1范数时,邻近算子为软阈值收缩算子。

在线邻近梯度下降法中,f(x)可以为不可微凸函数,将其利用次梯度线性化处理,同时也加入邻近项,可得:

(2)xk+1=argmin{fkTx+g(x)+(1/2ηk)xxk22}

其中,次梯度fkf(x)的在k步迭代值xk处近似,线性化处理目的是简化计算;(1/2ηk)xxk22为在xk处的二次正则项,也称邻近项,目的是使得xk+1xk相距较近,同时随着迭代收敛,xk+1逐渐接近xk,邻近项逐渐接近于0,所以可认为邻近项的目的是加快收敛,同时不会影响最终结果;ηk>0为邻近步长参数。

关于次梯度(Subgradient)

 

posted @   kkzhang  阅读(4279)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
历史上的今天:
2018-07-03 光速测定与引力波探测概述
2018-07-03 模电Multisim仿真Rb变化对Q点和电压放大倍数的影响
点击右上角即可分享
微信分享提示