ML之SVM:SVM算法的簡(jiǎn)介、應用、經(jīng)典案例之詳細攻略
? ? ? ? 支持向量機(Support Vector Machine, SVM)是一類(lèi)按監督學(xué)習(supervised learning)方式對數據進(jìn)行二元分類(lèi)(binary classification)的廣義線(xiàn)性分類(lèi)器(generalized linear classifier),其決策邊界是對學(xué)習樣本求解的最大邊距超平面(maximum-margin hyperplane)。
? ? ? ? SVM的基本思想是:找到集合邊緣上的若干數據(稱(chēng)為支持向量(Support Vector)),用這些點(diǎn)找出一個(gè)平面(稱(chēng)為決策面),使得支持向量到該平面的距離最大。
? ? ? ? 由簡(jiǎn)至繁的SVM模型包括:
| 線(xiàn)性可分數據 | ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
| 線(xiàn)性不可分數據 | ![]() ![]() |
| 非線(xiàn)性數據 | ![]() |
? ? ? ? 在分類(lèi)問(wèn)題中,很多時(shí)候有多個(gè)解,如下圖左邊所示,在理想的線(xiàn)性可分的情況下其決策平面會(huì )有多個(gè)。而SVM的基本模型是,在特征空間上找到最佳的分離超平面使得訓練集上正負樣本間隔最大,SVM算法計算出來(lái)的分界會(huì )保留對類(lèi)別最大的間距,即有足夠的余量,如下圖右邊所示。

? ? ? ? 在解決線(xiàn)性不可分問(wèn)題時(shí),它可以通過(guò)引入核函數,巧妙地解決了在高維空間中的內積運算,從而很好地解決了非線(xiàn)性分類(lèi)問(wèn)題。如下圖所示,通過(guò)核函數的引入,將線(xiàn)性不可分的數據映射到一個(gè)高緯的特征空間內,使得數據在特征空間內是可分的。如下圖所示:

高斯核函數是無(wú)窮維的
















二分類(lèi)Binary Classification,解決輸出是0還是1的問(wèn)題。SVM解決的是二分類(lèi)。
T1、線(xiàn)性核函數Linear Kernal:采用的策略是"one versus one" 。
T2、線(xiàn)性支持向量分類(lèi)器LinearSVC,采用的策略是"one versus all"

? ? ? ?支持向量回歸(Support Vector Regression, SVR)將SVM由分類(lèi)問(wèn)題推廣至回歸問(wèn)題可以得到支持向量回歸(Support Vector Regression, SVR),此時(shí)SVM的標準算法也被稱(chēng)為支持向量分類(lèi)(Support Vector Classification, SVC)。
? ? ? ?支持向量分類(lèi)的方法能被推廣到解決回歸問(wèn)題,稱(chēng)為支持向量回歸。由支持向量分類(lèi)產(chǎn)生的模型僅依賴(lài)訓練數據的子集,因為創(chuàng )建模型的代價(jià)函數并不考慮超過(guò)邊界的訓練點(diǎn)。類(lèi)似地,由支持向量回歸產(chǎn)生的模型僅依賴(lài)訓練數據的子集,因為創(chuàng )建模型的代價(jià)函數忽略任何接近模型預測的訓練數據。
? ? ??支持向量回歸有三個(gè)不同的執行版本:rbfSVR,polySVR,linearSVR。linearSVR執行速度比SVR要快,但只提供線(xiàn)性核。fit方法取X, y作為輸入參數,這里,y取浮點(diǎn)值而不是分類(lèi)的整數值。

from sklearn import svm
X = [[0, 0], [2, 2]]
y = [0.5, 2.5]
clf = svm.SVR()
clf.fit(X, y)
DL之NN/Average_Darkness/SVM:手寫(xiě)數字圖片識別(本地數據集50000訓練集+數據集加4倍)比較3種算法Average_Darkness、SVM、NN各自的準確率
MAT之SVM:SVM之Classification根據已有大量數據集案例,輸入已有病例的特征向量實(shí)現乳腺癌診斷高準確率預測
MAT之SVM/BP:SVR(better)和BP兩種方法比較且實(shí)現建筑物鋼筋混凝土抗壓強度預測
ML之SVM:隨機產(chǎn)生100個(gè)點(diǎn),建立SVM模型,找出超平面方程
ML之SVM:基于sklearn的svm算法實(shí)現對支持向量的數據進(jìn)行標注
聯(lián)系客服