在機器學習領域,很多時候會用到分類的一些演算法,例如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點和其它靠近中間黑線的點可以看作為支援向量,它們可以決定分類器,也就是黑線的具體引數。線性分類 可以理解為在...