目錄
- 示意圖
- 二分類問題描述
- 開始求解
- 1. Primal problem:帶ω,b約束的優化
- 2. 拉格朗日乘子法→對ω,b無約束的優化
- 3. 轉化爲強對偶問題
- 4. 求解對偶問題:解拉格朗日方程ω,bminL(ω,b,λ)
- (1) 求∂b∂L=0
- (2) 將i=1∑Nλiyi=0代入到L(ω,b,λ)中
- (3) 求∂ω∂L=0
- (4) 將ω=i=1∑Nλiyixi代入到L(ω,b,λ)中
- (5) 對偶問題的最終優化式
- 5. KKT條件求解對偶問題
示意圖
二分類問題描述
Data={(xi,yi)}i=1N,xi∈Rp,yi∈{−1,+1}
由於超平面ωTx+b有很多個,要找到最好的一個超平面,以得到最低的泛化誤差(或測試誤差、期望損失)。
hard-margin SVM判別模型,與概率無關:
f(ω)=sign(ωTx+b)={ωTx+b>0,f(ω)=1ωTx+b<0,f(ω)=−1
目標函數:
⎩⎪⎨⎪⎧max margin(ω,b)s.t. {ωTxi+b>0,yi=1ωTxi+b<0,yi=−1⇒yi(ωTxi+b)>0,i=1...,N
即,{max margin(ω,b)s.t. yi(ωTxi+b)>0,i=1,...,N
什麼是margin?
答:一共有N個點到直線的距離,最小的那個就是margin。點到直線距離公式,
margin(ω,b)=ω,b,ximindistance(ω,b,xi)=ω,b,ximin∥ω∥1∣ωTxi+b∣
則上式寫爲:
{ω,bmaxω,b,ximin∥ω∥1∣ωTxi+b∣ =ω,bmaxximin∥ω∥1∣ωTxi+b∣=ω,bmax∥ω∥1ximinyi(ωTxi+b)⇐yi∈{−1,+1}s.t. yi(ωTxi+b)>0
yi(ωTxi+b)>0可以理解爲:∃ γ>0,s.t. xi,yiminyi(ωTxi+b)=γ
γ的取值對式子(或超平面)是沒有影響的,實際上就是對ω,b的縮放。
因此,令 γ=1。
則,ω,bmax∥ω∥1ximinyi(ωTxi+b)=ω,bmax∥ω∥1γ=ω,bmax∥ω∥1
則,上式可寫爲:
{ω,bmax∥ω∥1⇒ω,bmin∥ω∥=ω,bmin21ωTω 硬間隔;二次的、凸優化,可直接求解s.t. ximinyi(ωTxi+b)=1⇒yi(ωTxi+b)⩾1,i=1,...,N 有N個約束
則,(1){ω,bmin21ωTω s.t. yi(ωTxi+b)⩾1,i=1,...,N
開始求解
1. Primal problem:帶ω,b約束的優化
(1){ω,bmin21ωTωs.t. yi(ωTxi+b)⩾1,for i=1,...,N1−yi(ωTxi+b)⩽0
2. 拉格朗日乘子法→對ω,b無約束的優化
L(ω,b,λ)=21ωTω+i=1∑Nλi(1−yi(ωTxi+b)), λi⩾0
(2){ω,bminλmaxL(ω,b,λ)s.t. λi⩾0
值得注意的是:1−yi(ωTxi+b)⩽0。爲什麼呢?
答:
直觀上看,
如果1−yi(ωTxi+b)>0,則λmaxL=21ωTω+∞=∞
如果1−yi(ωTxi+b)⩽0,則λmaxL一定存在,λmaxL=21ωTω+0=21ωTω (λi→0)
則,ω,bminλmaxL(ω,b,λ)=ω,bmin(∞,21ωTω)=21ωTω
因此,1−yi(ωTxi+b)>0被丟棄了。
3. 轉化爲強對偶問題
(3){λmaxω,bminL(ω,b,λ)s.t. λi⩾0
什麼是強、弱對偶?
答:凸優化二次規劃問題,它的約束是線性的,目標函數是二次的,因此滿足強對偶關係。(可證)
(1)弱對偶關係爲min maxL⩾max minL,對應理解爲“尾鳳⩾頭雞”,即鳳尾優於雞頭、瘦死的駱駝比馬大。
(2)強對偶關係,就是把⩾改爲=。
4. 求解對偶問題:解拉格朗日方程ω,bminL(ω,b,λ)
L(ω,b,λ)=21ωTω+i=1∑Nλi(1−yi(ωTxi+b)), λi⩾0
(1) 求∂b∂L=0
∂b∂L=∂b∂[i=1∑Nλi−i=1∑Nλiyi(ωTxi+b)]=∂b∂[−i=1∑Nλiyib)]=−i=1∑Nλiyi=0
則,i=1∑Nλiyi=0
(2) 將i=1∑Nλiyi=0代入到L(ω,b,λ)中
L(ω,b,λ)=21ωTω+i=1∑Nλi−i=1∑Nλiyi(ωTxi+b)=21ωTω+i=1∑Nλi−i=1∑NλiyiωTxi+i=1∑Nλiyib=21ωTω+i=1∑Nλi−i=1∑NλiyiωTxi
(3) 求∂ω∂L=0
∂ω∂L=21⋅2⋅ω−i=1∑Nλiyixi=0
則,ω=i=1∑Nλiyixi
(4) 將ω=i=1∑Nλiyixi代入到L(ω,b,λ)中
L(ω,b,λ)=21(i=1∑Nλiyixi)T(i=1∑Nλiyixi)+i=1∑Nλi−i=1∑Nλiyi(j=1∑Nλjyjxj)Txi
注意:
∵λi∈R,yi∈{−1,1},xi∈Rp
∴(i=1∑Nλiyixi)T=i=1∑NλiyixiT
∴ωTω=(i∑NλiyixiT)⋅(j∑Nλjyjxj)=i∑Nj∑NλiλjyiyjxiTxj
同理,i=1∑Nλiyi(j=1∑Nλjyjxj)Txi=i=1∑Nλiyij=1∑NλjyjxjTxi=i∑Nj∑NλiλjyiyjxjTxi=i∑Nj∑NλiλjyiyjxiTxj⇐xiTxj=xjTxi∈R
發現上面兩個結果一樣!因此,可以約掉啦~
(i=1∑Nλiyixi)T(i=1∑Nλiyixi)=i=1∑Nλiyi(j=1∑Nλjyjxj)Txi=i∑Nj∑NλiλjyiyjxiTxj
L(ω,b,λ)=i=1∑Nλi−21i∑Nj∑NλiλjyiyjxiTxj即ω,bminL(ω,b,λ)
代入式(3)即,
(4)⎩⎪⎪⎪⎪⎨⎪⎪⎪⎪⎧λmaxi=1∑Nλi−21i=1∑Nj=1∑NλiλjyiyjxiTxj⇐λmaxω,bminL(ω,b,λ)s.t. λi⩾0,i=1∑Nλiyi=0
(5) 對偶問題的最終優化式
最優化問題常由min表示
(5)⎩⎪⎪⎪⎪⎨⎪⎪⎪⎪⎧λmin21i=1∑Nj=1∑NλiλjyiyjxiTxj−i=1∑Nλis.t. λi⩾0,i=1∑Nλiyi=0
5. KKT條件求解對偶問題
定理:原問題和對偶問題具有強對偶關係充要條件滿足KKT條件
拉格朗日方程(上面第2點):
L(ω,b,λ)=21ωTω+i=1∑Nλi(1−yi(ωTxi+b)), λi⩾0
根據定理可直接得到該問題的KKT(Karush-Kuhn-Tucker)條件:
⎩⎪⎪⎪⎨⎪⎪⎪⎧∂ω∂L=0,∂b∂L=0,∂λ∂L=0λi⩾0⇒拉格朗日乘子法的要求1−yi(ωTxi+b)⩽0⇒上面第2點解釋了λi(1−yi(ωTxi+b))=0⇒此時,L(ω,b,λ)=21ωTω,爲最大值;鬆弛互補條件,求解b∗
根據KKT條件,可求出最優的ω∗,b∗。
凸優化中對偶問題詳解,尤其解釋了什麼是KKT條件。
(1) 最優解ω∗=i=1∑Nλiyixi
就是之前(3)中∂ω∂L=0的結果。
(2) 最優解b∗=yk−i∑NλiyixiTxk
假設∃(xk,yk), s.t. 1−yk(ωTxk+b)=0,即(xk,yk)爲支持向量,ωTxk+b∈{−1,1}。
由yk(ωTxk+b)=1∵yk=±1,yk2=1∴yk2(ωTxk+b)=yk∴ωTxk+b=yk∴b∗=yk−ωTxk=yk−(ω∗)Txk=yk−i=1∑NλiyixiTxk
(3) 根據w∗,b∗得出超平面w∗x+b∗
- f(x)=sign((w∗)Tx+b∗)
- w∗=i=1∑Nλiyixi可看做是Data={(xi,yi)}i=1N,xi∈Rp,yi∈{−1,+1}的線性組合
- λi只對支持向量纔有意義,即1−yi(ωTxi+b)=0上的點,此時,λi⩾0;對於非支持向量不起作用,此時λi=0。