博客專欄

EEPW首頁(yè) > 博客 > 從數(shù)學(xué)推導(dǎo)開(kāi)始,7萬(wàn)字一定帶你學(xué)會(huì)支持向量機(jī)(免費(fèi)PDF下載)

從數(shù)學(xué)推導(dǎo)開(kāi)始,7萬(wàn)字一定帶你學(xué)會(huì)支持向量機(jī)(免費(fèi)PDF下載)

發(fā)布人:機(jī)器之心 時(shí)間:2022-07-21 來(lái)源:工程師 發(fā)布文章

本書從零推導(dǎo) SVM,涵蓋從 SVM 的思想、到形式化、再簡(jiǎn)化、最后實(shí)現(xiàn)的完整過(guò)程。


SVM(Support Vector Machine,支持向量機(jī))是一個(gè)非常經(jīng)典且高效的分類模型。在機(jī)器學(xué)習(xí)領(lǐng)域,有兩大類方法既理論優(yōu)美又能在實(shí)踐中取得很好的效果,其中一類是 SVM 及其衍生的核方法和統(tǒng)計(jì)學(xué)習(xí)理論;另一類是 AdaBoost 及其衍生的 Boosting 方法,例如在 Kaggle 競(jìng)賽中十分流行的 XGBoost 和 LightGBM 即屬于 Boosting 方法。目前十分熱門的深度學(xué)習(xí)方法雖然在實(shí)踐中能取得十分突出的效果,但是理論支持不夠完善。
在深度學(xué)習(xí)復(fù)興之前,SVM 是最常被使用的模型之一。即使現(xiàn)在深度學(xué)習(xí)如火如荼,在一些領(lǐng)域 SVM 仍有其用武之地;此外,理解 SVM 對(duì)理解機(jī)器學(xué)習(xí)領(lǐng)域的關(guān)鍵概念和重要思想很有幫助;最后,因?yàn)?SVM 的影響力,其常常作為面試問(wèn)題用于考察面試者的基本功。因此,SVM 是機(jī)器學(xué)習(xí)及相關(guān)領(lǐng)域初學(xué)者必須掌握的算法之一。
電子書概覽
但是,SVM 涉及許多數(shù)學(xué)推導(dǎo),有些還比較復(fù)雜,并且需要比較強(qiáng)的凸優(yōu)化基礎(chǔ)知識(shí),這使得一些初學(xué)者雖花大量時(shí)間和精力研讀,但仍一頭霧水,最終望而卻步,從入門到放棄。本書《手把手帶你學(xué)懂 SVM》旨在從零推導(dǎo) SVM,涵蓋從 SVM 的思想、到形式化、再簡(jiǎn)化、最后實(shí)現(xiàn)的完整過(guò)程

圖片

 

  • 電子書下載地址:https://pan.baidu.com/link/zhihu/7QhkzYuRhtikYhNkkFdf1qRHewTqJVRwZBVW== 
  • 知乎鏈接:https://zhuanlan.zhihu.com/p/480302399


