Majorization-Minimization (MM)
考虑如下优化问题
m
i
n
x
f
(
x
)
s
.
t
.
x
∈
X
\begin{aligned} &\mathop{\mathrm{min}}\limits_{\mathbf{x} }~~ f(\mathbf{x})\\ &\mathrm{s.t.}~~ \mathbf{x}\in \mathcal{X} \\ \end{aligned}
xmin f(x)s.t. x∈X
其中
X
\mathcal{X}
X是
R
n
\mathbb{R}^n
Rn中的非空闭集,
f
:
X
→
R
f:\mathcal{X}\rightarrow \mathbb{R}
f:X→R是一个连续函数。
初始化为 x 0 ∈ X \mathbf{x}_0 \in \mathcal{X} x0∈X,MM按如下方式产生一系列可行点序列 ( x t ) t ∈ N (\mathbf{x}_t)_{t\in \mathbb{N}} (xt)t∈N:
-
在点 x t \mathbf{x}_t xt,在Majorization步,构造一个替代函数 g ( ⋅ ∣ x t ) : X → R g(\cdot|\mathbf{x}_t):\mathcal{X}\rightarrow \mathbb{R} g(⋅∣xt):X→R,其满足上界特性
g ( x ∣ x t ) ≥ f ( x ) + c t , ∀ x ∈ X g(\mathbf{x}|\mathbf{x}_t)\geq f(\mathbf{x})+c_t, \forall \mathbf{x}\in \mathcal{X} g(x∣xt)≥f(x)+ct,∀x∈X
其中 c t = g ( x t ∣ x t ) − f ( x t ) c_t=g(\mathbf{x}_t|\mathbf{x}_t)-f(\mathbf{x}_t) ct=g(xt∣xt)−f(xt),即 g ( ⋅ ∣ x t ) g(\cdot|\mathbf{x}_t) g(⋅∣xt)和 f f f的差值在 x t \mathbf{x}_t xt处最小。 -
在Minimization步,更新 x \mathbf{x} x为
x t + 1 ∈ arg min x ∈ X g ( x ∣ x t ) \mathbf{x}_{t+1} \in \mathop{\arg\min}_{\mathbf{x}\in \mathcal{X}} g(\mathbf{x}|\mathbf{x}_t) xt+1∈argminx∈Xg(x∣xt)
序列 ( f ( x t ) ) t ∈ N (f(\mathbf{x}_t))_{t\in \mathbb{N}} (f(xt))t∈N是非增的,因为
f ( x t + 1 ) ≤ g ( x t + 1 ∣ x t ) − c t ≤ g ( x t ∣ x t ) − c t = f ( x t ) f(\mathbf{x}_{t+1})\leq g(\mathbf{x}_{t+1}|\mathbf{x}_t)-c_t\leq g(\mathbf{x}_t|\mathbf{x}_t)-c_t=f(\mathbf{x}_{t}) f(xt+1)≤g(xt+1∣xt)−ct≤g(xt∣xt)−ct=f(xt)
收敛性:上式说明了目标函数非增,收敛到一个极限 f ∗ f^* f∗。下一步是建立条件以保证 f ∗ f^* f∗是一个稳定值,且序列 ( x t ) t ∈ N (\mathbf{x}_t)_{t\in \mathbb{N}} (xt)t∈N是收敛的(略,详见 [1])。
Successive Convex Approximation (SCA)
考虑如下优化问题
m
i
n
x
f
0
(
x
)
s
.
t
.
f
i
(
x
)
≤
0
,
i
=
1
,
.
.
.
,
m
\begin{aligned} &\mathop{\mathrm{min}}\limits_{\mathbf{x} }~~ f_0(\mathbf{x})\\ &\mathrm{s.t.}~~ f_i(\mathbf{x})\leq 0, i=1,...,m \\ \end{aligned}
xmin f0(x)s.t. fi(x)≤0,i=1,...,m
在每次迭代中,可以既近似目标函数
f
0
f_0
f0又近似可行点集
{
x
∣
f
i
(
x
)
≤
0
,
i
=
1
,
.
.
.
,
m
}
\{ \mathbf{x} | f_i(\mathbf{x})\leq 0,i=1,...,m \}
{x∣fi(x)≤0,i=1,...,m}。在第
t
t
t次迭代中,可以解如下凸优化子问题:
m
i
n
x
g
0
(
x
∣
x
t
)
s
.
t
.
g
i
(
x
∣
x
t
)
≤
0
,
i
=
1
,
.
.
.
,
m
\begin{aligned} &\mathop{\mathrm{min}}\limits_{\mathbf{x} }~~ g_0(\mathbf{x}|\mathbf{x}_t)\\ &\mathrm{s.t.}~~ g_i(\mathbf{x}|\mathbf{x}_t)\leq 0, i=1,...,m \\ \end{aligned}
xmin g0(x∣xt)s.t. gi(x∣xt)≤0,i=1,...,m
其中
g
i
(
⋅
∣
x
t
)
,
∀
i
=
0
,
.
.
.
,
m
g_i(\cdot|\mathbf{x}_t), \forall i=0,...,m
gi(⋅∣xt),∀i=0,...,m是凸函数,满足:
g
i
(
x
t
∣
x
t
)
=
f
i
(
x
t
)
g
i
(
x
∣
x
t
)
≥
f
i
(
x
)
∇
g
i
(
x
t
∣
x
t
)
=
∇
f
i
(
x
t
)
\begin{aligned} &g_i(\mathbf{x}_t|\mathbf{x}_t)=f_i(\mathbf{x}_t) \\ &g_i(\mathbf{x}|\mathbf{x}_t)\geq f_i(\mathbf{x}) \\ &\nabla g_i(\mathbf{x}_t|\mathbf{x}_t)=\nabla f_i(\mathbf{x}_t) \end{aligned}
gi(xt∣xt)=fi(xt)gi(x∣xt)≥fi(x)∇gi(xt∣xt)=∇fi(xt)
任何收敛序列
(
x
t
)
t
∈
N
(\mathbf{x}_t)_{t\in \mathbb{N}}
(xt)t∈N的极限是一个KKT点。简而言之,子问题是由原目标函数的上界凸替代函数、可行集内的凸子集近似构造的。
(收敛性:参考文献 [3])。
MM与SCA的对比
相同点:
- 近似函数连续性
- 近似函数和原函数在近似点函数值相同
- 近似函数和原函数在近似点的一阶导数(方向导数)相同
不同点:
- SCA 要求近似函数是凸函数;而MM要求近似函数在近似点是原函数的upper bound(在原函数“上面“).
参考文献
- [1] Y. Sun, P. Babu and D. P. Palomar, “Majorization-Minimization Algorithms in Signal Processing, Communications, and Machine Learning,” in IEEE Transactions on Signal Processing, vol. 65, no. 3, pp. 794-816, 1 Feb.1, 2017.
- [2] 工程中非凸优化利器: Majorization-Minimization
- [3] 工程中非凸优化利器: Successive Convex Approximation (SCA)