ML之SVM:SVM算法的简介、应用、经典案例之详细攻略
ML之SVM:SVM算法的簡介、應用、經典案例之詳細攻略
?
?
目錄
SVM算法的簡介
1、SVM模型分類—線性可分、線性、非線性
2、SVM的決策邊界
3、SVM中的核函數
4、SVM算法推導
1.1、SVM轉為對偶問題的求解—SMO算法思
5、SVM中“損失+懲罰”框架的靈活性
6、SVM的損失函數分析
SVM的應用——解決的問題類型
1、SVM用作分類
1.1、SVM與二分類
1.2、SVM與多分類
2、SVM用作回歸
SVM的經典案例
?
?
SVM算法的簡介
? ? ? ? 支持向量機(Support Vector Machine, SVM)是一類按監督學習(supervised learning)方式對數據進行二元分類(binary classification)的廣義線性分類器(generalized linear classifier),其決策邊界是對學習樣本求解的最大邊距超平面(maximum-margin hyperplane)。
? ? ? ? SVM的基本思想是:找到集合邊緣上的若干數據(稱為支持向量(Support Vector)),用這些點找出一個平面(稱為決策面),使得支持向量到該平面的距離最大。
?
1、SVM模型分類—線性可分、線性、非線性
? ? ? ? 由簡至繁的SVM模型包括:
- 當訓練樣本線性可分時,通過硬間隔最大化,學習一個線性可分支持向量機;
- 當訓練樣本近似線性可分時,通過軟間隔最大化,學習一個線性支持向量機;
- 當訓練樣本線性不可分時,通過核技巧和軟間隔最大化,學習一個非線性支持向量機;
| 線性可分數據 | |
| 線性不可分數據 | |
| 非線性數據 |
?
?
2、SVM的決策邊界
? ? ? ? 在分類問題中,很多時候有多個解,如下圖左邊所示,在理想的線性可分的情況下其決策平面會有多個。而SVM的基本模型是,在特征空間上找到最佳的分離超平面使得訓練集上正負樣本間隔最大,SVM算法計算出來的分界會保留對類別最大的間距,即有足夠的余量,如下圖右邊所示。
?
?
3、SVM中的核函數
? ? ? ? 在解決線性不可分問題時,它可以通過引入核函數,巧妙地解決了在高維空間中的內積運算,從而很好地解決了非線性分類問題。如下圖所示,通過核函數的引入,將線性不可分的數據映射到一個高緯的特征空間內,使得數據在特征空間內是可分的。如下圖所示:
高斯核函數是無窮維的
?
4、SVM算法推導
?
?
1.1、SVM轉為對偶問題的求解—SMO算法思
?
?
5、SVM中“損失+懲罰”框架的靈活性
?
6、SVM的損失函數分析
?
?
?
SVM的應用——解決的問題類型
1、SVM用作分類
1.1、SVM與二分類
二分類Binary Classification,解決輸出是0還是1的問題。SVM解決的是二分類。
?
1.2、SVM與多分類
T1、線性核函數Linear Kernal:采用的策略是"one versus one" 。
T2、線性支持向量分類器LinearSVC,采用的策略是"one versus all"
?
2、SVM用作回歸
? ? ? ?支持向量回歸(Support Vector Regression, SVR)將SVM由分類問題推廣至回歸問題可以得到支持向量回歸(Support Vector Regression, SVR),此時SVM的標準算法也被稱為支持向量分類(Support Vector Classification, SVC)。
? ? ? ?支持向量分類的方法能被推廣到解決回歸問題,稱為支持向量回歸。由支持向量分類產生的模型僅依賴訓練數據的子集,因為創建模型的代價函數并不考慮超過邊界的訓練點。類似地,由支持向量回歸產生的模型僅依賴訓練數據的子集,因為創建模型的代價函數忽略任何接近模型預測的訓練數據。
? ? ??支持向量回歸有三個不同的執行版本:rbfSVR,polySVR,linearSVR。linearSVR執行速度比SVR要快,但只提供線性核。fit方法取X, y作為輸入參數,這里,y取浮點值而不是分類的整數值。
?
SVM的經典案例
DL之NN/Average_Darkness/SVM:手寫數字圖片識別(本地數據集50000訓練集+數據集加4倍)比較3種算法Average_Darkness、SVM、NN各自的準確率
MAT之SVM:SVM之Classification根據已有大量數據集案例,輸入已有病例的特征向量實現乳腺癌診斷高準確率預測
MAT之SVM/BP:SVR(better)和BP兩種方法比較且實現建筑物鋼筋混凝土抗壓強度預測
ML之SVM:隨機產生100個點,建立SVM模型,找出超平面方程
ML之SVM:基于sklearn的svm算法實現對支持向量的數據進行標注
?
?
?
總結
以上是生活随笔為你收集整理的ML之SVM:SVM算法的简介、应用、经典案例之详细攻略的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: DL:深度学习(神经网络)的简介、基础知
- 下一篇: DL框架之Tensorflow:深度学习