ML之SVM:SVM算法的簡介、應(yīng)用、經(jīng)典案例之詳細攻略 SVM算法的簡介? ? ? ? 支持向量機(Support Vector Machine, SVM)是一類按監(jiān)督學習(supervised learning)方式對數(shù)據(jù)進行二元分類(binary classification)的廣義線性分類器(generalized linear classifier),其決策邊界是對學習樣本求解的最大邊距超平面(maximum-margin hyperplane)。 1、SVM模型分類—線性可分、線性、非線性? ? ? ? 由簡至繁的SVM模型包括:
2、SVM的決策邊界? ? ? ? 在分類問題中,很多時候有多個解,如下圖左邊所示,在理想的線性可分的情況下其決策平面會有多個。而SVM的基本模型是,在特征空間上找到最佳的分離超平面使得訓練集上正負樣本間隔最大,SVM算法計算出來的分界會保留對類別最大的間距,即有足夠的余量,如下圖右邊所示。 3、SVM中的核函數(shù)? ? ? ? 在解決線性不可分問題時,它可以通過引入核函數(shù),巧妙地解決了在高維空間中的內(nèi)積運算,從而很好地解決了非線性分類問題。如下圖所示,通過核函數(shù)的引入,將線性不可分的數(shù)據(jù)映射到一個高緯的特征空間內(nèi),使得數(shù)據(jù)在特征空間內(nèi)是可分的。如下圖所示: 高斯核函數(shù)是無窮維的 4、SVM算法推導(dǎo)1.1、SVM轉(zhuǎn)為對偶問題的求解—SMO算法思5、SVM中“損失+懲罰”框架的靈活性6、SVM的損失函數(shù)分析SVM的應(yīng)用——解決的問題類型1、SVM用作分類1.1、SVM與二分類二分類Binary Classification,解決輸出是0還是1的問題。SVM解決的是二分類。 1.2、SVM與多分類T1、線性核函數(shù)Linear Kernal:采用的策略是"one versus one" 。 2、SVM用作回歸? ? ? ?支持向量回歸(Support Vector Regression, SVR)將SVM由分類問題推廣至回歸問題可以得到支持向量回歸(Support Vector Regression, SVR),此時SVM的標準算法也被稱為支持向量分類(Support Vector Classification, SVC)。 ? ? ? ?支持向量分類的方法能被推廣到解決回歸問題,稱為支持向量回歸。由支持向量分類產(chǎn)生的模型僅依賴訓練數(shù)據(jù)的子集,因為創(chuàng)建模型的代價函數(shù)并不考慮超過邊界的訓練點。類似地,由支持向量回歸產(chǎn)生的模型僅依賴訓練數(shù)據(jù)的子集,因為創(chuàng)建模型的代價函數(shù)忽略任何接近模型預(yù)測的訓練數(shù)據(jù)。
SVM的經(jīng)典案例DL之NN/Average_Darkness/SVM:手寫數(shù)字圖片識別(本地數(shù)據(jù)集50000訓練集+數(shù)據(jù)集加4倍)比較3種算法Average_Darkness、SVM、NN各自的準確率 |
|