支持向量機算法的理解

支持向量機是一種二分類模型。它的基本模型是定義在特徵空間上的間隔最大的線性分類器,間隔最大使他有別於感知機;支持向量機還包括核技巧,這使它成爲實質上的非線性分類器。支持向量機的學習策略就是間隔最大化。可形式化爲一個求解凸二次規劃的問題。算法

當訓練數據線性可分時,經過硬間隔最大化,學習一個線性的分類器,即線性可分支持向量機ide

當訓練數據近似線性可分的時候,經過軟間隔最大化,也學習一個線性的分類器,即線性支持向量機函數

當訓練數據線性不可分時,經過使用核技巧及軟間隔最大化,學習非線性支持向量機。學習

核方法,核技巧就是使用核函數等於隱式地在高維的特徵空間中學習線性支持向量機。優化


第一個問題:如何求出最大硬間隔字符串

即從支持點到超平面的距離最大,轉換成一個有約束的優化問題,it

該約束問題又是一個凸二次規劃問題。轉換成朗格朗日問題,而後對偶函數,在能夠利用KKT條件,求出w,bclass

第二個問題:如何求出最大軟間隔變量

線性不可分意味着某些樣本點 (x,y)不能知足函數間隔大於等於1的約束條件,爲了解決這個問題技巧

須要在約束條件上加上鬆弛變量,由於有的支持向量機點是分錯的。因此約束條件該成>=1-鬆弛變量(鬆弛變量》0)

而後繼續經過罰函數法,目標函數加個係數,只要對誤分類的懲罰增大,C值小時對誤分類的懲罰減少

第三個問題核函數

對解線性分類問題,線性分類支持向量機是一種很是有效的的方法。可是有時分類問題是非線性的,這時能夠使用非線性支持向量機。核函數就是將輸入空間映射到特徵空間,經過特徵向量之間的內積,經過使用核函數能夠學習非支持向量機

經常使用的核函數有:多項式核函數,高斯核函數,字符串核函數。

前面提到那個凸二次規劃問題具備全局最優解,可是當訓練樣本容量很大時,這些算法每每很是低效。因此後人提出序列最小最優化(SMO)算法。

相關文章
相關標籤/搜索