寫(xiě)在最前面
如今機(jī)器學(xué)習(xí)和深度學(xué)習(xí)如此火熱配并,相信很多像我一樣的普通程序猿或者還在大學(xué)校園中的同學(xué)光酣,一定也想?yún)⑴c其中。不管是出于好奇揍障,還是自身充電目养,跟上潮流,我覺(jué)得都值得試一試亚兄。對(duì)于自己混稽,經(jīng)歷了一段時(shí)間的系統(tǒng)學(xué)習(xí)(參考《機(jī)器學(xué)習(xí)/深度學(xué)習(xí)入門(mén)資料匯總》),現(xiàn)在計(jì)劃重新閱讀《機(jī)器學(xué)習(xí)》[周志華]和《深度學(xué)習(xí)》[Goodfellow et al]這兩本書(shū)审胚,并在閱讀的過(guò)程中進(jìn)行記錄和總結(jié)匈勋。這兩本是機(jī)器學(xué)習(xí)和深度學(xué)習(xí)的入門(mén)經(jīng)典。筆記中除了會(huì)對(duì)書(shū)中核心及重點(diǎn)內(nèi)容進(jìn)行記錄膳叨,同時(shí)洽洁,也會(huì)增加自己的理解,包括過(guò)程中的疑問(wèn)菲嘴,并盡量的和實(shí)際的工程應(yīng)用和現(xiàn)實(shí)場(chǎng)景進(jìn)行結(jié)合饿自,使得知識(shí)不只是停留在理論層面,而是能夠更好的指導(dǎo)實(shí)踐龄坪。記錄筆記昭雌,一方面,是對(duì)自己先前學(xué)習(xí)過(guò)程的總結(jié)和補(bǔ)充健田。 另一方面烛卧,相信這個(gè)系列學(xué)習(xí)過(guò)程的記錄,也能為像我一樣入門(mén)機(jī)器學(xué)習(xí)和深度學(xué)習(xí)同學(xué)作為學(xué)習(xí)參考妓局。
章節(jié)目錄
- 間隔與支持向量
- 對(duì)偶問(wèn)題
- 核函數(shù)
- 軟間隔與正則化
- 支持向量回歸
- 核方法
(一)間隔與支持向量
給定訓(xùn)練樣本D={{x1, y1}, {x2, y2}, ...,{xm, ym}}, yi∈{-1, +1}总放,分類學(xué)習(xí)最基本的想法就是基于訓(xùn)練集D在樣本空間找到一個(gè)劃分超平面,
在樣本空間中好爬,劃分超平面可通過(guò)如下線性方程來(lái)描述局雄,
假設(shè)超平面(w,b)能將訓(xùn)練樣本正確分類存炮,即對(duì)于(xi, yi)∈D炬搭,令蜈漓,
距離超平面最近的這幾個(gè)訓(xùn)練樣本點(diǎn)稱為“支持向量”(support vector),兩個(gè)異類支持向量到超平面的距離之和為尚蝌,
稱為“間隔”(margin)迎变。
找到“最大間隔”(maximum margin)的劃分超平面,就是支持向量機(jī)(Support Vector Machine飘言,簡(jiǎn)稱SVM)的基本型衣形。
(二)對(duì)偶問(wèn)題
我們對(duì)SVM基本型求解是一個(gè)凸二次規(guī)劃(convex quadratic programming)問(wèn)題,能直接用現(xiàn)成的優(yōu)化計(jì)算包求解姿鸿,但我們可以有更高效的辦法谆吴。即對(duì)SVM的基本型使用拉格朗日算子法得到其“對(duì)偶問(wèn)題”(dual problem)。
(三)核函數(shù)
在現(xiàn)實(shí)任務(wù)中苛预,原始樣本空間內(nèi)也許并不存在一個(gè)能正確劃分兩類樣本的超平面句狼。對(duì)這樣的問(wèn)題,可以將樣本從原始空間映射到一個(gè)更高維的特征空間热某,使得樣本在這個(gè)特征空間內(nèi)線性可分腻菇。如下圖,
幸運(yùn)的是昔馋,如果原始空間是有限維筹吐,即屬性數(shù)有限,那么一定存在一個(gè)高維特征空間使樣本可分秘遏。
令Φ(x)表示將x映射后的特征向量丘薛,于是,在特征空間中劃分超平面所對(duì)應(yīng)的模型可表示為邦危,
其對(duì)偶問(wèn)題是洋侨,
求解設(shè)計(jì)到計(jì)算,
倦蚪,這是樣本xi與xj映射到特征空間之后的內(nèi)積希坚。由于特征空間的維數(shù)可能很高,甚至可能到無(wú)窮維陵且,因此直接計(jì)算通常是困難的裁僧。為了避開(kāi)這個(gè)障礙,可以假設(shè)這樣一個(gè)函數(shù)滩报,
即xi與xj在特征空間的內(nèi)積等于他們?cè)紭颖究臻g通過(guò)函數(shù)k(. , .)計(jì)算的結(jié)果。有了這樣的函數(shù)播急,我們就不必直接計(jì)算高維甚至無(wú)窮維特征空間中的內(nèi)積脓钾。這里的函數(shù)k(. , .)就是“核函數(shù)”(kernel function)。
“核函數(shù)選擇”是支持向量機(jī)的最大變數(shù)桩警。常用的核函數(shù)有可训,
此外,還可以通過(guò)函數(shù)的組合得到。
(四)軟間隔與正則化
在前面的討論中握截,我們一直假定訓(xùn)練樣本在訓(xùn)練空間或特征空間中是線性可分的飞崖,即存在一個(gè)超平面將不同類的樣本完全劃分開(kāi)。然而谨胞,在現(xiàn)實(shí)任務(wù)中往往很難確定合適的核函數(shù)使得訓(xùn)練樣本在特征空間中線性可分固歪。
緩解該問(wèn)題的一個(gè)辦法是允許支持向量機(jī)在一些樣本上出錯(cuò)。為此引入了“軟間隔”(soft margin)的概念胯努,如下圖所示牢裳,
具體來(lái)說(shuō),前面介紹的支持向量機(jī)形式是要求所有樣本均滿足約束叶沛,即所有樣本必須劃分正確蒲讯,這稱為“硬間隔”(hard margin),而軟間隔則是允許這樣的樣本不滿足約束灰署。
(五)支持向量回歸
對(duì)樣本(x判帮,y),傳統(tǒng)回歸模型通常直接基于模型輸出f(x)與真實(shí)輸出y之間的差別來(lái)計(jì)算損失溉箕,當(dāng)切僅當(dāng)f(x)與y完全相同時(shí)晦墙,損失才為零。于此不同约巷,支持向量回歸(Support Vector Regression偎痛,簡(jiǎn)稱SVR)假設(shè)我們能容忍f(x)與y之間最多有ε的偏差,即僅當(dāng)f(x)與y之間的差別絕對(duì)值大于ε時(shí)才計(jì)算損失独郎。如下圖所示踩麦,
(六)核方法
根據(jù)“表示定理”,對(duì)于一般的損失函數(shù)和正則化項(xiàng)(不要求是凸函數(shù))氓癌,優(yōu)化問(wèn)題的最優(yōu)解都可表示為核函數(shù)的線性組合谓谦。這顯示出核函數(shù)的巨大威力。
人們發(fā)展出一系列基于核函數(shù)的學(xué)習(xí)方法贪婉,統(tǒng)稱為“核方法”(kernel methods)反粥。最常見(jiàn)的,是通過(guò)“核化”(即引入核函數(shù))來(lái)將線性學(xué)習(xí)器拓展為非線性學(xué)習(xí)器疲迂。