对偶性是凸优化学习的核心,重中之重。
对于一个普通优化问题:
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)
线性函数组合的 inf \inf inf一定是凹函数。
线性函数组合的 sup \sup sup一定是凸函数。
*证明:*设 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是一个凸问题,这为我们解非凸问题提供了一种思路。
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
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
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
对于一个普通优化问题:
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
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
对偶性是整个凸优化学习的核心,这是我们第一次接触到能给出一个非凸优化问题的最优下界的方法,同时,凸优化问题的对偶也有着良好的性质,需要接下来深入学习。
这里面拉格朗日乘子和之前的多目标优化中的惩罚因子有些相似。