機(jī)器學(xué)習(xí)—支持向量機(jī)(Support Vector Machine,SVM)

簡介

支持向量機(jī)可能是最流行和最受關(guān)注的機(jī)器學(xué)習(xí)算法之一
超平面是分割輸入變量空間的線。在SVM中,通過選擇一個超平面,并根據(jù)輸入變量空間中的類(類0或類1),來最好地分離輸入變量空間中的點。
在二維中,你可以把它想象成一條直線,并假設(shè)所有的輸入點都可以被這條直線分開。支持向量機(jī)學(xué)習(xí)算法通過超平面的方法,找出使得類間達(dá)到最佳分離的系數(shù)。

支持向量機(jī)(Support Vector Machines)

超平面與最近的數(shù)據(jù)點之間的距離稱為邊距,能夠?qū)蓚€類分離得最好的或最優(yōu)的超平面是具有最大邊距的那條線,它是由幾個關(guān)鍵點決定的,這些點與定義超平面和構(gòu)造分類器直接相關(guān),被稱為支持向量。

SVM可能是最強(qiáng)大的開箱即用分類器之一,非常值得在您的數(shù)據(jù)集中進(jìn)行這樣的嘗試。

支持向量機(jī),一種監(jiān)督學(xué)習(xí)方法,因其英文名為Support Vector Machine,故一般簡稱SVM。
通俗來講,它是一種二類分類模型,其基本模型定義為特征空間上的間隔最大的線性分類器,其學(xué)習(xí)策略便是間隔最大化,最終可轉(zhuǎn)化為一個凸二次規(guī)劃問題的求解。
支持向量機(jī)建構(gòu)一個或多個高維(甚至是無限多維)的超平面來分類數(shù)據(jù)點,這個超平面即為分類邊界。 直觀來說,好的分類邊界要距離最近的訓(xùn)練數(shù)據(jù)點越遠(yuǎn)越好,因為這樣可以減低分類器的泛化誤差。
在支持向量機(jī)中,分類邊界與最近的訓(xùn)練數(shù)據(jù)點之間的距離稱為間隔(margin); 支持向量機(jī)的目標(biāo)即為找出間隔最大的超平面來作為分類邊界。
支持向量機(jī)的支持向量指的就是那些與分類邊界距離最近的訓(xùn)練數(shù)據(jù)點。 從支持向量機(jī)的最佳化問題可以推導(dǎo)出一個重要的性質(zhì):支持向量機(jī)的分類邊界可以被那些支持向量決定,而與其他數(shù)據(jù)點無關(guān)。 這也是它們被稱為“支持向量”的原因。
注:一個機(jī)器學(xué)習(xí)模型的泛化誤差(Generalization error),是一個描述學(xué)生機(jī)器在從樣品數(shù)據(jù)中學(xué)習(xí)之后,離教師機(jī)器之間的差距的函數(shù)。使用這個名字是因為這個函數(shù)表明一個機(jī)器的推理能力,即從樣品數(shù)據(jù)中推導(dǎo)出的規(guī)則能夠適用于新的數(shù)據(jù)的能力。

優(yōu)點

  • 1、可以解決小樣本情況下的機(jī)器學(xué)習(xí)問題。
  • 2、可以提高泛化性能。
  • 3、可以解決高維問題。
  • 4、可以解決非線性問題。
  • 5、可以避免神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)選擇和局部極小點問題。

缺點

  • 1、對缺失數(shù)據(jù)敏感。
  • 2、對非線性問題沒有通用解決方案,必須謹(jǐn)慎選擇Kernel function來處理。

支持向量機(jī)(SVM)的由來

首先我們先來看一個3維的平面方程:Ax+By+Cz+D=0
這就是我們中學(xué)所學(xué)的,從這個方程我們可以推導(dǎo)出二維空間的一條直線:Ax+By+D=0

那么,依次類推,更高維的空間叫做一個超平面:


x代表的是一個向量,接下來我們看下二維空間的幾何表示:


SVM的目標(biāo)是找到一個超平面,這個超平面能夠很好的解決二分類問題,所以先找到各個分類的樣本點離這個超平面最近的點,使得這個點到超平面的距離最大化,最近的點就是虛線所畫的。由以上超平面公式計算得出大于1的就屬于打叉分類,如果小于0的屬于圓圈分類。

這些點能夠很好地確定一個超平面,而且在幾何空間中表示的也是一個向量,那么就把這些能夠用來確定超平面的向量稱為支持向量(直接支持超平面的生成),于是該算法就叫做支持向量機(jī)(SVM)了。

如何找到超平面

函數(shù)間隔
在超平面wx+b=0確定的情況下,|wx+b|能夠表示點x到距離超平面的遠(yuǎn)近,而通過觀察wx+b的符號與類標(biāo)記y的符號是否一致可判斷分類是否正確,所以,可以用(y(w*x+b))的正負(fù)性來判定或表示分類的正確性。于此,我們便引出了函數(shù)間隔(functional margin)的概念。定義函數(shù)間隔(用

表示)為:

但是這個函數(shù)間隔有個問題,就是我成倍的增加w和b的值,則函數(shù)值也會跟著成倍增加,但這個超平面沒有改變。所以有函數(shù)間隔還不夠,需要一個幾何間隔。

幾何間隔
我們把w做一個約束條件,假定對于一個點 x ,令其垂直投影到超平面上的對應(yīng)點為 x0 ,w 是垂直于超平面的一個向量,為樣本x到超平面的距離,如下圖所示:

根據(jù)平面幾何知識,有


最大間隔分類器

對一個數(shù)據(jù)點進(jìn)行分類,當(dāng)超平面離數(shù)據(jù)點的“間隔”越大,分類的確信度(confidence)也越大。所以,為了使得分類的確信度盡量高,需要讓所選擇的超平面能夠最大化這個“間隔”值。這個間隔就是下圖中的Gap的一半。

后續(xù)問題

至此,SVM的第一層已經(jīng)了解了,就是求最大的幾何間隔,對于那些只關(guān)心怎么用SVM的朋友便已足夠,不必再更進(jìn)一層深究其更深的原理。
SVM要深入的話有很多內(nèi)容需要講到,比如:線性不可分問題、核函數(shù)、SMO算法等

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容