前言
當(dāng)下機(jī)器學(xué)習(xí)比較重要 3 中算法,個人都目前為止認(rèn)為比較重要機(jī)器學(xué)習(xí)算法分別是,深度學(xué)習(xí)、SVM 和決策樹。在深度學(xué)習(xí)出現(xiàn)之前,是 SVM 的時代 SVM 占據(jù)了機(jī)器學(xué)習(xí)算法優(yōu)勢地位整整 15 年。
SVM VS 深度學(xué)習(xí)
深度學(xué)習(xí)是對原始特征重新表示,也就是原始特征雖然學(xué)的很懶,通過。就拿深度學(xué)習(xí)擅長的圖像識別,是因?yàn)槲覀內(nèi)祟愂褂?pixel 來表示圖片,用 pixel 來表示圖片是一種比較爛表示方式,這是通過深度學(xué)習(xí)能夠幫助我提取一些新表示特片特征來對圖像進(jìn)行表示。
而且深度學(xué)習(xí)有時候即使對于設(shè)計者是個黑核模式,也就是我們不知道機(jī)器如何學(xué)習(xí)來給出其預(yù)測或推薦。有時候我們是需要知道機(jī)器是如何學(xué)習(xí),學(xué)習(xí)到了什么,以及如何做出決定和推薦。
而 SVM 好處是通過數(shù)學(xué)推導(dǎo)出來的模型。個人嘗試了解一下感覺還是比較難。
SVM VS 決策樹
SVM 和決策樹都是找決策邊界
SVM(Support Vector Machine)
SVM = Hinge Loss + (核方法)Kernel Method
概念 SVM (Support Vector Machine)
SVM 是我們必須掌握統(tǒng)計算法,而且 SVM 推導(dǎo)過程要比其應(yīng)用更加重要。使用 SVM 前提是我們分類問題是線性可分的。
SVM 用于解決分問題的分類器。介紹且背后算法,了解算法后便于我們更好調(diào)整參數(shù)。在深度學(xué)習(xí)出現(xiàn)之前被大家廣泛應(yīng)用用于分類算法。

圖中有我們用顏色來表示不同樣本,所謂分類問題就是找到一條線,讓線兩邊分別是不同的類別。
我么不僅需要關(guān)注訓(xùn)練誤差,我們更要關(guān)系期望損失
SVM 關(guān)鍵術(shù)語
- 間隔: 就是離
- 對偶
- 核技巧:在 SVM 出現(xiàn)之前就有核技巧,通過核技巧讓 SVM 從歐式空間擴(kuò)展到多維空間
SVM 分類
- 硬間隔 SVM
- 軟間隔 SVM
- 核 SVM
SVM 推導(dǎo)過程
- 監(jiān)督學(xué)習(xí)
我們對比深度學(xué)習(xí) SVM,深度學(xué)習(xí)通過梯度下降不斷優(yōu)化邊界,然后最后找到最優(yōu)解而 SVM 無需梯度下降就可以 - 幾何含義
就是我們要找的決策分界線到離其最近點(diǎn)的邊距最大。這就是 SVM 的幾何含義。那么有了這個想法我們就需要用數(shù)學(xué)來描述我們的想法,這也就是找模型的過程。 - 決策
support-vector-machine-and-implementation-using-weka-19-638.jpg
我們繪制垂直于我們決策邊界的向量,然后計算一點(diǎn)
向量到
上的投影,如果投影值大于一個常數(shù)值就說明是正樣本否則就是負(fù)樣本。
訓(xùn)練數(shù)據(jù)
我們在構(gòu)建訓(xùn)練數(shù)據(jù)集時候,需要將所有正樣本設(shè)計為計算后大于 1
這就是 SVM 的最大間隔假設(shè)。
小技巧
我們通過一些小技巧將上面兩個公式合并為一個公式
約束條件在訓(xùn)練集中所有樣本都需要滿足這個公式
對于支持向量的點(diǎn)在上面公式不等號變?yōu)榈忍?br>
求取寬度
那么我們讓街寬最大就是讓 大,那么也就是問題變?yōu)榱?img class="math-inline" src="https://math.jianshu.com/math?formula=%5Cmax%20%5Cfrac%7B2%7D%7B%7C%7Cw%7C%7C%7D" alt="\max \frac{2}{||w||}" mathimg="1">
我們將問題進(jìn)行一系列轉(zhuǎn)換那么求 轉(zhuǎn)換為了
然后將 公式帶入下面公式中進(jìn)行推導(dǎo)
