支援向量機 引入及原理

2021-08-31 11:53:16 字數 1485 閱讀 4524

支援向量機(support vector machines, svm):是一種監督學習演算法。處理二分類

支援向量(support vector)就是離分隔超平面最近的那些點。

機(machine)就是表示一種演算法,而不是表示機器。

線性可分資料集:將資料集分隔開的直線稱為分隔超平面。我們希望找到離分隔超平面最近的點,確保它們離分隔面的距離盡可能遠,這裡點到分隔面的距離被稱為間隔(margin)。

線性不可分資料集:利用核函式(kernel)將資料對映到高維,轉化成線性可分

支援向量機 場景

要給左右兩邊的點進行分類

明顯發現:選擇d會比b、c分隔的效果要好很多。

尋找最大間隔

分隔超平面是一條直線,點到超平面的距離 == 點到直線的距離

點到直線的距離公式

理論推導(李航的統計學習方法):

定義拉格朗日函式:

將目標函式由極大轉換成求極小,就得到下面與之等價的對偶最優化問題

但是幾乎所有資料都不那麼「乾淨」,引入鬆弛變數,允許資料點可以處於分隔面的錯誤一側

此時新的約束條件則變為:

總的來說:

ξ

i\xi_i

ξi​ : 表示鬆弛變數

常量c是 懲罰因子, 表示離群點的權重(用於控制「最大化間隔」和「保證大部分點的函式間隔小於1.0」 )

c值越大,表示離群點影響越大,就越容易過度擬合;反之有可能欠擬合。

我們看到,目標函式控制了離群點的數目和程度,使大部分樣本點仍然遵守限制條件。

例如:正類有10000個樣本,而負類只給了100個(c越大表示100個負樣本的影響越大,就會出現過度擬合,所以c決定了負樣本對模型擬合程度的影響!,c就是乙個非常關鍵的優化點!)

svm中的主要工作就是要求解 alpha.

支援向量機的原理

很早就買了 資料探勘中的新方法 支援向量機 一直沒有認真看。最近複習了向量,空間,矩陣,然後從頭開始看發現逐漸看出一些門道了。支援向量機,開始給人的感覺很高階,其實也是一類求最大值的問題。只是樣本都是一些向量,劃分的時候也是用直線去劃分。這是一類求最大化,最小化求值。一切都是從簡單的二維點的劃分開始...

支援向量機SVM原理

支援向量和間隔邊界 如上圖所示,舉例來說 如上圖所示,其中x1,x2為正例,x3為反例,則svm希望有如下約束 支援向量機模型中,我們的學習目標 至此,我們已經推導完畢,得到最優的w,b。從上式上我們可以看出,分類決策函式只依賴於輸入x和訓練樣本輸入的內積 這一內積又與後面的核函式有著千絲萬縷的聯絡...

SVM 支援向量機 原理

1.svm support vector machine 支援向量機 是一種有監督的分類演算法 有監督的分類模型 就是事先對資料打上標籤,這樣機器就知道資料是哪個分類.無監督是事先沒有打標籤,比如資料聚類,然後對每個類精心分析.svm通常是幫我們模式識別,分類以及回歸分析.2.svm計算的過程就是找...