支持向量機之SMO-------7

上次詳細的介紹了用最小二乘法求解結(jié)構(gòu)風(fēng)險最小化問題的分類支持向量機网严,并在文章最后給出了求解對偶問題的序列最小優(yōu)化(Sequential Minimal Optimization, ?SMO)算法解的形式萝挤,但是并未提到其具體的解法。今天我將參考由John C. Platt 在1998年發(fā)表的一片名為《Sequential Minimal Optimization: A Fast Algorithm for Training Support Vector Machines》的論文中提到的比較快的二次規(guī)劃優(yōu)化算法币叹,特別針對SVM和數(shù)據(jù)稀疏時性能更優(yōu).

OK,接下來,讓我們一起了解這天才的想法是如何提煉出來的ba!!!

在開始之前贷掖,讓我們首先定義特征到結(jié)果輸出函數(shù)為:

這個u 與我們之前定義的f(x) = wTx + b 實質(zhì)是一樣的七兜。接著,咱們重新定義咱們原始的優(yōu)化問題钙蒙,權(quán)當重新回顧:

類似地茵瀑,采用Lagrange 乘數(shù)法可以得到;

j將上式引入核函數(shù)κ(·, ·) 可以得到:

此時,和前面類似可以得到:

引入松弛變量之后得到:

最終的優(yōu)化目標為:

根據(jù)KKT條件可以得出a的取值意義為:

1. (1)式表明是正常分類躬厌,在邊界內(nèi)部马昨,我們知道正確分類的點yif(xi) ≥ 0。

2. (2)式表明了是支持向量扛施,在邊界上鸿捧。

3. (3)式表明了是在兩條邊界之間。

而最優(yōu)解需要滿足KKT 條件疙渣,即上述3 個條件都得滿足笛谦,以下幾種情況出現(xiàn)將會出現(xiàn)不滿足:

所以要找出不滿足KKT 條件的這些αi,并更新這些αi昌阿,但這些αi 又受到另外一個約束:

因此饥脑,我們通過另一個方法,即同時更新αi 和αj懦冰,要求滿足下式灶轰,就能保證和為0 的約束。

消去αi刷钢,可得到一個關(guān)于單變量αj 的一個凸二次規(guī)劃問題笋颤,不考慮其約束0 ≤ αj ≤ C,可以得其解為:

然后考慮約束0 ≤ αj ≤ C 可以得到αi 的解析解為:

把SMO 中對于兩個參數(shù)求解過程看成線性規(guī)劃來理解來理解的話,那么下圖所表達式的辨識内地。

根據(jù)yi和yj 同號或異號伴澄,可得出兩個上、下界分別為:

對于αi阱缓,有;

那么如果和求得αi 和αj 呢非凌?對于αi,可以通過剛剛說的那3 種不滿足KKT 的條件來找荆针;而對于αj敞嗡,可以通過max |Ei ? Ej | 求得颁糟;而b 的更新則是:

每次更新完αi 和αj 后,都需要再重新計算b喉悴,及對應(yīng)的Ei 和Ej棱貌。

SMO算法的計算步驟:

SMO 的主要步驟下圖所示。其中迭代的兩步是:

(1) 選擇接下來要更新的一對αi 和αj:采用啟發(fā)式的方法進行選擇箕肃,以使目標函數(shù)最大程度地接近其全局最優(yōu)值

(2) 將目標函數(shù)對αi 和αj 進行優(yōu)化婚脱,保持其它所有的αk(k ?= i, j) 不變

假定在某一次迭代中,需要更新α1 和α2勺像,那么優(yōu)化目標可以寫成:

而更新α1 和α2 的步驟如下:

