凸优化学习
对偶性是凸优化学习的核心,重中之重。
学习笔记
一、拉格朗日函数与对偶函数
对于一个普通优化问题:
minf0(x)s.t.fi(x)≤0i=1⋯mhi(x)=0i=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)=f0(x)+∑i=1mλifi(x)+∑i=1pvihi(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)=infx∈Dl(x,λ,v)
g(\lambda,v)=\inf_{x\in D}l(x,\lambda,v)
g(λ,v)=x∈Dinfl(x,λ,v)
二、对偶函数的性质
1、对偶函数一定是凹函数
线性函数组合的inf\infinf一定是凹函数。
线性函数组合的sup\supsup一定是凸函数。
2、g(λ,v)≤p∗g(\lambda,v)\le p^*g(λ,v)≤p∗
*证明:*设x∗x^*x∗是原问题最优解,则必是可行解。
则l(x∗,λ,v)=f0(x∗)+∑i=1mλifi(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∗
而ggg是lll的下界,故有
g(λ,v)≤l(x∗,λ,v)≤p∗
g(\lambda,v)\le l(x^*,\lambda,v)\le p^*
g(λ,v)≤l(x∗,λ,v)≤p∗
所以,极大化ggg,可以得到p∗p^*p∗的最好下界。而ggg是凹的,极大化ggg是一个凸问题,这为我们解非凸问题提供了一种思路。
三、几个求拉格朗日函数和对偶函数的例子
例1:二次规划
minxTxs.t.Ax−b=0⇒l(x,v)=xTx+v(Ax−b)⇒g(v)=infxl(x,v)=infxxTx+vTAx−vTb \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:线性规划
mincTxs.t.Ax−b=0 x≥0⇒l(x,λ,v)=cTx−λTx+vT(Ax−b)=−bTv+(c+ATv−λ)Tx⇒g(v)=infxl(x,λ,v)={−bTvATv−λ+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:非凸约束的二次规划
minxTWxs.t.xi={−1,1}i=1⋯m⇔minxTWxs.t.xi2−1=0 i=1⋯m⇒l(x,λ,v)=xTWx+∑i=1nvi(xi2−1)=xT(W+Diag(v))x−1Tv⇒g(v)=infxl(x,λ,v)={−1TvW+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)
对于一个普通优化问题:
minf0(x)s.t.fi(x)≤0i=1⋯mhi(x)=0i=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)=f0(x)+∑i=1mλifi(x)+∑i=1pvihi(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)=infx∈Dl(x,λ,v)
g(\lambda,v)=\inf_{x\in D}l(x,\lambda,v)
g(λ,v)=x∈Dinfl(x,λ,v)
其对偶问题为:
maxg(λ,v)s.t.λ ≥0
\begin{aligned}
\max&& g(\lambda,v)&\\
\text{s.t.}&&\lambda\ \ge0&\\
\end{aligned}\\
maxs.t.g(λ,v)λ ≥0
例1:线性规划
mincTx(P)s.t.Ax−b=0 x≥0⇒l(x,λ,v)=cTx−λTx+vT(Ax−b)=−bTv+(c+ATv−λ)Tx⇒g(v)=infxl(x,λ,v)={−bTvATv−λ+c=0−∞otherwisemax−bTx⇒(D)s.t.λ≥0ATv−λ+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
个人思考
对偶性是整个凸优化学习的核心,这是我们第一次接触到能给出一个非凸优化问题的最优下界的方法,同时,凸优化问题的对偶也有着良好的性质,需要接下来深入学习。
这里面拉格朗日乘子和之前的多目标优化中的惩罚因子有些相似。
纸质笔记