Inttoduction
上一節我們提到了強對偶,即原問題的最優值與對偶問題的最優值相等。下面我們需要解決怎樣找到優化問題的最優解。而KKT條件就是最優解需要滿足的條件。
KKT條件
給定一個一般性的優化問題:
xminsubject tof(x)hi(x)≤0, i=1,...,mli(x)=0, j=1,...,r
KKT條件(Karush-Kuhn-Tucker conditions or KKT conditions)定義爲:
- 穩定性條件:0∈∂x(f(x)+i=1∑muihi(x)+j=1∑rvjlj(x))
- 互補鬆弛性:ui⋅hi(x)=0for all i
- 原問題可行域:hi(x)≤0,li(x)=0for all i,j
- 對偶問題可行域:ui≥0for all i
充分性與必要性說明
必要性
假設x∗和u∗,v∗分別是原問題和對偶問題的最優解,且原問題和對偶問題的對偶間隙爲0(即強對偶)。那麼:
f(x∗)=g(u∗,v∗)=xminf(x)+i=1∑mui∗hi(x)+j=1∑rvj∗lj(x)≤f(x∗)+i=1∑mui∗hi(x∗)+j=1∑rvj∗lj(x∗)≤f(x∗)
即所有不等式都可以取等號。因此,我們可以得到:
- 點x∗最小化L(x,u∗,v∗),那麼L(x,u∗,v∗)在x=x∗處的次微分一定包含0——即穩定性條件。
- ∑i=1mui∗hi(x∗)=0——即互補鬆弛性
必要性:如果x∗和u∗,v∗分別是原問題與對偶問題的解,且對偶間隙爲0,那麼x∗,u∗,v∗滿足KKT條件。
充分性
如果存在x∗,u∗,v∗滿足KKT條件,那麼
g(u∗,v∗)=f(x∗)+i=1∑mui∗hi(x∗)+j=1∑rvj∗lj(x∗)=f(x∗)
因此,對偶間隙爲0,所以x∗和u∗,v∗分別是原問題與對偶問題的解。
充分性:如果x∗,u∗,v∗滿足KKT條件,那麼x∗和u∗,v∗分別是原問題與對偶問題的解
總結
綜上所述,KKT條件等價於對偶間隙爲0:
那麼我們可以得到:如果一個問題有強對偶性,那麼x∗,u∗,v∗滿足KKT條件與x∗和u∗,v∗分別是原問題與對偶問題的解是等價的。
可以看出,對於無約束優化問題,KKT條件就是次梯度最優化條件。對於一般性凸優化問題,KKT條件是次梯度最優化條件的推廣。
例子:支持向量機(SVM)
給定y∈{−1,1}n,X∈Rn×p有行向量x1,...,xn,則支持向量機(SVM)定義爲:
β,β0,ξminsubject to21∥β∥22+Ci=1∑nξiξi≥0, i=1,...,nyi(xiTβ+β0)≥1−ξi, i=1,...,n
引入對偶變量v,w≥0。KKT穩定性條件爲:
0=i=1∑nwiyi,β=i=1∑nwiyixi,w=C1−v
互補鬆弛性:
viξi=0,wi(1−ξi−yi(xiTβ+β0))=0,i=1,...,n
因此,在最優點處我們有β=∑i=1nwiyixi,且僅當yi(xiTβ+β0)=1−ξi,wi是非零的,這些點i被叫做支持點(support points)
- 對於支持點i,如果ξi=0,則xi位於分割邊界上,且wi∈(0,C];
- 對於支持點i,如果ξi=0,則xi位於分割邊界的錯誤一邊,且wi=C;
有約束形式與拉格朗日形式
在統計和機器學習中,我們常常把一個優化問題在其有約束形式(constrained form),即
xminf(x)subject toh(x)≤t
和拉格朗日形式(Lagrange form),即
xminf(x)+λ⋅h(x)
之間進行互換,並認爲這兩種形式是等價的。由上面分析可知,假如f,h都是凸函數,這種等價在h(x)<t時是成立的。
Conclusion
對偶的一個關鍵性質是,在強對偶條件下,KKT條件是最優解的充要條件,即原問題的解可以通過其對偶問題得到。由於對偶問題一定是凸優化問題,這在對偶問題比原問題更簡單時非常有用。