轉(zhuǎn)自微信公眾號:機器學習算法與Python學習
統(tǒng)計學習方法 & 小象學院
SVM算法優(yōu)點:
可用于線性/非線性分類孙援,也可以用于回歸
低泛化誤差
容易解釋
計算復雜度低
缺點:
對參數(shù)和核函數(shù)的選擇比較敏感
原始SVM只比較擅長處理二分類問題
它的基本模型是定義在特征空間上的間隔最大的分類器,間隔最大使它有別于感知機踏施。
SVM還包括核技巧财剖,這使它成為實質(zhì)上的非線性分類器送滞。
支持向量機的學習策略就是間隔最大化钧大,可以形式化為一個求解凸二次規(guī)劃的問題瘤运,也等價于正則化的合頁損失函數(shù)的最小化問題窍霞。
支持向量機的學習算法是求解凸二次規(guī)劃的最優(yōu)化算法
方法包括:
1. 線性可分支持向量機
2. 線性支持向量機
3. 非線性支持向量機
線性可分時,通過硬間隔最大化拯坟,當數(shù)據(jù)近似線性可分時但金,通過軟間隔最大化,當訓練數(shù)據(jù)線性不可分時郁季,通過使用核技巧及軟間隔最大化
通過核函數(shù)可以學習非線性支持向量機冷溃,等價于隱式地在高維特征空間中學習線性支持向量機。這樣的方法稱為核技巧
關鍵點:支持向量機梦裂、核函數(shù)似枕、序列最小優(yōu)化算法SMO
一、線性可分與硬間隔最大化
假設輸入空間與特征空間為兩個不同的空間年柠。輸入空間為歐式空間或離散集合凿歼,特征空間為歐式空間或希爾伯特空間。假設這兩個空間元素一一對應并將輸入空間中的輸入映射為特征空間中的特征向量冗恨。
非線性支持向量機利用一個從輸入空間到特征空間的非線性映射將輸入映射為特征向量答憔。所以輸入都是由輸入空間轉(zhuǎn)換到特征空間,支持向量機的學習是在特征空間進行的掀抹。
? ? ?假設給定一個特征空間上的訓練數(shù)據(jù)集
其中xi為第i個特征向量攀唯,yi為xi類的標記。學習目標是在特征空間中找到一個分離超平面渴丸,wx+b=0
一般地侯嘀,當訓練數(shù)據(jù)線性可分時,存在無窮個分離超平面可將兩類數(shù)據(jù)正確分開谱轨,感知機利用誤分類最小策略戒幔,求得分離超平面,這時的解也是無窮多個的土童,因為解和初始解的選擇和步驟有密切關系诗茎。
而線性可分支持向量機利用間隔最大化求最優(yōu)分離超平面,這時解是唯一的。
--函數(shù)間隔與幾何間隔
一般來說敢订,一個點距離分離超平面的遠近可以表示為分類預測的準信度王污,在超平面wx+b=0確定的情況下,|wx+b|能夠相對地表示點x距離超平面的遠近楚午。所以可以用y(wx+b)來表示分類的正確性以及確信度昭齐,這就是函數(shù)間隔
函數(shù)間隔可以表示分類預測的正確性以及確信度,但是選擇分離超平面時只有函數(shù)間隔是不夠的矾柜,因為只要成比例地改變w和b阱驾,超平面并沒有改變,但是函數(shù)間隔卻變?yōu)樵瓉淼膎倍怪蔑。所以里覆,我們需要對超平面的法向量w加上某些約束,如規(guī)范化缆瓣,||w||=1喧枷,這樣使得間隔是確定的,這時函數(shù)為幾何間隔弓坞。
--間隔最大化
支持向量機學習的基本想法是求解能夠正確劃分訓練數(shù)據(jù)集并且?guī)缀伍g隔最大的分離超平面割去。與感知機相比不僅將正負實例點分來,而且對于最難分的實例點(離超平面最近的點)也有足夠的確信度將它們分開
原始問題
對偶問題
在決定分離超平面時只有支持向量起作用呻逆,而其他實例不起作用
支持向量的個數(shù)一般很少,所以支持向量機由很少的重要的訓練樣本決定
學習的對偶算法
通過求解對偶問題得到原始問題的最優(yōu)解菩帝,優(yōu)點是:1.對偶問題往往更容易求解咖城;2. 引入核函數(shù),推廣到非線性分類問題
引入拉格朗日函數(shù)
其中alpha=(alpha1,...,alphan)T的拉格朗日乘子向量
為了得到對偶問題的解呼奢,首先對L(w,b,alpha)對w宜雀,b的極小,再對alpha求極大
將目標函數(shù)由極大轉(zhuǎn)換為極小得到如下等價對偶最優(yōu)化問題
補充KKT條件
對于含有不等式約束的優(yōu)化問題握础,如何求取最優(yōu)值呢辐董?常用的方法是KKT條件,同樣地禀综,把所有的不等式約束简烘、等式約束和目標函數(shù)全部寫為一個式子L(a, b, x)= f(x) + a*g(x)+b*h(x),KKT條件是說最優(yōu)值必須滿足以下條件:
1. L(a, b, x)對x求導為零定枷;
2. h(x) =0;
3. a*g(x) = 0;
也就是說孤澎,分類決策函數(shù)只依賴于輸入x和訓練樣本輸入內(nèi)積华畏。7.30稱為線性可分支持向量機的對偶形式沈堡。
在此模型中w和b只依賴于訓練數(shù)據(jù)中對應于alphai>0的樣本點
線性支持向量機與軟間隔最大化
通常,訓練數(shù)據(jù)中有一些奇異點(outlier),將這些奇異點去除后剩下的大部分樣本點是線性可分的钉蒲。
線性不可分意味著某些樣本點不滿足函數(shù)間隔大于等于1的約束條件,因此我們可以引進一個松弛變量eta>=0
約束條件變?yōu)?/p>
目標函數(shù)變?yōu)?/p>
C>0稱為懲罰參數(shù)型将,C值大對誤分類的懲罰增大寂祥,C值小時對于誤分類的懲罰減小。
目標函數(shù)包含兩層含義:使1/2||w||^2盡量小即間隔盡量大七兜,同時使得誤分類點的個數(shù)盡量小丸凭,C是協(xié)調(diào)二者的關系。
變?yōu)槿缦峦苟我?guī)劃問題原始問題
解為(w,b,eta)
學習的對偶算法
由于原始問題對于b的解并不唯一惊搏,所以實際計算可以取在所有復合條件的樣本點上的平均值