注:本文可以看作对本专栏中“工程中非凸优化利器: Majorization-Minimization” 一文的补充. 以下简称"MM一文".
本文分为以下部分
Part I SCA 原理
Part II A. SCA 算法
Part II B. SCA 算法的收敛
Part III SCA 使用举例
大部分会采用和MM对比介绍的方式进行叙述。
Part I SCA 原理(与MM对比介绍)
SCA 的基本原理与MM类似,都是通过对非凸目标函数,迭代地,在一点 上构造一个更易解的近似函数
来使得问题得以简化。二者区别在于近似的条件不同,如下图 所示。

下面列出两种方法对于近似函数 的要求


两者前三点要求相同,分别是
- 近似函数连续性
- 近似函数和原函数在近似点函数值相同
- 近似函数和原函数在近似点的一阶导数(方向导数)相同
第四点不同
SCA 要求近似函数是凸函数 而MM要求近似函数在近似点是原函数的upper bound(在原函数“上面“).
Part II A. SCA 算法
SCA的出现是为了解决实际应用中满足MM的条件的近似函数很难找的问题 (主要是第四点,满足uppder bound 又好解的近似函数很难找)。 然而根据no free lunch 的原则,我们在寻找近似函数上省了力气,就得在求解的时候付出更多力气。这是因为近似函数如果不满足upper bound那么直接取近似函数的最小值会导致“步子迈的太大”“走过了”的情况。如图1所示 为近似函数的最小值,它“超过了”目标函数的local minima. 因此需要调整步长。调整的方法非常简单,采用moving average(移动平均?),公式如下

然后我们就可以得到整个算法(这里我从[1]中截的图然后p了一下,原算法是分块求解的)

红框是寻找参数 的过程。
对比MM

多了搜索参数和移动平均的过程。
Part II B. SCA 算法的收敛
下面简单说一下如何证明SCA算法收敛到stationary point
结合图1的示意和算法1,我们发现SCA的搜索方向是 。那么算法是如何保证这个方向是原函数的下降方向呢,关键在于寻找步长
这一步。
我们有:
最后一项不等式是因为 是凸函数 而
是最小值,所以在
这个方向上的函数值
小于
.
然后呢,我们根据步长条件(红框中最后一行)就可以得到
不难发现如果 恰好也是原函数的 upper bound, 那么令
自动满足算法1中的步长条件(红框中最后一行)。此时这个算法就是MM啦~
Part II SCA 使用举例
前面说到SCA 和MM的区别在于SCA要求近似函数是凸的,MM要求近似函数是upper bound。当然两个近似都要好解才行。这里举一个比较常用的SCA中的近似函数。
SCA 中近似函数最常见的就是二次函数,表达式如下:

,保证近似函数为凸函数。其实就是拿到一个函数我们求导就行了,然后
随便取一下。
补充:在做这个总结的时候个人挺好奇:对于MM算法我们找到的近似函数一般不仅是upper bound 而且还是凸的。有没有是upper bound 但是 “非凸” 确又好解的近似函数的例子?最后找到了一个,自己觉得还蛮有用的。[2]中提出了一个鲁棒协方差矩阵估计问题我在这里做了简化:假设要估计的协方差矩阵的变量服从某种均值为0的椭圆分布,采用最大log 似然估计得到如下优化问题:

对第二项采用“MM一文”中介绍的一阶泰勒展开方法,每一次迭代给定 , MM需要解下面的近似函数
这个问题对 非凸,但是有最优闭式解

(证明的话就把 看成一个新的变量 非常容易得到近似函数对于
是凸的,然后求导等于0即可)
后面会补充
1.关于非凸constraint 的问题如果用SCA(或者MM)如何处理。其实就是把约束条件函数采用和目标函数相同的方法找一个好的近似函数就行。
2.还有进阶版本的stochastic SCA(或者MM)有时间也会讲一下。这方面的内容推荐给大家浙大刘安教授的这篇发表在TSP上的文章
Stochastic Successive Convex Approximation for Non-Convex Constrained Stochastic Optimization arxiv.org第一次在知乎写东西希望有帮助~
参考
- ^Successive Convex Approximation: Analysis and Applications https://conservancy.umn.edu/handle/11299/163884
- ^Regularized Robust Estimation of Mean and Covariance Matrix Under Heavy-Tailed Distributions https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=7069228
来源:oschina
链接:https://my.oschina.net/u/4387051/blog/4450724