1. 程式人生 > >3.支援向量機(SVM)演算法(上)

3.支援向量機(SVM)演算法(上)

SVM

1.基本概念

支援向量機(Support Vector Machine, SVM)的基本模型是在特徵空間上找到最佳的分離超平面使得訓練集上正負樣本間隔最大。SVM是用來解決二分類問題的有監督學習演算法,在引入了核方法之後SVM也可以用來解決非線性問題。 
一般SVM有下面三種:

  • 硬間隔支援向量機(線性可分支援向量機):當訓練資料線性可分時,可通過硬間隔最大化學得一個線性可分支援向量機。

  • 軟間隔支援向量機:當訓練資料近似線性可分時,可通過軟間隔最大化學得一個線性支援向量機。

  • 非線性支援向量機:當訓練資料線性不可分時,可通過核方法以及軟間隔最大化學得一個非線性支援向量機。

2.硬間隔支援向量機

 

3.軟間隔支援向量機

在現實任務中很難找到一個超平面將不同類別的樣本完全劃分開,即很難找到合適的核函式使得訓練樣本在特徵空間中線性可分。退一步說,即使找到了一個可以使訓練集在特徵空間中完全分開的核函式,也很難確定這個線性可分的結果是不是由於過擬合導致的。解決該問題的辦法是在一定程度上執行SVM在一些樣本上出錯,為此引入了“軟間隔”(soft margin)的概念,如圖