求解非凸正则化问题的 L-BFGS 算法
2024-01-26陈鸿升叶建豪胡子健程万友
陈鸿升,叶建豪,胡子健,程万友
(东莞理工学院 计算机科学与技术学院,广东 东莞 523808)
0 引言
本文将考虑以下模型:
minφ(x):=f(x)+r(x),
(1)
式中,f:Rn→R为连续可微的函数.问题(1)的一个重要应用形式是压缩感知问题:
(2)
求解l0问题的一般做法是将问题转化为凸l1问题.常见的用来求解l1问题的算法有:迭代收缩阈值算法(ISTA)[2-3]、内点法[4]、投影梯度法[5]、交替方向乘子法和可分离增广拉格朗日收缩算法(split augmented Lagrangian shrinkage algorithm,SALSA)[6]、约化空间算法[7]、坐标下降方法[8]、积极集方法[9]等.
为了克服l1罚函数的弊端,人们提出了许多非凸非光滑的罚函数.如 log-sum[10]、cappedl1[11]、lp[12-13]、SCAD[14]、MCP[15]等.这些罚函数被证明比l1罚函数具有更好的稀疏性,且能降低大系数的偏差估计[14,16].人们提出了一些求解这些罚函数的方法,第一类是运用光滑技术的方法,如:光滑序列二次规划(SQP)和光滑信赖域牛顿方法(TRN)[13]用来求解包含lp、SCAD 和 MCP 问题在内的一类非凸非光滑问题;第二类方法是迭代重加权最小化算法[10,14-15],这类算法通过求解一系列的l1子问题或l2子问题来实现问题的求解,但这类方法所生成序列的收敛性通常是不明确的;第三类方法基于 CD规划思想.文献[17]中提出了一种通用的 ISTA 算法,并在 SCAD、MCP 和 cappedl1罚函数上进行了说明,证明了该算法能收敛到稳定点.更多方法,请参考文献[18-19].
有限内存的拟牛顿方法(L-BFGS)收敛速度快,而且仅需要贮存最近的m个n维向量对形成Hessian 逆的估计,并且不需要贮存矩阵,被认为是求解大规模优化问题[20-21]的最有效方法之一.本文利用文献[1]的积极集识别技术和 L-BFGS 算法提出一种求解大规模l1、SCAD 和 MCP 问题的 L-BFGS 算法.在积极集集合上算法的搜索方向与文献[1]的方向相同,自由空间集合上使用了 L-BFGS 的搜索方向.在适当的条件下,证明了使用非单调技术[22]的算法是全局收敛的.数值实验证明提出的算法是有效的.
1 预备知识
τ>1时,问题(1)为 MCP 问题;当
τ>2时,问题(1)为 SCAD 问题.
为定义新算法的搜索方向,将B(x) 划分为4部分:
B11(x)={i:0
B13(x)={i:-λ≤xi<0,xi-gi(x)<-λ},B14(x)={i:-λ≤xi≤0,xi-gi(x)>λ}.
特别的,
L-BFGS 算法收敛速度快,而且仅需要贮存最近的m个n维向量对形成 Hessian 逆的估计,并且不需要贮存矩阵,被广泛应用于求解无约束和约束优化问题[20-21].本文中采用文献[20]的方法得到问题(1)的 Hessian 逆的估计H(k),即:
(3)
式中:γ(k)>0;s(k)=x(k+1)-x(k);y(k)=g(x(k+1))-g(x(k));S(k)=[s(k-m),…,s(k-1)];
D(k)=diag[(s(k-m))Ty(k-m),…,(s(k-1))Ty(k-1)].
2 新算法
本节中,将利用文献[1]的积极集识别技术和 L-BFGS 算法,提出一种求解大规模l1、SCAD 和 MCP 问题的 L-BFGS 算法.设式(1)中的目标函数满足以下假设.
假设2.1
1)水平集 Θ:={x∈Rn:φ(x)≤φ(x(0))} 有界.
2)存在Θ 的一个邻域N,使得f是二阶可微的函数,且f的一阶导数满足 Lipschitz 连续性.即存在常数L>0,使得
‖g(x)-g(y)‖≤L‖x-y‖,∀x,y∈N
成立.
2.1 搜索方向的计算及性质
(4)