目標函數推導
點到超平面的距離公式:
|ωTx+b|||ω||
在分類過程中,
f(x)=ωTx+b 預測出的符號應與類標記
y 一致。故
y(ωTx+b) 的正負性可以表示分類的正確性。
函數間隔:
Υ=yf(x)
幾何間隔:
Υ=yf(x)||ω||
超平面最小几何間隔:
Υ⎯⎯⎯=minyf(x)||ω||
最大間隔分類器的目標函數就是最大化最小几何間隔
Υ⎯⎯⎯
maxΥ⎯⎯⎯=maxminyf(x)||ω||
即:
maxΥ⎯⎯⎯=maxyf(x)||ω||
st.yi(ωTxi+b)≥Υ
令函數間隔爲1,則
yf(x)=1 ,則超平面最小几何間隔爲
Υ⎯⎯⎯=min1||ω||
從而目標函數轉爲:
max1||ω||=min12||ω||2
st.yi(ωTxi+b)≥1
現在目標函數是二次的,約束條件是線性的,所以這是一個凸二次規劃問題。
拉格朗日法
使用拉格朗日法,得到對偶問題:
L(ω,b,α)=12||ω||2−∑i=1nαi(yi(ωTxi+b)−1
首先對
ω 和b求最小化,得到:
ω∗=∑i=1nαiyixi
若存在
αi≥0 ,則對應的就是在分界線上的支持向量,那麼
yi(ω∗.xi+b∗)−1=0 .則等式兩邊同時乘
yi :
b∗=yi−∑i=1nαiyi(xi.xj)
根據
f(x)=ω∗Tx+b
可得分類結果
將
ω∗和b∗ 帶回到目標函數後,可以得到關於
α 的函數,通過SMO等方法可以解出。
maxα∑i=1nαi−12∑i,j=1nαiαjyiyjxTixj
s.t.
0≤αi≤C
∑i=1nαiyi=0
smo
求解二次規劃的解析法
在 αi = {α1, α2, α3, …, αn} 上求上述目標函數的最小值。爲 了求解這些乘子,每次從中任意抽取兩個乘子 α1 和 α2,然後固定 α1 和 α2 以外的其 它乘子 {α3, …, αn},使得目標函數只是關於 α1 和 α2 的函數。這樣,不斷的從一堆乘 子中任意抽取兩個求解,不斷的迭代求解子問題,最終達到求解原問題的目的。
假設選擇的是兩個變量α1, α2,其他變量{α3, …, αn}是固定的,那麼子問題可以寫成:
minα1,α2W(α1,α2)=12K11α21+12K22α22+y1y2K12α1α2−(α1+α2)+y1α1∑i=3NyiαiKi1+y2α2∑i=3NyiαiKi2
s.t.
0≤αi≤C
α1y1+α2y2=−∑i=3Nαiyi=ϵ
其中,
ϵ 是常數。兩個因子不好同時求解,所以可先求第二個乘子
α2 的解(
αnew2 ),
得到
α2 的解(
αnew2 )之後,再用
α2 的解(
αnew2 )表示
α1 解(
αnew2 ),。爲了求解
αnew1 ,
得先確定 (
αnew2 ), 的取值範圍。假設它的上下邊界分別爲 H 和 L,那麼有:
L≤αnew2≤H
y1和y2不同時,當做+-1
y1和y2相同時,都當做1
則可以畫出兩個取值圖:
設預測值爲:
g(x)=∑i=1NαiyiK(xi,x)+b
則對輸入預測值與真實輸出之差
得到關於單變量
α2 的未考慮不等式約束
0≤αi≤C 時的解:
選擇α 的啓發式算法
- 外層循環尋找第一個乘子α1 ,找到不滿足kkt的
- 內層循環尋找滿足條件:max|Ei−Ej| 的乘子
總結
smo是一種啓發式算法,基本思路是:如果所有變量都滿足kkt條件,那麼最優化問題的解就得到了。否則選擇2個變量,固定其餘變量,針對這2個變量構建一個二次規劃子問題,這時可以通過解析法求解。如此可以通過不斷的將原問題拆解爲子問題達到求解原問題的目的。