綜上起惕,SMO 算法的基本思想是將Vapnik 在1982 年提出的Chunking 方法推到極致,SMO 算法每次迭代只選出兩個分量αi 和αj 進行調(diào)整咏删,其它分量則保持固定不變惹想,在得到解αi 和αj 之后,再用αi 和αj 改進其它分量督函。與通常的分解算法比較嘀粱,盡管它可能需要更多的迭代次數(shù),但每次迭代的計算量比較小辰狡,所以該算法表現(xiàn)出整理的快速收斂性锋叨,且不需要存儲核矩陣,也沒有矩陣運算宛篇。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末娃磺,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子叫倍,更是在濱河造成了極大的恐慌偷卧,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,496評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件吆倦,死亡現(xiàn)場離奇詭異听诸,居然都是意外死亡,警方通過查閱死者的電腦和手機蚕泽,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,407評論 3 392
  • 文/潘曉璐 我一進店門晌梨,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人须妻,你說我怎么就攤上這事仔蝌。” “怎么了荒吏?”我有些...
    開封第一講書人閱讀 162,632評論 0 353
  • 文/不壞的土叔 我叫張陵敛惊,是天一觀的道長。 經(jīng)常有香客問我司倚,道長豆混,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,180評論 1 292
  • 正文 為了忘掉前任动知,我火速辦了婚禮皿伺,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘盒粮。我一直安慰自己鸵鸥,他們只是感情好,可當我...
    茶點故事閱讀 67,198評論 6 388
  • 文/花漫 我一把揭開白布丹皱。 她就那樣靜靜地躺著妒穴,像睡著了一般。 火紅的嫁衣襯著肌膚如雪摊崭。 梳的紋絲不亂的頭發(fā)上讼油,一...
    開封第一講書人閱讀 51,165評論 1 299
  • 那天,我揣著相機與錄音呢簸,去河邊找鬼矮台。 笑死,一個胖子當著我的面吹牛根时,可吹牛的內(nèi)容都是我干的瘦赫。 我是一名探鬼主播,決...
    沈念sama閱讀 40,052評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼蛤迎,長吁一口氣:“原來是場噩夢啊……” “哼确虱!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起替裆,我...
    開封第一講書人閱讀 38,910評論 0 274
  • 序言:老撾萬榮一對情侶失蹤校辩,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后辆童,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體召川,經(jīng)...
    沈念sama閱讀 45,324評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,542評論 2 332
  • 正文 我和宋清朗相戀三年胸遇,在試婚紗的時候發(fā)現(xiàn)自己被綠了荧呐。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,711評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡纸镊,死狀恐怖倍阐,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情逗威,我是刑警寧澤峰搪,帶...
    沈念sama閱讀 35,424評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站凯旭,受9級特大地震影響概耻,放射性物質(zhì)發(fā)生泄漏使套。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,017評論 3 326
  • 文/蒙蒙 一鞠柄、第九天 我趴在偏房一處隱蔽的房頂上張望侦高。 院中可真熱鬧,春花似錦厌杜、人聲如沸奉呛。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,668評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽瞧壮。三九已至,卻和暖如春匙握,著一層夾襖步出監(jiān)牢的瞬間咆槽,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,823評論 1 269
  • 我被黑心中介騙來泰國打工圈纺, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留罗晕,地道東北人。 一個月前我還...
    沈念sama閱讀 47,722評論 2 368
  • 正文 我出身青樓赠堵,卻偏偏與公主長得像小渊,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子茫叭,可洞房花燭夜當晚...
    茶點故事閱讀 44,611評論 2 353

推薦閱讀更多精彩內(nèi)容

  • 本章涉及到的知識點清單:1酬屉、決策面方程2、函數(shù)間隔和幾何間隔3揍愁、不等式約束條件4呐萨、SVM最優(yōu)化模型的數(shù)學(xué)描述(凸二...
    PrivateEye_zzy閱讀 13,235評論 3 10
  • 注:題中所指的『機器學(xué)習(xí)』不包括『深度學(xué)習(xí)』。本篇文章以理論推導(dǎo)為主莽囤,不涉及代碼實現(xiàn)谬擦。 前些日子定下了未來三年左右...
    我偏笑_NSNirvana閱讀 39,970評論 12 145
  • 本文主要是學(xué)習(xí)支持向量機的算法原理,并且用Python來實現(xiàn)相關(guān)算法朽缎。內(nèi)容包括:SVM概述惨远、線性可分支持向量機、線...
    keepStriving閱讀 16,731評論 6 57
  • 在上一次的介紹中话肖,我們稍微了解到了關(guān)于support vector machine 的一些入門知識北秽。今天,我們將真...
    011b8ee4cba4閱讀 827評論 1 1
  • jdk以及其/bin下的工具使用總結(jié) 1最筒、什么是環(huán)境變量贺氓? 操作系統(tǒng)中環(huán)境變量其實就是指程序在系統(tǒng)中的存儲路徑 w...
    H小瑞閱讀 280評論 0 0