1、神奇的SVM從點(diǎn)到直線距離開(kāi)始:
一個(gè)二位坐標(biāo)系,怎么才能把兩類分開(kāi),我翻墻找到個(gè)MIT機(jī)器學(xué)習(xí)的視頻,賊棒!把軟件隔、核函數(shù)解釋的清清楚楚。有個(gè)油管是視頻,貼不過(guò)來(lái),只能給路徑了!簡(jiǎn)單清晰佩服佩服!吐槽下國(guó)內(nèi)的講述聽(tīng)不下去,上來(lái)就推公式,真的受不鳥(niǎo)。
2、如何選這條“線”——優(yōu)化問(wèn)題
1、解決目標(biāo):最大化間隔,也就是最小化間隔
2、對(duì)偶問(wèn)題轉(zhuǎn)換:原優(yōu)化問(wèn)題是凸二次規(guī)劃問(wèn)題,不等式太多,需要求解的空間太大,所以求其對(duì)偶問(wèn)的解。
對(duì)偶理論有許多重要應(yīng)用:在原始的和對(duì)偶的兩個(gè)線性規(guī)劃中求解任何一個(gè)規(guī)劃時(shí),會(huì)自動(dòng)地給出另一個(gè)規(guī)劃的最優(yōu)解;當(dāng)對(duì)偶問(wèn)題比原始問(wèn)題有較少約束時(shí),求解對(duì)偶規(guī)劃比求解原始規(guī)劃要方便得多。
(1)拉格朗日乘子法和KKT條件
重點(diǎn):
1、KKT條件是凸優(yōu)化問(wèn)題有解的必要條件,主要是對(duì)不等式限制,把超多不等式轉(zhuǎn)化為等式,只留下松弛變量一個(gè)不等式約束,這樣就是減少了解空間,提升效率。
2、拉格朗日約束就是進(jìn)一步求導(dǎo)的方式,縮減不等式數(shù)量。

通過(guò)拉格朗日乘子我們將原問(wèn)題化為先求為何值時(shí),拉格朗日方程有最大值,然后求出
后求解
(拉格朗日方程對(duì)
和
求偏導(dǎo)為0)和
的問(wèn)題。
故所求的對(duì)偶問(wèn)題是:
KKT條件(注意是必要條件)
可見(jiàn),通過(guò)對(duì)偶問(wèn)題后,本問(wèn)題就轉(zhuǎn)換為求解獲取最大值的問(wèn)題。通過(guò)KKT條件
,我們進(jìn)一步確認(rèn)兩種情況的出現(xiàn),一種是:
,另一種情況是
于是上面這個(gè)二次規(guī)劃問(wèn)題()進(jìn)一步用SMO方法解。
3、序列最小優(yōu)化算SMO:
為什么用這個(gè)算法呢?百度發(fā)現(xiàn)怎么解二次規(guī)劃問(wèn)題,很多人會(huì)說(shuō)常用方法是:橢球法、內(nèi)點(diǎn)法、增廣拉格朗日法、梯度投影法 等。
其實(shí)問(wèn)題再回歸以下,什么是支持向量??支持向量就是那些在不同樣本中離我們的“線”最近的樣本點(diǎn)。
SVM其實(shí)訓(xùn)練只需要支持向量參與就行,其他都是忽略項(xiàng)。那么上述這些算法其實(shí)對(duì)于大量樣本來(lái)講,大部分的樣本都是無(wú)用的,也就是無(wú)法引起我們對(duì)目標(biāo)函數(shù)更大的變化,所以專門設(shè)計(jì)了SOM算法,用啟發(fā)式算法,每次選擇取違背KKT條件程度最大的變量,這個(gè)怎么找?SOM用啟發(fā)式算法,當(dāng)確定了第一個(gè)變量后,選擇使兩個(gè)變量對(duì)應(yīng)樣本之間最大的變量作為第二個(gè)變量。直觀來(lái)說(shuō),更新兩個(gè)差別很大的變量,比起相似的變量,會(huì)帶給目標(biāo)函數(shù)更大的變化。思路通了以后再看以上公式推導(dǎo)和編程。
3、如何選這條“線”——不是“直”線??
核函數(shù):
類似學(xué)習(xí)線性變換的方法,我們一般講低緯度不可分的話我們會(huì)給這些數(shù)據(jù)進(jìn)行映射,將其映射到高緯平面中,使其線性可分。但進(jìn)一步,如果凡是遇到線性不可分的樣例,一律映射到高維空間,那么這個(gè)維度大小是會(huì)高到可怕的(如上文中19維乃至無(wú)窮維的例子)。那咋辦呢?此時(shí),核函數(shù)就隆重登場(chǎng)了,核函數(shù)的價(jià)值在于它雖然也是講特征進(jìn)行從低維到高維的轉(zhuǎn)換,但核函數(shù)絕就絕在它事先在低維上進(jìn)行計(jì)算,而將實(shí)質(zhì)上的分類效果表現(xiàn)在了高維上,也就如上文所說(shuō)的避免了直接在高維空間中的復(fù)雜計(jì)算。
4、如何選這條“線”——隔板不是“1”??
最大化隔板、不滿足條件的樣本盡量少???
怎么辦?繼續(xù)對(duì)第一個(gè)拉格朗日方法優(yōu)化問(wèn)題加約束??!方法和1一樣,只是在出力樣本時(shí)候加個(gè)損失函數(shù),其中有hinge損失、指數(shù)損失和對(duì)數(shù)損失。這樣我們就完成了整個(gè)問(wèn)題的主要思路的梳理。
5、個(gè)人提煉
其實(shí),SVM可以說(shuō)是3條直線走天下,簡(jiǎn)單易懂,最后目標(biāo)極其清晰!這里的支持向量、對(duì)偶問(wèn)題、核函數(shù)、軟隔板,其實(shí)也就是研究人員分析問(wèn)題時(shí)的幾個(gè)步驟:1、找關(guān)鍵點(diǎn),2、復(fù)雜問(wèn)題反面思考,3、高緯解決問(wèn)題,4、沒(méi)有一次能全部解決的問(wèn)題,凡事留個(gè)裕度。