一、前述
SVM在2012年前還是很牛逼的,但是12年之后神經網絡更牛逼些,但我們還是很有必要了解SVM的。
二、具體
1、問題引入
要解決的問題:基於以下問題對SVM進行推導
3條線都可以將兩邊點分類,什么樣的決策邊界才是最好的呢? 特征數據本身如果就很難分,怎么辦呢?計算復雜度怎么樣?能實際應用嗎?
2、案例引入
假設有一個部隊過雷區,我們肯定希望走的邊界越大越好,這樣踩雷的風險就低。
決策邊界:選出來離雷區最遠的(雷區就是邊界上的點,要Large Margin),第二個肯定比第一個效果好。
我們希望找到離決策邊界最近的點,這樣就找到了決策邊界。
所以,假設決策邊界是一個陰影平面,求點到平面的距離轉換成點到點的距離,然后再垂直方向上的投影。
數據標簽定義:
優化的目標:找到一個w.b使得距離最近的點離這條線最遠。
目標函數再化簡:
繼續轉換:
SVM求解:
怎么樣求a的值呢?請看下面一個例子:
SVM求解實例:
所以引出SVM的中文含義:支持向量
總結:所有邊界上的點a必然不等於0,所有非邊界上的點a必等於0。支持向量機中的機就是邊界的意思,支持向量就是邊界點,a不為0的點,決定邊界。
當取60個樣本點和120個樣本點時,只要添加的不是邊界上的樣本點,那么決策邊界就是不變的。
3、解決軟間隔問題
4、解決低維不可分情況
低維不可分問題,轉變為空間中高維可分問題,這就是核變換。
核函數就是低維到高維的映射就是X之前的變換。