http://blog.csdn.net/szlcw1/article/details/52259668
1. SVM的原理是什么?
SVM是一種二類分類模型桥言。它的基本模型是在特征空間中尋找間隔最大化的分離超平面的線性分類器萌踱。(間隔最大是它有別于感知機(jī))
(1)當(dāng)訓(xùn)練樣本線性可分時(shí)葵礼,通過硬間隔最大化,學(xué)習(xí)一個(gè)線性分類器并鸵,即線性可分支持向量機(jī)鸳粉;
(2)當(dāng)訓(xùn)練數(shù)據(jù)近似線性可分時(shí),引入松弛變量园担,通過軟間隔最大化届谈,學(xué)習(xí)一個(gè)線性分類器,即線性支持向量機(jī)弯汰;
(3)當(dāng)訓(xùn)練數(shù)據(jù)線性不可分時(shí)艰山,通過使用核技巧及軟間隔最大化,學(xué)習(xí)非線性支持向量機(jī)咏闪。
注:以上各SVM的數(shù)學(xué)推導(dǎo)應(yīng)該熟悉:硬間隔最大化(幾何間隔)---學(xué)習(xí)的對偶問題---軟間隔最大化(引入松弛變量)---非線性支持向量機(jī)(核技巧)曙搬。
2. SVM為什么采用間隔最大化?
當(dāng)訓(xùn)練數(shù)據(jù)線性可分時(shí)汤踏,存在無窮個(gè)分離超平面可以將兩類數(shù)據(jù)正確分開织鲸。
感知機(jī)利用誤分類最小策略,求得分離超平面溪胶,不過此時(shí)的解有無窮多個(gè)搂擦。
線性可分支持向量機(jī)利用間隔最大化求得最優(yōu)分離超平面哗脖,這時(shí)瀑踢,解是唯一的。另一方面才避,此時(shí)的分隔超平面所產(chǎn)生的分類結(jié)果是最魯棒的橱夭,對未知實(shí)例的泛化能力最強(qiáng)。
然后應(yīng)該借此闡述桑逝,幾何間隔棘劣,函數(shù)間隔,及從函數(shù)間隔—>求解最小化1/2 ||w||^2 時(shí)的w和b楞遏。即線性可分支持向量機(jī)學(xué)習(xí)算法—最大間隔法的由來茬暇。
3. 為什么要將求解SVM的原始問題轉(zhuǎn)換為其對偶問題?
一寡喝、是對偶問題往往更易求解(當(dāng)我們尋找約束存在時(shí)的最優(yōu)點(diǎn)的時(shí)候糙俗,約束的存在雖然減小了需要搜尋的范圍,但是卻使問題變得更加復(fù)雜预鬓。為了使問題變得易于處理巧骚,我們的方法是把目標(biāo)函數(shù)和約束全部融入一個(gè)新的函數(shù),即拉格朗日函數(shù),再通過這個(gè)函數(shù)來尋找最優(yōu)點(diǎn)劈彪。)
二竣蹦、自然引入核函數(shù),進(jìn)而推廣到非線性分類問題粉臊。
4. 為什么SVM要引入核函數(shù)草添?
當(dāng)樣本在原始空間線性不可分時(shí),可將樣本從原始空間映射到一個(gè)更高維的特征空間扼仲,使得樣本在這個(gè)特征空間內(nèi)線性可分。
引入映射后的對偶問題:
在學(xué)習(xí)預(yù)測中抄淑,只定義核函數(shù)K(x,y)屠凶,而不是顯式的定義映射函數(shù)?。因?yàn)?b>特征空間維數(shù)可能很高肆资,甚至可能是無窮維矗愧,因此直接計(jì)算?(x)·?(y)是比較困難的。相反郑原,直接計(jì)算K(x,y)比較容易(即直接在原來的低維空間中進(jìn)行計(jì)算唉韭,而不需要顯式地寫出映射后的結(jié)果)。
核函數(shù)的定義:K(x,y)=<?(x),?(y)>犯犁,即在特征空間的內(nèi)積等于它們在原始樣本空間中通過核函數(shù)K計(jì)算的結(jié)果属愤。
除了 SVM 之外,任何將計(jì)算表示為數(shù)據(jù)點(diǎn)的內(nèi)積的方法酸役,都可以使用核方法進(jìn)行非線性擴(kuò)展住诸。
5. svm RBF核函數(shù)的具體公式?
Gauss徑向基函數(shù)則是局部性強(qiáng)的核函數(shù)涣澡,其外推能力隨著參數(shù)σ的增大而減弱贱呐。
這個(gè)核會將原始空間映射為無窮維空間。不過入桂,如果σ選得很大的話奄薇,高次特征上的權(quán)重實(shí)際上衰減得非常快抗愁,所以實(shí)際上(數(shù)值上近似一下)相當(dāng)于一個(gè)低維的子空間馁蒂;反過來,如果σ選得很小驹愚,則可以將任意的數(shù)據(jù)映射為線性可分——當(dāng)然远搪,這并不一定是好事,因?yàn)殡S之而來的可能是非常嚴(yán)重的過擬合問題逢捺。不過谁鳍,總的來說,通過調(diào)控參數(shù)σ,高斯核實(shí)際上具有相當(dāng)高的靈活性倘潜,也是使用最廣泛的核函數(shù)之一绷柒。
6. SVM如何處理多分類問題?
一般有兩種做法:一種是直接法涮因,直接在目標(biāo)函數(shù)上修改废睦,將多個(gè)分類面的參數(shù)求解合并到一個(gè)最優(yōu)化問題里面⊙荩看似簡單但是計(jì)算量卻非常的大嗜湃。
另外一種做法是間接法:對訓(xùn)練器進(jìn)行組合。其中比較典型的有一對一澜掩,和一對多购披。
一對多,就是對每個(gè)類都訓(xùn)練出一個(gè)分類器肩榕,由svm是二分類刚陡,所以將此而分類器的兩類設(shè)定為目標(biāo)類為一類,其余類為另外一類株汉。這樣針對k個(gè)類可以訓(xùn)練出k個(gè)分類器筐乳,當(dāng)有一個(gè)新的樣本來的時(shí)候,用這k個(gè)分類器來測試乔妈,那個(gè)分類器的概率高蝙云,那么這個(gè)樣本就屬于哪一類。這種方法效果不太好褒翰,bias比較高贮懈。
svm一對一法(one-vs-one),針對任意兩個(gè)類訓(xùn)練出一個(gè)分類器优训,如果有k類朵你,一共訓(xùn)練出C(2,k) 個(gè)分類器,這樣當(dāng)有一個(gè)新的樣本要來的時(shí)候揣非,用這C(2,k)?個(gè)分類器來測試宛琅,每當(dāng)被判定屬于某一類的時(shí)候挎狸,該類就加一,最后票數(shù)最多的類別被認(rèn)定為該樣本的類。