分類演算法SVM(支援向量機)_SVM

來源:互聯網
上載者:User


支援向量機(Support Vector Machine ,SVM)的主要思想是:建立一個最優決策超平面,使得該平面兩側距離該平面最近的兩類樣本之間的距離最大化,從而對分類問題提供良好的泛化能力。對於一個多維的樣本集,系統隨機產生一個超平面並不斷移動,對樣本進行分類,直到訓練樣本中屬於不同類別的樣本點正好位於該超平面的兩側,滿足該條件的超平面可能有很多個,SVM正式在保證分類精度的同時,尋找到這樣一個超平面,使得超平面兩側的空白地區最大化,從而實現對線性可分樣本的最優分類。


支援向量機中的支援向量(Support Vector)是指訓練樣本集中的某些訓練點,這些點最靠近分類決策面,是最難分類的資料點。SVM中最優分類標準就是這些點距離分類超平面的距離達到最大值;“機”(Machine)是機器學習領域對一些演算法的統稱,常把演算法看做一個機器,或者學習函數。SVM是一種有監督的學習方法,主要針對小樣本資料進行學習、分類和預測,類似的根據樣本進行學習的方法還有決策樹歸納演算法等。


SVM的優點:
1、不需要很多樣本,不需要有很多樣本並不意味著訓練樣本的絕對量很少,而是說相對於其他訓練分類演算法比起來,同樣的問題複雜度下,SVM需求的樣本相對是較少的。並且由於SVM引入了核函數,所以對於高維的樣本,SVM也能輕鬆應對。
2、結構風險最小。這種風險是指分類器對問題真實模型的逼近與問題真實解之間的累積誤差。
3、非線性,是指SVM擅長應付樣本資料線性不可分的情況,主要通過鬆弛變數(也叫懲罰變數)和核函數技術來實現,這一部分也正是SVM的精髓所在。


一、線性分類


對於最簡單的情況,在一個二維空間中,要求把下圖所示的白色的點和黑色的點集分類,顯然,下圖中的這條直線可以滿足我們的要求,並且這樣的直線並不是唯一的。




SVM的作用就是要尋找到最合適的決策直線所在的位置。其他可行的直線可以如下所示:




那麼哪條直線才是最優的呢。就是分類兩側距離決策直線距離最近的點離該直線綜合最遠的那條直線,即分割的間隙越大越好,這樣分出來的特徵的精確性更高,容錯空間也越大。這個過程在SVM中被稱為最大間隔(Maximum Marginal)。下圖紅色和藍色直線之間的間隙就是要最大化的間隔,顯然在這種情況下,分類直線位於中間位置時可以使得最大間隔達到最大值。





二、 線性不可分


現實情況中基於上文中線性分類的情況並不具有代表性,更多情況下樣本資料的分布式雜亂無章的,這種情況下,基於線性分類的直線分割面就無法準確完成分割。如下圖,在黑色點集中摻雜有白色點,白色點集中摻雜有黑色點的情況:



對於這種非線性情況,一種方法是使用一條曲線去完美分割樣品集,如下圖:




從二維空間擴充到多維,可以使用某種非線性方法,讓空間從原本的線性空間轉換到另一個維度更高的空間,在這個高維的線性空間中,再用一個超平面對樣本進行劃分,這種情況下,相當於增加了不同樣本間的區分度和區分條件。在這個過程中,核函數發揮了至關重要的作用,核函數的作用就是在保證不增加演算法複雜度的情況下將完全不可分問題轉化為可分或達到近似可分的狀態。




上圖左側紅色和綠色的點在二維空間中,綠色的點被紅色點包圍,線性不可分,但是擴充到三維(多維)空間後,可以看到,紅綠色點間Z方向的距離有明顯差別,同種類別間的點集有一個共同特徵就是他們基本都在一個面上,所以借用這個區分,可以使用一個超平面對這兩類樣本進行分類,如上圖中黃色的平面。

線性不可分映射到高維空間,可能導致很高的維度,特殊情況下可能達到無窮多維,這種情況下會導致計算複雜,伴隨產生驚人的計算量。但是在SVM中,核函數的存在,使得運算仍然是在低維空間進行的,避免了在高維空間中複雜運算的時間消耗。

SVM另一個巧妙之處是加入了一個鬆弛變數來處理樣本資料可能存在的雜訊問題,如下圖所示:




SVM允許資料點在一定程度上對超平面有所偏離,這個位移量就是SVM演算法中可以設定的outlier值,對應於上圖中黑色實現的長度。鬆弛變數的加入使得SVM並非僅僅是追求局部效果最優,而是從樣本資料分布的全域出發,統籌考量,正所謂成大事者不拘小節。


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.