SVM數學原理推導


//2019.08.17

#支撐向量機SVM(Support Vector Machine)
1、支撐向量機SVM是一種非常重要和廣泛的機器學習算法,它的算法出發點是盡可能找到最優的決策邊界,使得模型的泛化能力盡可能地好,因此SVM對未來數據的預測也是更加准確的。


2、支撐向量機SVM有兩種:Hard Margin SVM和Soft Margin SVM,對於第一種嚴格的支撐向量機算法主要解決的是線性可分的數據問題,而第二種SVM是在第一種的基礎上改進而來,可以解決普遍的數據問題,對於問題的線性可分性沒有特殊的要求。

3、支持向量機線性可分算法數學原理最終推導的結果是求解有條件情況下的最優化問題,這種問題解決起來相對復雜,可以用拉普拉斯算子來進行解決。

 

 

 

 

4、在sklearn中調用SVM算法時和KNN算法使用類似,需要先對數據進行標准化處理StandardScaler,因為它的數學原理也涉及到了距離,因此高維數據里面不同維度的數據尺度應該相當,相差太大會使得算法結果准確度降低。

5、對於SVM算法,需要進行正則化,正則化的方式也有L1和L2正則化兩種方式,引入了超參數C,使得模型有了一定的容錯空間,這樣使得模型的泛化能力得到了增強。C越小,其容錯能力越高,如果C趨於無窮,則轉換為了嚴格線性SVC。因此在調入SVM算法時需要定義三大參數:C(正則化系數、penalty=l1/l2正則化方式以及multi_class=ovr/ovo多分類的方式)

6、sklearn中調用多項式的SVM算法主要有兩種方式:
(1)利用管道pipeline常規的方式進行:多項式特征添加,數據標准化以及SVM算法
(2)利用SVM自帶的多項式核函數svm算法直接進行訓練,這列需要定義很重要的參數kernel="poly",它表示多項式形式的SVM算法。
7、SVC算法的數學原理是求取一定條件下的最優化函數,經過一定的數學公式轉換,便可以轉換為另外一種等效的最優化問題,對於等效之后的求取最優化函數中帶有Xi.Xj這樣的式子,這是兩個數據樣本向量之間的點乘,對於只要有這樣式子的函數,我們都可以引入核函數K(x,y)使得具有一定的特殊特征,具體的數學原理如下所示

 

8、對於SVM的高斯核函數是一種比較特殊又功能強大的核函數,它可以將數據樣本從mxn升維到mxm的數據,所以它的訓練時間還是比較長的。對於高斯核函數的應用,一般用在數據集特點是m<n的基礎數據集,即數據維度非常高的數據。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM