機器學習之支持向量機

支持向量機

描述
用於處理二分類問題, 對於二維線性可分的問題, 尋找決策邊界(分割線), 使得支撐向量到決策邊界的距離儘可能的大. 對於線性不可分的問題, 則首先將樣本特徵映射到更高維度, 再尋找一個超平面,使得支撐向量到超平面的距離儘可能的小. 通過核函數得展開達到這一目的. 常用的核函數有線性核, 多項式核, 高斯核.
引入正則化項(一定的容錯空間). 求解的是條件(wx+b>1-eta)最優解. 解決二分類問題.,使決策邊界的margin內的點儘可能少, 解決迴歸問題使margin內的點儘可能多, 正則化項係數大容錯邊界窄(L1),支持向量距離超平面近, 正則化項係數大容錯邊界寬,會有分錯的點.
具備多項式特徵(非線性)的決策邊界(使用kernel參數引入多項式特徵):kernel=“linear”/ “rbf”/ “poly”
適用於特徵之間相關性不大的場景

接口

from sklearn.svm import LinearSVC  # 分類
from sklearn.svm import LinearSVR  # 迴歸
from sklearn.svm import SVC  # 分類(可以傳入核函數)
from sklearn.svm import SVR  # 迴歸(可以傳入核函數)
from sklearn.pipeline import Pipeline
clf = SVC(probability=True,cache_size=5000,max_iter=10000)
clf.fit()
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章