例如,SVM 涉及許多概念,比如間隔(又分為硬間隔和軟間隔)、支持向量、基本型、對(duì)偶型、高斯核函數(shù)等,本書一方面會(huì)從數(shù)學(xué)角度詳細(xì)定義和解釋每個(gè)概念,另一方面會(huì)通過(guò)通俗的例子直觀說(shuō)明這些概念的含義,以幫助讀者理解。
舉個(gè)例子,假設(shè)讀者要學(xué)習(xí)《高等數(shù)學(xué)》這門課,用機(jī)器學(xué)習(xí)的語(yǔ)言來(lái)進(jìn)行描述,讀者平時(shí)在上課的過(guò)程就是訓(xùn)練讀者成為 “《高等數(shù)學(xué)》學(xué)習(xí)模型” 的過(guò)程,平時(shí)進(jìn)行的模擬考試或做的練習(xí)就是訓(xùn)練樣本,最終的期末考試就是訓(xùn)練樣本之外的測(cè)試樣本,用來(lái)測(cè)試讀者對(duì)《高等數(shù)學(xué)》知識(shí)的掌握情況,即檢驗(yàn)讀者對(duì)運(yùn)用《高等數(shù)學(xué)》知識(shí)解題的泛化能力
如果讀者在模擬考試或練習(xí)(即訓(xùn)練樣本)上只能達(dá)到 60 分或只比 60 分多幾分,即十分接近及格和不及格的分類邊界,雖然在模擬考試或練習(xí)中及格了(即訓(xùn)練樣本預(yù)測(cè)正確),但是如果期末考試(即測(cè)試樣本)和模擬考試或練習(xí)(即訓(xùn)練樣本)相比變了些題型(進(jìn)行了一些局部擾動(dòng)),那么讀者很有可能在期末考試上不及格(即測(cè)試樣本預(yù)測(cè)錯(cuò)誤)。
不同的同學(xué)有不同的學(xué)習(xí)策略(即不同的學(xué)習(xí)模型有不同的歸納偏好),SVM 的歸納偏好類似于 “學(xué)霸” 的學(xué)習(xí)策略,“學(xué)霸” 不滿足于模型考試或練習(xí)只及格就可以,而是不僅是要在模型考試或練習(xí)中及格(即訓(xùn)練樣本預(yù)測(cè)正確)、而且進(jìn)一步要使得模型考試或練習(xí)的成績(jī)盡量比 60 分高,比如達(dá)到 70 分或 80 分以上(即訓(xùn)練樣本遠(yuǎn)離劃分超平面),那么期末考試及格(即測(cè)試樣本預(yù)測(cè)正確)的概率會(huì)很大。
從上面的例子可以了解到,訓(xùn)練樣本是平時(shí)做的模擬考試或練習(xí),測(cè)試樣本是期末考試。基本型就像是閉卷考試,在期末考試時(shí)(即在預(yù)測(cè)階段),你平時(shí)做的模擬考試或練習(xí)都不能帶(即不依賴訓(xùn)練集 D),只能靠你聰明的頭腦進(jìn)行答題(即只能使用訓(xùn)練得到的參數(shù) (w?,b?) 進(jìn)行預(yù)測(cè));而對(duì)偶型就像是開(kāi)卷考試,在期末考試時(shí)(即在預(yù)測(cè)階段),你可以帶平時(shí)做過(guò)的模擬考試或練習(xí)(即依賴訓(xùn)練集 D),答題時(shí)不僅可以靠你聰明的頭腦,還可以查閱平時(shí)做過(guò)的模擬考試或練習(xí)(即同時(shí)使用訓(xùn)練得到的參數(shù)和訓(xùn)練集 D 進(jìn)行預(yù)測(cè))。
基本型屬于參數(shù)模型、而對(duì)偶型屬于非參數(shù)模型??梢钥闯觯?/span>參數(shù)模型的特點(diǎn)在于預(yù)測(cè)過(guò)程簡(jiǎn)單、預(yù)測(cè)耗時(shí)短(即閉卷考試時(shí)會(huì)就是會(huì)、不會(huì)就是不會(huì),花再多時(shí)間也沒(méi)啥用);而非參數(shù)模型的特點(diǎn)在于模型表示能力通常更強(qiáng)(讀者應(yīng)該有體會(huì),通常開(kāi)卷考試的成績(jī)更高),但預(yù)測(cè)過(guò)程比較復(fù)雜、預(yù)測(cè)耗時(shí)長(zhǎng),預(yù)測(cè)耗時(shí)通常和訓(xùn)練集大小 m 成正比(即答題時(shí)需要將帶的模擬考試或練習(xí)翻找一遍)。
更進(jìn)一步,訓(xùn)練樣本是平時(shí)做的模擬考試或練習(xí),硬間隔要求你對(duì)平時(shí)做的所有的模擬考試或練習(xí)分?jǐn)?shù)都要比 60 分高很多,而軟間隔允許你有幾次失誤的機(jī)會(huì),即允許有少量模擬考試或練習(xí)分?jǐn)?shù)接近或低于 60 分。軟間隔和硬間隔相比會(huì)放松一些要求,這樣更加現(xiàn)實(shí),有時(shí)候模擬考試或練習(xí)中會(huì)存在偏題怪題(即噪聲樣本),如果一味追求要所有的模擬考試或練習(xí)都做的很好(即硬間隔),那么會(huì)花大量的時(shí)間糾結(jié)偏題怪題(即擬合噪聲樣本),不見(jiàn)得期末考試成績(jī)會(huì)好(即容易出現(xiàn)過(guò)擬合)。
訓(xùn)練樣本是平時(shí)做的模型考試或練習(xí),測(cè)試樣本是期末考試,支持向量是錯(cuò)題集,基本型是閉卷考試,對(duì)偶型是開(kāi)卷考試。那么軟間隔高斯核 SVM 的對(duì)偶型告訴你,在開(kāi)卷考試時(shí)不需要帶所有做過(guò)的模擬考試或練習(xí)(即不需要全部訓(xùn)練集 D),只需要帶錯(cuò)題集(即只需要支持向量),在期末考試答題時(shí)采用的策略是(即預(yù)測(cè)策略是),拿到一道題(即對(duì)于一個(gè)待預(yù)測(cè)的樣本),將該題和錯(cuò)題集中收錄的題一一比對(duì)一遍(即基于核函數(shù)對(duì)支持向量進(jìn)行相似度計(jì)算),參考錯(cuò)題集中的解法(即參考支持向量的標(biāo)記),相似度高的題解法就多參考參考、相似度低的題解法就少參考參考(即基于核函數(shù)得出的相似度進(jìn)行加權(quán)投****),不過(guò)參考不是照抄,還需要你聰明的大腦進(jìn)行加工和整合(即基于   進(jìn)行加權(quán)投****)得到最終解法(即最終預(yù)測(cè)結(jié)果)。其實(shí)回顧你以前參加開(kāi)卷考試的經(jīng)歷,使用的基本上就是這個(gè)答題策略,所以軟間隔高斯核 SVM 的對(duì)偶型的表示能力十分強(qiáng)大。
下表對(duì) SVM 中涉及的一些概念用學(xué)習(xí)《高等數(shù)學(xué)》課程的例子進(jìn)行類比,類比不見(jiàn)得嚴(yán)謹(jǐn),但是有助于理解概念。我們學(xué)習(xí)機(jī)器學(xué)習(xí)還有一個(gè)意義是促進(jìn)人類的學(xué)習(xí),SVM 中的很多思想和策略對(duì)人類學(xué)習(xí)很有啟發(fā)價(jià)值。
圖片
本書有以下特點(diǎn):

  • 數(shù)學(xué)推導(dǎo)詳細(xì)。對(duì)于一些數(shù)學(xué)性比較強(qiáng)的資料,讀者有時(shí)會(huì)卡在其中的一兩個(gè)關(guān)鍵步驟,無(wú)法理解其中的推導(dǎo)過(guò)程,導(dǎo)致無(wú)法學(xué)習(xí)后續(xù)的內(nèi)容。本書會(huì)詳細(xì)推導(dǎo)所有涉及的公式,數(shù)學(xué)基礎(chǔ)比較好的讀者可以快速瀏覽推導(dǎo)過(guò)程作為回憶和鞏固;而對(duì)于數(shù)學(xué)基礎(chǔ)有些薄弱的讀者,詳細(xì)的推導(dǎo)過(guò)程將使讀者不會(huì) “掉隊(duì)”;
  • 補(bǔ)充背景知識(shí)。SVM 是凸優(yōu)化領(lǐng)域的經(jīng)典算法,需要讀者對(duì)凸優(yōu)化的背景知識(shí)有一定的了解。但是大部分讀者可能并不是數(shù)學(xué)或優(yōu)化背景出身,為了學(xué)習(xí) SVM 先要掌握內(nèi)容宏大的凸優(yōu)化知識(shí)會(huì)是比較重的負(fù)擔(dān)。為了減輕讀者的負(fù)擔(dān)并能使盡可能多的讀者從中收益,本書不要求讀者有凸優(yōu)化背景知識(shí),讀者只需要有基礎(chǔ)的微積分和線性代數(shù)背景即可。文本對(duì) SVM 中涉及的背景知識(shí)會(huì)進(jìn)行補(bǔ)充,力圖使本書內(nèi)容是自足的,即爭(zhēng)取做到 “學(xué)懂 SVM 只看本書就夠了”;
  • 概念圖文結(jié)合。SVM 的另一個(gè)難點(diǎn)是涉及許多概念,有些還比較抽象。因此,本書配備了許多插圖,用于輔助讀者學(xué)習(xí)。讀者如果能自動(dòng)地做到將各個(gè)術(shù)語(yǔ)和概念對(duì)應(yīng)到圖中,那基本就可以達(dá)到對(duì) SVM 融會(huì)貫通的程度;
  • 包含面試問(wèn)題。本書內(nèi)容涵蓋了常見(jiàn)的對(duì) SVM 的面試考察問(wèn)題,因此也可以作為快速回顧和復(fù)習(xí) SVM 的參考資料;
  • 穿插趣味示例。本書如果通篇都是對(duì) SVM 的數(shù)學(xué)推導(dǎo)不免有些抽象和乏味,因此會(huì)多次用人類學(xué)習(xí)《高等數(shù)學(xué)》知識(shí)這一例子類比 SVM 中的重要概念和思想。類比不見(jiàn)得嚴(yán)謹(jǐn),但對(duì)理解 SVM 具有幫助意義。


SVM 中涉及的關(guān)鍵內(nèi)容可以用下圖進(jìn)行概括,本書將從最基礎(chǔ)的部分進(jìn)行,逐步深入,每一步都盡量提供詳細(xì)的推導(dǎo)過(guò)程,使讀者能跟上本書的節(jié)奏

圖片



*博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。



關(guān)鍵詞: AI

相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