機器學習演算法——SVM(支援向量機)
阿新 • • 發佈:2018-12-06
文章目錄
1. SVM簡介
邏輯迴歸函式的不足:泛化能力不夠強。通過最小化損失函式找到一個決策邊界,通過決策邊界來進行分類。沒有考慮到位置資料的情況。
SVM演算法也是找到決策邊界, 但是SVM讓這條決策邊界離兩邊的資料儘可能的遠(即SVM要最大化margin),這樣不僅對資料進行了一個很好的劃分,而且還考慮了未來的泛化能力。
SVM是一個二元分類演算法,線性分類和非線性分類都支援。經過演進,現在也可以支援多元分類,同時經過擴充套件,也能應用於迴歸問題。
2. SVM的一些概念
2.1 函式間隔與幾何間隔
超平面的函式表示式為
時:
函式間隔:
幾何間隔:
幾何間隔才是點到超平面的真正距離,SVM模型裡用到的距離就是幾何距離。
2.2 支援向量
兩個類別的資料點都儘可能的遠實際上是這兩個類別離決策邊界最近的這些點離決策邊界也盡肯能的遠。其中,最近的這些點被稱為支援向量點。
支援向量到超平面的距離為 兩個支援向量之間的距離為 。
3. SVM模型目標函式與優化
3.1 SVM模型目標函式的推導(線性可分)
對於二維平面上的資料
最大化margin → 最大化d
在二維平面d怎麼求?(點到直線的距離公式)
到
的距離用以下公式表示
拓展到n維空間有:
→
- 裡有n+1個元素, 對應 ,還有一個 為截距
- 裡有n+1個元素, ,其中,
- 裡有n個元素, 對應
- b為截距
在n維空間 d怎麼求?