Machine Learning : Support Vector Machine
Intro#
- 尋找最大Margin的超平面 : fatness(w)=minn=1,...,Ndistance(xn,w)
- 標準型式 : Hard-Margin SVM
Distance#
- 先做投影 : distance(x,b,w)=∥w∥∣wT(x−x′)∣
- 化簡完之後 : =∥w∥∣wTx+b∣
分離條件#
- 對於所有點 n 須滿足 : yn(wTxn+b)>0 (正確分類)
- 距離 : ∥∥w∥∥yn(wTxn+b)
因為有縮放不變,可以設條件 yn(wTxn+b)=1 ,這樣margin就變成 ∥∥w∥∥1
- 最終的目標為最小化 ∥∥w∥∥
SVM with QP Solver#
Optimal (b,w)b,wminsubject to =?21wTwyn(wTxn+b)≥1,for n=1,2,...,NOptimal uuminsubject to ←QP(Q,p,A,c)21uTQu+pTuamTu≥cm,for m=1,2,...,M
二次規劃 : 解出向量 u,使目標函數 21uTQu+pTu 在滿足約束 Au≥c 的情況下達到最小
- 變數對應 :
- 向量 u : u=[bw] ,維度 = d+1
- Q 矩陣 : 左上角=0, 右上角和左下角是 1×d 和 d×1 的零向量, 右下角為單位矩陣
- p 向量 : 零向量 (沒有 b 或 w 的一次項)
- A 矩陣和 c 向量 : SVM約束
- aiT 向量 : yi[1,xiT]
- ci=1
呼叫 QP Solver : u∗=QP(Q,p,A,c), 取得 u\* 就是 [b∗w∗] ,可以用來定義分類超平面