支持向量機(Super Vector Machine,SVM)
SVM基本概念
SVM對於分類的判斷是靠樣本的「相似性」與「距離的計算」,他的基本精神是在同一區域內的資料為一群,所以他最主要的目的就是找到一條最具有區分力且寬度最寬(不會有誤判的可能)的界線,來畫分兩個區域的資料。SVM是繼KNN之後最常使用的監督是學習演算法,尤其他對小樣本、非線性、高維度的數據有絕對優勢,是一種非常強大的演算法。
SVM建構步驟
- 特徵選擇:透過特徵工程找出最重要、相關的物件特徵。
- 尋找SVM線:利用標註好的樣本來訓練SVM,不斷調整SVM參數來找到邊距最大、最寬的分界線。
- 驗證SVM線:檢查SVM準確度。
- 優化調整SVM線:若效能不好,則增加更多特徵組合、調整變數,直到準確率達到標準為止。
SVM核函數
核函數是指當不同的類別的分割無法在原來空間上,用線性SVM隔開來,則可以利用非線性的函數將空間割開來,主要分為下列兩種。
1.低維資料轉換為高維資料
2.將線性不可分的問題轉為非線性可分的問題
SVM優點
- 樣本量要求不高:只需小樣本便可表現得很好。
- 可以處理高維度的樣本:不會發生維度的詛咒,可以透過核變數處理高維度問題。
- 穩定性高:不會受到其他非SV數據的影響。
- 比較少有過度擬核(Overfitting)問題:過度擬核是指當機器學習只能為訓練資料提供準確預測,而無法對新資料進行準確預測。許多演算法都會擔心發生此問題,而SVM比較少這種情況。
SVM缺點
- 訓練時間長:當樣本大時,為了計算樣本之間的距離就會導致速度慢。
- 解釋性問題:常使用核變數,在解釋理解上會有一定難度。
- 較適用於二分類問題:對於多分類問題需要較為複雜的轉換問題。
參考資料
人工智慧-概念應用與管理 林東清 著