1.支援向量機是什麼?
支援向量機是乙個超平面分類演算法,他通過對已有標記的資料進行訓練得出分類的超平面,對未知標記的點進行分類.
2.支援向量機的工作原理?
線性可分情況:
1.求平面wx+b=0,即求w和b的值.使得樣本集中的點到平面的距離min yi(wtxi+b)/||w||的值關於xi最小.實際上是求
maxw,b (minx
i (yi(wtxi+b)/||w||))
因為w,b前加乙個係數不影響平面,所以令所有的yi(wtxi+b)>=1.其中最小的那些取等號.取等號的即為支援向量.
這裡實際上是對w和b做了一次變換,設最小的那個點到平面的距離為r.令w'=w/r,b'=b/r.
2.轉化為lagrange dual problem.
在加入假設之後實際上是求
maxw,b 1/||w||==>可以轉化為minw ||w||2/2
s.t. yi(wtxi+b)>=1 i=1,...n
其lagrange函式為
minw,b θ(w)=minw,b maxαi,αi>0
l(α,w,b)=||w||2/2-σiαi(yi(wtxi+b)-1)
因為是對αi求最值,所以lagrange函式問題θ(w)與原問題等價.這相當於把二次規劃的限制條件放到了目標函式中去了.
這裡是先求max再求min.因為svm的lagrange函式滿足slater條件,同時滿足kkt條件.所以先求max再求min與先求min再求max得出的結果是一樣的.如果不滿足條件則
max min f(x,y) 是 min max f(x,y)的乙個下界.乙個是頂上最矮的,乙個是地上最高的. 因而我們求其對偶問題
maxαi,αi>0
minw,b l(α,w,b)=||w||2/2-σiαi(yi(wtxi+b)-1) (1)
又有滿足ktt條件: l(α,w,b)對w,b求導為0.即得
w=σi αiyixi (2)
σi αiyi = 0 (3)
將(2)代入(1)得
l(α,w,b)=σiαi -(1/2)*σj,iαiαjyiyjxt
ixj
這裡消掉了w和b.成了α的函式,同時還有σi αiyi = 0.於是這就是轉化成的新的lagrange dual problem:
maxαi,αi>0 l(α,w,b)=σiαi -(1/2)*σj,iαiαjyiyjxt
ixjσi αiyi = 0 其中αi>=0
這一問題可以用smo(序列最小最優化演算法)求解α就可以通過(2)和wx+b=0解出w和b.最後給測試集x進行判斷時就計算wx+b就可以了.
另外可以直接使用(2)匯出wx+b=σi αiyixt
ix+b.這裡可以用支援向量和未知向量的內積來確認未知向量的型別.
線性不可分情況:
將資料從低維轉化為高維,使其線性可分,然後使用同樣的方法對其求解α,w,b.然後通過計算wx+b來確認.當然,這時的難點在於低維到高維的轉化.同時,這裡求出的w,b也是高維空間中的值,因為只有高維空間才線性可分,滿足kkt條件.所有未知向量需要先轉化為高維向量再代入計算.這樣是非常麻煩的.同時高維向量的內積計算起來也很難.
這裡有核函式將高維空間中的內積轉化為低維空間中的計算.這樣通過求α就可以進行計算了.其中有多項式核函式和指數核函式.
因為計算可以轉化為高維空間中的內積,所以才可以使用核函式的方法.否則svm的應用會更加難以推廣
學習總結 支援向量機(SVM)
支援向量機 support vector machine,svm 是一類按監督學習 supervised learning 方式對資料進行二元分類的廣義線性分類器 generalized linear classifier 其決策邊界是對學習樣本求解的最大邊距超平面 maximum margin h...
支援向量機學習(一)
好像現在寫這個有點晚了,大家都用的少了,現在都在用卷積神經網路來進行模式識別。但是了解下內部的原理還是很好的,畢竟知識都是互通的,只有懂得多了才能在原有的基礎上進行創新,站在巨人的肩膀才能看的遠,我好像又在灌雞湯了,言歸正傳,快跑題了,哈哈 先說支援向量機是用來幹什麼的,簡單點就是用來分類的乙個演算...
機器學習 支援向量機
線性可分支援向量機 1.回顧感知機模型 2.函式間隔與幾何間隔 3.支援向量 4.svm模型目標函式與優化 5.線性可分svm的演算法過程 線性可分支援向量機 1.軟間隔最大化 2.線性分類svm的軟間隔最大化目標函式的優化 3.軟間隔最大化時的支援向量 4.軟間隔最大化的線性可分svm的演算法過程...