凸优化学习
对偶性是凸优化学习的核心,重中之重。
学习笔记
一、拉格朗日函数与对偶函数
对于一个普通优化问题:
min
f
0
(
x
)
s.t.
f
i
(
x
)
≤
0
i
=
1
⋯
m
h
i
(
x
)
=
0
i
=
1
⋯
p
\begin{aligned} \min&& f_0(x)&\\ \text{s.t.}&&f_i(x)&\le0\qquad i=1\cdots m\\ &&h_i(x)&=0\qquad i=1\cdots p\\ \end{aligned}\\
mins.t.f0(x)fi(x)hi(x)≤0i=1⋯m=0i=1⋯p
由此问题定义的拉格朗日函数(
lagrangian function
\text{lagrangian function}
lagrangian function):
l
(
x
,
λ
,
v
)
=
f
0
(
x
)
+
∑
i
=
1
m
λ
i
f
i
(
x
)
+
∑
i
=
1
p
v
i
h
i
(
x
)
l(x,\lambda,v)=f_0(x)+\sum_{i=1}^m\lambda_if_i(x)+\sum_{i=1}^pv_ih_i(x)
l(x,λ,v)=f0(x)+i=1∑mλifi(x)+i=1∑pvihi(x)
其中
λ
,
v
\lambda,v
λ,v被称为拉格朗日乘子,分别为与等式相关的拉格朗日乘子和与不等式相关的拉格朗日乘子。
由拉格朗日函数构造的对偶函数(
dual function
\text{dual function}
dual function):
g
(
λ
,
v
)
=
inf
x
∈
D
l
(
x
,
λ
,
v
)
g(\lambda,v)=\inf_{x\in D}l(x,\lambda,v)
g(λ,v)=x∈Dinfl(x,λ,v)
二、对偶函数的性质
1、对偶函数一定是凹函数
线性函数组合的
inf
\inf
inf一定是凹函数。
线性函数组合的
sup
\sup
sup一定是凸函数。
2、 g ( λ , v ) ≤ p ∗ g(\lambda,v)\le p^* g(λ,v)≤p∗
*证明:*设
x
∗
x^*
x∗是原问题最优解,则必是可行解。
则
l
(
x
∗
,
λ
,
v
)
=
f
0
(
x
∗
)
+
∑
i
=
1
m
λ
i
f
i
(
x
∗
)
+
0
≤
p
∗
\begin{aligned} l(x^*,\lambda,v)&=f_0(x^*)+\sum_{i=1}^m\lambda_if_i(x^*)+0\\ &\le p^* \end{aligned}
l(x∗,λ,v)=f0(x∗)+i=1∑mλifi(x∗)+0≤p∗
而
g
g
g是
l
l
l的下界,故有
g
(
λ
,
v
)
≤
l
(
x
∗
,
λ
,
v
)
≤
p
∗
g(\lambda,v)\le l(x^*,\lambda,v)\le p^*
g(λ,v)≤l(x∗,λ,v)≤p∗
所以,极大化
g
g
g,可以得到
p
∗
p^*
p∗的最好下界。而
g
g
g是凹的,极大化
g
g
g是一个凸问题,这为我们解非凸问题提供了一种思路。
三、几个求拉格朗日函数和对偶函数的例子
例1:二次规划
min x T x s.t. A x − b = 0 ⇒ l ( x , v ) = x T x + v ( A x − b ) ⇒ g ( v ) = inf x l ( x , v ) = inf x x T x + v T A x − v T b \begin{aligned} &&\min\qquad& x^Tx\\ &&\text{s.t.}\qquad&\textbf Ax-b=0\\ \\ \Rightarrow&&l(x,v)&=x^Tx+v(\textbf Ax-b)\\ \Rightarrow&&g(v)&=\inf_x l(x,v)\\ &&&=\inf_x x^Tx+v^T\textbf Ax-v^Tb \end{aligned} ⇒⇒mins.t.l(x,v)g(v)xTxAx−b=0=xTx+v(Ax−b)=xinfl(x,v)=xinfxTx+vTAx−vTb
例2:线性规划
min c T x s.t. A x − b = 0 x ≥ 0 ⇒ l ( x , λ , v ) = c T x − λ T x + v T ( A x − b ) = − b T v + ( c + A T v − λ ) T x ⇒ g ( v ) = inf x l ( x , λ , v ) = { − b T v A T v − λ + c = 0 − ∞ otherwise \begin{aligned} &&\min\qquad& c^Tx\\ &&\text{s.t.}\qquad&\textbf Ax-b=0\\ &&\qquad&\qquad \ \ x\ge0\\ \\ \Rightarrow&&l(x,\lambda,v)&=c^Tx-\lambda^Tx+v^T(\textbf Ax-b)\\ &&&=-b^Tv+(c+\textbf A^Tv-\lambda)^Tx\\ \Rightarrow&&g(v)&=\inf_x l(x,\lambda,v)\\ &&&=\begin{cases} -b^Tv&\textbf A^Tv-\lambda+c=0\\ -\infty&\text{otherwise} \end{cases} \end{aligned} ⇒⇒mins.t.l(x,λ,v)g(v)cTxAx−b=0 x≥0=cTx−λTx+vT(Ax−b)=−bTv+(c+ATv−λ)Tx=xinfl(x,λ,v)={−bTv−∞ATv−λ+c=0otherwise
例3:非凸约束的二次规划
min x T W x s.t. x i = { − 1 , 1 } i = 1 ⋯ m ⇔ min x T W x s.t. x i 2 − 1 = 0 i = 1 ⋯ m ⇒ l ( x , λ , v ) = x T W x + ∑ i = 1 n v i ( x i 2 − 1 ) = x T ( W + Diag ( v ) ) x − 1 T v ⇒ g ( v ) = inf x l ( x , λ , v ) = { − 1 T v W + Diag ( v ) ⪰ 0 − ∞ otherwise \begin{aligned} &&\min\qquad& x^T\textbf Wx\\ &&\text{s.t.}\qquad&x_i=\lbrace-1,1\rbrace\qquad i=1\cdots m \\ \\ \Leftrightarrow&&\min\qquad& x^T\textbf Wx\\ &&\text{s.t.}\qquad&x_i^2-1=0\qquad \ \ \ \ i=1\cdots m \\ \Rightarrow&&l(x,\lambda,v)&=x^T\textbf Wx+\sum_{i=1}^nv_i(x_i^2-1)\\ &&&=x^T\big(\textbf W+\text{Diag}(v)\big)x-1^Tv \\ \Rightarrow&&g(v)&=\inf_x l(x,\lambda,v)\\ &&&=\begin{cases} -1^Tv&\textbf W+\text{Diag} (v)\succeq0\\ -\infty&\text{otherwise} \end{cases} \end{aligned} ⇔⇒⇒mins.t.mins.t.l(x,λ,v)g(v)xTWxxi={−1,1}i=1⋯mxTWxxi2−1=0 i=1⋯m=xTWx+i=1∑nvi(xi2−1)=xT(W+Diag(v))x−1Tv=xinfl(x,λ,v)={−1Tv−∞W+Diag(v)⪰0otherwise
四、对偶问题( Dual problem \text{Dual problem} Dual problem)
对于一个普通优化问题:
min
f
0
(
x
)
s.t.
f
i
(
x
)
≤
0
i
=
1
⋯
m
h
i
(
x
)
=
0
i
=
1
⋯
p
\begin{aligned} \min&& f_0(x)&\\ \text{s.t.}&&f_i(x)&\le0\qquad i=1\cdots m\\ &&h_i(x)&=0\qquad i=1\cdots p\\ \end{aligned}\\
mins.t.f0(x)fi(x)hi(x)≤0i=1⋯m=0i=1⋯p
拉格朗日函数(
lagrangian function
\text{lagrangian function}
lagrangian function):
l
(
x
,
λ
,
v
)
=
f
0
(
x
)
+
∑
i
=
1
m
λ
i
f
i
(
x
)
+
∑
i
=
1
p
v
i
h
i
(
x
)
l(x,\lambda,v)=f_0(x)+\sum_{i=1}^m\lambda_if_i(x)+\sum_{i=1}^pv_ih_i(x)
l(x,λ,v)=f0(x)+i=1∑mλifi(x)+i=1∑pvihi(x)
由拉格朗日函数构造的对偶函数(
dual function
\text{dual function}
dual function):
g
(
λ
,
v
)
=
inf
x
∈
D
l
(
x
,
λ
,
v
)
g(\lambda,v)=\inf_{x\in D}l(x,\lambda,v)
g(λ,v)=x∈Dinfl(x,λ,v)
其对偶问题为:
max
g
(
λ
,
v
)
s.t.
λ
≥
0
\begin{aligned} \max&& g(\lambda,v)&\\ \text{s.t.}&&\lambda\ \ge0&\\ \end{aligned}\\
maxs.t.g(λ,v)λ ≥0
例1:线性规划
min c T x ( P ) s.t. A x − b = 0 x ≥ 0 ⇒ l ( x , λ , v ) = c T x − λ T x + v T ( A x − b ) = − b T v + ( c + A T v − λ ) T x ⇒ g ( v ) = inf x l ( x , λ , v ) = { − b T v A T v − λ + c = 0 − ∞ otherwise max − b T x ⇒ ( D ) s.t. λ ≥ 0 A T v − λ + c = 0 \begin{aligned} &&\min\qquad& c^Tx\\ (P)&&\text{s.t.}\qquad&\textbf Ax-b=0\\ &&\qquad&\qquad \ \ x\ge0\\ \\ \Rightarrow&&l(x,\lambda,v)&=c^Tx-\lambda^Tx+v^T(\textbf Ax-b)\\ &&&=-b^Tv+(c+\textbf A^Tv-\lambda)^Tx\\ \Rightarrow&&g(v)&=\inf_x l(x,\lambda,v)\\ &&&=\begin{cases} -b^Tv&\textbf A^Tv-\lambda+c=0\\ -\infty&\text{otherwise} \end{cases}\\ \\ &&\max\qquad& -b^Tx\\ \Rightarrow(D)&&\text{s.t.}\qquad&\lambda\ge0\\ &&&\textbf A^Tv-\lambda+c=0 \end{aligned} (P)⇒⇒⇒(D)mins.t.l(x,λ,v)g(v)maxs.t.cTxAx−b=0 x≥0=cTx−λTx+vT(Ax−b)=−bTv+(c+ATv−λ)Tx=xinfl(x,λ,v)={−bTv−∞ATv−λ+c=0otherwise−bTxλ≥0ATv−λ+c=0
个人思考
对偶性是整个凸优化学习的核心,这是我们第一次接触到能给出一个非凸优化问题的最优下界的方法,同时,凸优化问题的对偶也有着良好的性质,需要接下来深入学习。
这里面拉格朗日乘子和之前的多目标优化中的惩罚因子有些相似。
纸质笔记