機器學習之支援向量機(SVM)

2022-05-24 18:39:13 字數 2330 閱讀 5195

svm數學知識具體參考:

數學知識補充

對於線性可分的超平面

既然能線性可分,那麼就有超平面

(向量化表示

)將這資料集分開,使得一側是「+1」類,另一側是「-1類」。

第乙個知識點:已知超平面

和資料集

,哪個點離這個超平面最近,答案:哪乙個點使得

最小,哪一點離這個超平面最近

第二個知識點:

已知超平面

和點x

,那麼這個點到這個超平面的距離為:

,向量表示法為

對於svm的描述

參考《統計學習方法》以及

svm分為線性可分支援向量機,線性向量機和非線性支援向量機。當訓練資料可分時,通過硬間隔最大化,學習乙個線性的分類器,即線性可分支援向量機,又稱為硬間隔支援向量機,當訓練資料近似線性可分時,通過軟間隔最大化,也學習乙個線性的分類器,即線性支援向量機,又稱為軟間隔支援向量機,當訓練資料線性不可分時,通過使用核技巧及軟間隔最大化,學習非線性支援向量機。

當輸入空間為歐式空間或離散集合、特徵空間為希爾伯特空間時,核函式表示將輸入從輸入空間對映到特徵空間得到的特徵向量之間的內積,通過使用核函式可以學習非線性支援向量機,等價於隱式地在高維的特徵空間中學習線性支援向量機,這樣的方法稱為核技巧。

1)線性可分支援向量機又稱為硬間隔支援向量機(一般處理的是二分類問題,)它處理的是資料集線性可分的情況,既然線性可分則必然存在超平面能夠把資料分為正負兩類,但是這種超平面會有很多,這就需要考慮選取出能使得訓練出來的模型泛化能力最強的超平面。也就是說對於誤分類點的容錯性更好。這時又需要考慮哪些點最容易被誤分類,顯然離超平面越近的點越容易被誤分類,如果離超平面最近的點都能被正確分類那麼遠的點就必然會被正確分類。因此所選的超平面應該盡量使得資料集離超平面的最小距離最大化,這樣模型才擁有最好的泛化能力。離超平面最小的距離為

故則有:

最終表示為

這是硬間隔支援向量機用以代表線性可分的支援向量機模型。其中y為類別標籤。離超平面最近的正負類中的這些點被稱為支援向量。分離超平面為wtx+b=0,和超平面平行的保持一定的函式距離的這兩個超平面對應的向量,我們定義為支援向量,支援向量所在的超平面定義為wtx+b=-1和wtx+b=1.注意這裡為什麼是+-1?實際上,支援向量只是到中間那個平面距離最近的點。wx+b=y,其中y只用比非支援向量的y要小就行了。如果把超平面wx+b=y這個式子的每一項除以y,那麼雖然值都變了,但平面還是這個平面,也就是說有一系列的w和b表示這個平面,那我們需要固定某乙個值。在svm的求解過程中,需固定y=1,然後轉化成二次規劃去求解。就是說,直接固定支援向量到分類超平面的距離為1。因為如果不是+-1的話,假設為某個數r,左右兩邊同除以r,右邊就為+-1了,然後左邊的結果用w和b替代。所以到底是正負幾並不重要。

2)線性支援向量機,又稱為軟間隔支援向量機

對於資料本是線性可分的但是存在異常點的情況,使得硬間隔支援向量機不能很好的確定劃分資料的超平面,這時應該用軟間隔支援向量機。

3)非線性支援向量機

1.核函式與常用的核函式

我們遇到線性不可分的樣例時,常用做法是把樣例特徵對映到高維空間中去(如多項式回歸)但是遇到線性不可分的樣例,一律對映到高維空間,那麼這個維度大小是會高到令人恐怖的。此時,核函式就體現出它的價值了,核函式的價值在於它雖然也是將特徵進行從低維到高維的轉換,但核函式好在它在低維上進行計算,而將實質上的分類效果(利用了內積)表現在了高維上,這樣避免了直接在高維空間中的複雜計算,真正解決了svm線性不可分的問題。即為把輸入空間中的內積變換成了特徵空間中的內積,把轉換成了核函式。

2,常用的核函式(也是sklearn中可選的核函式)

第一、線性核函式。第

二、多項式核函式。第

三、高斯核函式在svm中也稱為徑向基核函式(radial basis function,rbf),它是非線性分類svm最主流的核函式。libsvm預設的核函式就是它。第四、sigmoid核函式

機器學習 支援向量機 SVM

svm 方法的基本思想是 定義最優線性超平面,並把尋找最優線性超平面的演算法歸結為求解乙個凸規劃問題。進而基於 mercer 核展開定理,通過非線性對映 把樣本空間對映到乙個高維乃至於無窮維的特徵空間 hilbert 空間 使在特徵空間中可以應用線性學習機的方法解決樣本空間中的高度非線性分類和回歸等...

機器學習 支援向量機SVM

svm是一種監督學習演算法,主要用於分類 回歸 異常值檢測。目前應用於文字分類 手寫文字識別 影象分類 生物序列分析。支援向量機是一種通過某種非線性對映,把低維的非線性可分轉化為高維的線性可分,在高維空間進行線性分析的演算法。支援向量機 svm,support vector machine 是根據統...

機器學習 支援向量機SVM

通俗詳見 要明白什麼是svm,便得從分類說起。分類作為資料探勘領域中一項非常重要的任務,它的目的是學會乙個分類函式或分類模型 或者叫做分類器 而支援向量機本身便是一種監督式學習的方法 至於具體什麼是監督學習與非監督學習,請參見此系列machine l data mining第一篇 它廣泛的應用於統計...