1. 程式人生 > >支持向量機

支持向量機

-a 學習機 大小 一個 left 方塊 矩陣 margin 均值

支持向量機

1 概念

支持向量機是一種分類方法,通過尋求結構化、風險最小,來提高學習機泛化能力,實現經驗風險和置信範圍的最小化,從而達到在統計樣本量較小的情況下,亦能獲得良好統計規律的目的。通俗來講,他是一種二類分類模型,基本模型定義為特征空間上的間隔最大的線性分類器,即支持向量機的學習策略便是間隔最大化,最終可轉化為一個凸二次規劃問題的求解。

SVM可以很好的應用於高維數據,避免維災難問題。這種方法具有一個獨特的特點,它使用訓練實例的一個子集來表示決策邊界,該子集作為支持向量。

盡管SVM的訓練非常慢,但是由於其對復雜的非線性邊界的建模能力,他們是非常準確的,與其他模型相比,它們不至於出現過分擬合的現象。

2 最大邊緣超平面

????具有較大邊緣的決策邊界比具有較小邊緣的決策邊界具有更好的泛化誤差。直覺上,如果邊緣比較小,決策邊界任何輕微的擾動都可能對分類產生顯著的影響。因此,那些決策邊界邊緣較小的分類器對模型的過分擬合更加敏感,從而在未知的樣本上的泛化能力很差。

????統計學理論給出了線性分類器邊緣與其泛化誤差之間關系的形式化解釋,稱之為SWM(structural risk minimization)結構風險最小化理論。該理論根據分類器的訓練誤差技術分享。訓練樣本數N和模型的復雜度h,給出了分類器的泛化誤差的一個上界R。在概率技術分享下,分類器的泛化誤差在最壞情況下滿足

技術分享

????其中技術分享是能力的單調增函數。所以隨著,能力的增加,泛化誤差的上界也隨之提高,因此需要設計一個最大化決策邊界的邊緣的線性分類器,以確保最壞情況下的泛化誤差最小。線性SVM就是這樣的分類器。

3 線性支持向量機:可分情況

????線性SVM尋找具有最大邊緣的超平面,因此它也經常被稱為最大邊緣分類器。為了理解SVM如何學習這樣的邊界,我們需要對線性分類器的決策邊界和邊緣進行討論。

  1. 線性決策邊界

一個包含N個訓練樣本的二類分類問題,每個樣本表示為一個二元組技術分享,其中技術分享表示第i個樣本的屬性集,技術分享表示它的類標號。一個線性分類器的決策邊界可以寫成:

技術分享

其中W和b是模型的參數。

對於任意位於決策邊界上方的方塊技術分享,我們可以證明技術分享,k>0。

對於任意位於決策邊界下方的方塊技術分享,我們可以證明技術分享,k<0。

於是可以用夏磊的方式預測任何測試樣本Z的類標號。

技術分享

  1. 邊緣

    兩個超平面上任意兩個數據點的距離可以表示為

    技術分享

技術分享 表示範數,技術分享

  1. SVM模型

最大邊緣化等價於最小化下面的目標函數:

技術分享

所以SVM的模型可以定義為:

技術分享

由於目標函數是二次的,而約束在參數W和b上是線性的,因此這個問題是一個凸函數優化問題。可以通過標準的拉個朗日乘子方法求解。

對應的拉格朗日函數為:

技術分享

對於函數的優化問題設計到大量參數,為了簡化問題,將問題換成對偶問題,對應的對偶拉格朗日函數為:

技術分享

通過對偶函數找到對應的一組技術分享(可以通過二次規劃),再通過技術分享,即可求得W和b。

決策邊界可以表示成:

技術分享

實踐中,使用b的平均值作為決策邊界的參數,它的大小取決於使用的支持向量。

4 線性支持向量機:不可分情況

數據線性可分是一種理想的狀態,實際上,訓練的數據是有噪聲的,因此必須放松不等式的約束,以適應非線性可分數據。可以通過在優化問題的約束中引入正值的松弛變量技術分享來實現。

修改後的最大邊緣目標函數為:

技術分享

相應的拉格朗日函數為:

技術分享

對偶的拉格朗日函數為:

技術分享

盡管線性可分與線性不可分的對偶的拉個朗日函數一樣,但是拉格朗日乘子技術分享上的約束不同。????

????非線性的技術分享被限制在技術分享

5 非線性支持向量機

????很多真實生活中的數據集,決策面都是非線性的。為了解決分線性分割問題。假設存在一個合適的函數技術分享來變換給定的數據集,讓數據集的分割問題映射到高維空間下,於是線性決策的邊界具有以下形式:

技術分享

非線性支持向量的模型如下

最大邊緣目標函數為:

技術分享

對偶的拉格朗日函數為:

技術分享

通過二次規劃技術找到對應的一組,再通過技術分享,即可求得W和b。

最後可以通過下式對檢驗的實例Z進行分類。

技術分享

其中技術分享即相似度被稱為核技術方法。

核技術

核技術使用中使用原屬性集計算變換後的空間中的相似度的方法。該技術有利於處理如何實現非線性的問題。相似度函數K稱為核函數,核函數必須滿足Mercer定理。

技術分享

任何半正定的函數都可以作為核函數。當z*Mz > 0弱化為z*Mz≥0時,稱M是半正定矩陣

參考文獻:

[1] http://blog.csdn.net/macyang/article/details/38782399/

支持向量機