SVM支援向量機

2021-07-05 01:50:34 字數 1987 閱讀 6249

在機器學習領域,很多時候會用到分類的一些演算法,例如knn,貝葉斯。我們可以把分類的樣本簡單除暴的分為兩種型別。線性可分和非線性可分。

可以使用乙個非常簡單的例子來解釋什麼是線性可分,什麼是線性不可分。

(a)線性可分的2類樣本             (b)非線性可分的2類樣

已知乙個線性可分的資料集,其中x表示乙個n維向量,當n=2時,表示乙個平面向量,也就是平面中的乙個點。y表示向量的類標籤,在上例中只有兩個類樣本,y可以取1或者-1.

當資料樣本為線性可分的情況,在二維的情況下,我們可以找到一條線,將兩類完全分開。那麼在n維的情況下,我們可以找到乙個超平面來將兩類資料完全分開。

1.1 超平面

該超平面可以用方程表示為:

wt x + b = 0

這個方程乍一看有些難以理解。

先回到二維的情況下。

令wt=(m,n)t,向量x=(x,y)。

可以得到:mx+ny+b=0,是一條直線方程。這裡的wt我們稱為縮放權向量,b稱為偏差項。

擴充套件到n維的情況,得到的方程便是超平面方程。

仍然回到二維的情況下討論。

這條紅色的線把紅色的點和藍色的點分開了,這條紅色的線,便是二維意義上的超平面,也就是分類線。直觀上,距離訓練樣本太近的分類線將對雜訊比較敏感,且對訓練樣本之外的資料歸納的不是很好,而遠離所有樣本的分類線將可能具有更好的歸納能力。這便是整個svm演算法要實現的方向,盡可能使分類線遠離所有的樣本。

兩條虛線之間的間隔稱為分類間隔,上述的演算法實現方向也可以理解為是使分類間隔最大化。

由點到平面距離公式:

所以樣本點x與最佳超平面距離為|wtx+b|/||w||。

1.2 超平面規範化

wt x + b = 0

規範要求:選擇適合的w和b,使得距超平面最近的樣本距超平面的距離為1。設最近的樣本點為xk

即滿足公式:

|wtxk+b|=1

實際分類間隔為:

m  =   = 2×|wtx+b|/||w|| = 2/||w||

我們的目的是求m的最大值,等價於求1/2||w|||2. 的極小值。

所以問題就變得非常明朗,我們這是在解決乙個條件極值問題。

條件是:|wtxk+b|=1

極值是:1/2||w|||2.的極小值。

因為離分類線最近距離的點的距離為1.所以還要滿足另外乙個約束條件是|wtxi+b|>1。

即     y i(wtxi+b)>1                      1.1

還記得高數中如何求解條件極值嗎?使用拉格朗日乘數法,忘了的趕緊回去惡補。

將式1.1中的每乙個約束條件乘上乙個拉格朗一乘數αi.  可以將此條件極值問題轉化為乙個優化問題。

我們需要找尋最小的l。

討論了那麼久,竟然還是不知道演算法名稱的由來。

還是這樣一幅圖,虛線上的點,便可以理解為支援向量,但是這些點到底在演算法起到什麼重要的作用,以至於這些點可以成為演算法的核心?

|wtxk+b|=1

所有的支援向量都滿足這樣乙個條件,而所有的不是支援向量的點,滿足條件:

y i(wtxi+b)>1  

從幾何關係上理解,便是這些點支撐起了超平面。

支援向量機(SVM)

簡介 術語 支援向量機 svm 是乙個類分類器,正式的定義是乙個能夠將不同類樣本在樣本空間分隔的超平面。換句話說,給定一些標記 label 好的訓練樣本 監督式學習 svm演算法輸出乙個最優化的分隔超平面。首先我們假定有乙個未知的欲分類的集合,可以進行分割,但是我們不知道分割的函式 超平面,也叫真實...

支援向量機SVM

支援向量機svm support vector machine 是機器學習領域的乙個有監督的學習模型。一 簡介 支援向量機建立在統計學習理論的基礎之上。統計學習理論 statistical learning theory簡稱slt 是一種處理小樣本的統計理論 為研究有限樣本情況下的統計模式識別和更廣...

支援向量機(SVM)

支援向量機,其含義是通過支援向量運算的分類器。支援向量機是乙個二類分類器。在求解的過程中,會發現只根據部分資料就可以確定分類器,這些資料稱為支援向量。見下圖,在乙個二維環境中,其中點r,s,g點和其它靠近中間黑線的點可以看作為支援向量,它們可以決定分類器,也就是黑線的具體引數。線性分類 可以理解為在...