深度學習基礎03 支援向量機SVM(上)

2021-10-24 20:54:51 字數 2413 閱讀 6729

支援向量機(support vector machine, svm)是一類按監督學習(supervised learning)方式對資料進行二元分類的廣義線性分類器(generalized linear classifier),其決策邊界是對學習樣本求解的最大邊距超平面(maximum-margin hyperplane)

1.1 最早是由vladimir n. vapnik 和 alexey ya. chervonenkis 在2023年提出

1.2 目前的版本(soft margin)是由corinna cortes 和 vapnik在2023年提出,並在2023年發表

1.3 深度學習(2012)出現之前,svm被認為機器學習中近十幾年來最成功,表現最好的演算法

訓練集=>提取特徵向量=>結合一定的演算法(分類器:比如決策樹,knn)=>得到結果

3.1 例子

如圖所示,我們提取了一些向量,對映為圖中二維的黑白點,我們需要將以上點點分為兩類,圖中哪條分類線效果最好?

藍線和紅線都把黑白點區分開了,我們應該選擇哪一條呢?

憑直覺來說,我們肯定是選擇紅線,但是為什麼要選擇紅線呢?

這就是接下來我們要討論的問題了。

3.2 svm尋找區分兩類的超平面(hyber plane),使邊際(margin)最大

如果按第一張小圖畫線,margin就比較小

按第二章小圖來畫線,margin則比較大

為什麼我們想讓margin越大越好?可以理解為margin越大,兩類物質的差別也就越大,也就越好區分

所以svm分類的目標是尋找乙個超平面,使margin可以最大化

那麼總共可以有多少個可能的超平面?無數條

如何選取使邊際最大的超平面(max margin hyperplane)?

超平面到一側最近點的距離等於到另一側最近點的距離,兩側的超平面平行。

先來介紹兩個基本概念

比如第一張圖上面,藍色的圈圈和紅色的叉叉,我們無法找到乙個超平面,將兩類線性區分開,所以這兩類是線性不可區分的

第二張圖和第三張圖也一樣,都是線性不可區分的。

在這裡呢,我們目前只討論線性可區分的情況

超平面可以定義為:

x:訓練例項

w : weight vector

b:bias ,偏向

n:特徵值的個數

4.1 假設2維特徵向量:x=(x1,x2)

把b想象成額外的weight,超平面方程變為:

所有超平面右上方的點滿足:

所有超平面左下方的點滿足:

調整weight,使超平面定義邊際的兩邊:

綜合以上兩式,得到:(1)

所有坐落在邊際的兩邊的超平面上的被稱作「支援向量(support vectors)」分界的超平面h1和h2上任意一點的距離為:

1/||w||

(其中||w||是向量的範數(norm))

所以,最大邊際距離為:

2/||w||

6.1 svm如何找出最大邊際的超平面(mmh)呢?

利用一些數學推導,以上公式(1)可變為有限制的凸優化問題(convex quadratic optimization),利用karush-kuhn-tucker(kkt)條件和拉格朗日公式,可以推出mmh可以被表示為以下「決定邊界」(decision boundary)

其中:yi是支援向量點;

xi(support vector)的分類標記(class label)

xt是要測試的例項

αi和b0都是單一數值型引數,由以上提到的最優演算法提出

l是支援向量點的個數

對於任何測試(要歸類)的例項,代入以上公式,由得出的符號是正還是負決定

例子:

假設已知三個點的座標,先找到兩個點求出weight vector,把兩點座標分別代入g(x,y)方程,解方程組,可以求出引數,則可以求出超平面解析式

深度學習基礎03 支援向量機SVM(下)

前面兩篇文章介紹了支援了向量機針對線性可分的情況,這節課來介紹一下支援向量機支援線性不可分的情況 svm有以下幾個特性 1 訓練好的模型的演算法複雜度是由支援向量的個數決定的,而不是由資料的緯度決定的,所以svm不太容易產生overfitting 2 svm訓練出來的模型完全依賴於支援向量 supp...

機器學習基礎課程學習筆記 3 支援向量機 SVM

1.1 最早是由 vladimir n.vapnik 和 alexey ya.chervonenkis 在1963年提出 1.2 目前的版本 soft margin 是由corinna cortes 和 vapnik在1993年提出,並在1995年發表 1.3 深度學習 2012 出現之前,svm ...

深度學習筆記整理 1 2 2 支援向量機

1.支援向量機的目的 獲取乙個分類邊界,這個邊界可以最大化距離不同類別的最近點。這樣的邊界可以擁有更好的抗雜訊干擾性。2.限制 分類正確 margin min類別到邊界距離 於是,我們將這個問題轉化為了乙個maxmin的問題,並且我們的限制出現了不等式,於是需要kkt等演算法,將原問題轉化為其對偶問...