支持向量機,因其英文名爲support vector machine,故通常簡稱svm
通俗來說,它是一種二分類模型,其基本模型定義爲特徵空間上的間隔最大的線性分類器
其學習策略即是間隔最大化,最終可轉化爲一個凸二次規劃問題的求解。
若是是線性不可分的,則須要經過核函數。
1/分類標準的起源:logistic迴歸
理解svm,我們必須先弄清楚一個概念:線性分類器
給定一些數據點,它們分別屬於兩個不一樣的類,如今要找到一個線性分類器把這些數據分紅兩類。
若是用x(x1,x2,x3,x4......)表示數據點,用y表示類別(y能夠取1或者-1,分別表明兩個不一樣的類)
一個線性分類器的學習目標即是要在n維的數據空間中找到一個超平面(hyper plane)
複製代碼
可能有讀者對類別取1或-1有疑問,事實上,這個1或-1的分類標準起源於logistic迴歸。markdown
Logistic迴歸目的是從特徵學習出一個0/1分類模型,而這個模型是將特徵組合做爲自變量, 因爲自變量的取值範圍是負無窮到正無窮, 所以,使用logistic函數(或稱做sigmoid函數)將自變量映射到(0,1)上函數
2/線性分類的一個例子
下面舉個簡單的例子。以下圖所示
如今有一個二維平面,平面上有兩種不一樣的數據,分別用圈和叉表示。
因爲這些數據是線性可分的,因此能夠用一條直線將這兩類數據分開,這條直線就至關於一個超平面,
超平面一邊的數據點所對應的y全是-1 ,另外一邊所對應的y全是1。
複製代碼
3/函數間隔與幾何間隔
複製代碼
分割超平面函數:
用函數f(x)表示,
若是f(x)=0,則說明數據點位於超平面上,
若是f(x)>0,則對應y=1的數據點
若是f(x)<0,則對應y=-1的數據點
間隔函數:
數據點到分割超平面的距離
能夠觀察數據點到分割超平面的距離的符號與類標記y的符號是否一致來判斷分類是否正確。
這樣就能夠調整分割超平面的位置。
4/最大間隔分類器的定義
對一個數據點進行分類,當數據點到分割超平面的‘間隔’越大,分類的可信度也就越大。
因此爲了分類的可信度儘可能大,須要讓所選擇的分割超平面可以最大化這個「間隔」值,這個間隔值就是下圖中過的GAP的一半
複製代碼