这篇文章是我之前一篇文章的兄弟篇,没看过的可以看下面这个。
邓康康:求解稀疏优化问题——半光滑牛顿方法 zhuanlan.zhihu.com
我们考虑的问题仍然是如下的一般问题:
其中 ,并且
特别大;
表示一个凸可微函数,例如
表示一个闭真凸函数,一般为稀疏正则函数,比如 LASSO:
,Fused LASSO,Clustered LASSO等
通过引入变量 ,我们先把(P)转化为约束问题
于是我们得到(P)的对偶问题为:
在之前的那篇文章中,我提到了怎么利用增广拉格朗日方法(ALM)去求解对偶问题(D),该方法中的子问题采用的是半光滑牛顿法。 主要idea大概分为三步:
- 将原问题转化为对偶问题
- 利用增广拉格朗日方法求解对偶问题
- 子问题采用半光滑牛顿法
主要代价在于半光滑牛顿法,而由于非光滑函数 的稀疏性,导致子问题中的Jacobian矩阵也是稀疏的,进而大大降低了该方法的计算量。本质上,这个方法是一个应用于对偶问题上的增广拉格朗日方法。这篇文章我们换个角度,从原始问题(P)出发去设计算法。
在我的另一篇文章中
邓康康:原始对偶角度下的几类优化方法 zhuanlan.zhihu.com
里面讲到了:
对偶问题上的临近点方法等价于原问题上的增广拉格朗日方法。
而对偶问题的对偶问题是原问题。所以我们是不是有,
原始问题上的临近点方法等价于对偶问题上的增广拉格朗日方法?
所以这篇文章我们来讲述临近点方法应用到原始问题。参考的是孙老师的两篇文章,见文章末尾的参考文献。
一、邻近算子和Moreau Envelope
首先,我给出一些需要用到的一些定义和性质。
定义
1.临近算子 2. Moreau envelope
是光滑函数,并且它的梯度为:
二、临近点方法求解原问题
首先,临近点方法有如下迭代形式:
其中 表示罚参数。现在关键在于这个子问题怎么求?这要是没有
就好了,直接一个临近算子就搞定。 既然不好求,那我们就变成对偶问题去看看。首先对(1)做变量替换,转化为约束问题:
构建拉格朗日函数:
那么其对偶问题为:
我们最终要求的就是对偶问题(D.1)。需要说明一下,这里的原始问题(P.1)和对偶问题(D.1)是针对临近点方法的子问题而言的。我们来看一下对偶问题(D.1)的目标函数 的表达式:
其中第一部分关于 的问题是一个临近算子,最后一个等式就是将
的临近算子表达式代入。显然上式看起来很复杂,接下来我们来简化上式:
第一个等式用到了定义2,第二个等式用到了性质3。
最终我们将对偶问题(D.1)转化为如下问题:
定义 为:
这个函数跟 之后,最终我们是要去得到 . 在式子(3)中我们知道二者的关系是:
综合一下最终的迭代过程为:
其中 问题的求解采用的是半光滑牛顿法,具体的jacbi矩阵怎么求,稀疏性怎么利用参考下面这篇文章

三、半光滑牛顿法求解对偶问题(D.1)
根据上面的推导,我们知道求解对偶问题(D.1)等价于求解
因为上述问题是个凸问题,我们只要找到梯度等于0的点即可:
是个强凸函数,所以其共轭
是光滑的,再结合性质1,我们知道
是一个光滑函数,其梯度表达式为:
第一个等式用到了性质1,第二个等式用到了性质2。这里说一下为什么是半光滑牛顿法,因为
虽然函数光滑,但临近算子的存在导致这个函数的梯度不是光滑的。
有了梯度之后,我们来求解其广义Jacobian矩阵。
第一部分, 通常很简单,比如二范数的平方。因此求二阶导也不需要什么计算量。关键的地方在于计算后面这部分。当
是稀疏正则的时候,我们发现它的临近算子的导数通常是稀疏的。举例1范数正则,当
,其临近算子的导数
是一个对角矩阵,且对角元为:
这样的话,(8)的后面这部分,我们只需要计算由非零元对应矩阵 的列构成的子矩阵相乘即可,当非零元较少的时候,这个计算量是很小的。
最后我们给出半光滑牛顿法的迭代过程:
其中 。
半光滑牛顿法迭代完之后,令 .这样就完成了临近点方法的第k次迭代。
再说一下:(5)是我们的外迭代,也就是临近点方法求解原问题。而(8)是用半光滑牛顿法求解(5)中的第一个子问题。Over!
二、总结
最后梳理下这篇文章的idea:
- 临近点方法求解原问题
- 将子问题转化到对偶形式
- 半光滑牛顿法求解对偶问题
- 在之前那篇文章中,增广拉格朗日方法中的罚参数就对应于这里临近点方法的罚参数。二者的迭代是一样的,只不过在参数的选择和收敛性分析方面会有不同。
- 不同角度理解问题,得到不同的方法,虽然本质上是一样的,但由此带来的延伸就不一样了,在增广拉格朗日方法和临近点方法上的改进可以完全不同。
欢迎关注我的专栏
最优化理论和一阶方法 zhuanlan.zhihu.com
详细内容和理论证明可以看孙德锋老师主页:
知乎 - 安全中心 www.polyu.edu.hk参考文献
[1] Zhang Y, Zhang N, Sun D, et al. A Proximal Point Dual Newton Algorithm for Solving Group Graphical Lasso Problems[J]. arXiv preprint arXiv:1906.04647, 2019.
[2] Lin M, Sun D, Toh K C, et al. A dual Newton based preconditioned proximal point algorithm for exclusive lasso models[J]. arXiv preprint arXiv:1902.00151, 2019.
来源:oschina
链接:https://my.oschina.net/u/4361896/blog/4269859