SVM 隨筆

前言

當(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)用用于分類算法。

svm

圖中有我們用顏色來表示不同樣本,所謂分類問題就是找到一條線,讓線兩邊分別是不同的類別。

我么不僅需要關(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

    我們繪制 \vec{w} 垂直于我們決策邊界的向量,然后計算一點(diǎn) \vec{u} 向量到 \vec{w} 上的投影,如果投影值大于一個常數(shù)值就說明是正樣本否則就是負(fù)樣本。
    \vec{w} \cdot \vec{u} \ge C then u \in +
    \vec{w} \cdot \vec{u} - b \ge 0 then u \in +

訓(xùn)練數(shù)據(jù)

我們在構(gòu)建訓(xùn)練數(shù)據(jù)集時候,需要將所有正樣本設(shè)計為計算后大于 1
\vec{W} \cdot \vec{X_+} + b \ge 1
\vec{W} \cdot \vec{X_-} + b \le -1
這就是 SVM 的最大間隔假設(shè)。

小技巧

我們通過一些小技巧將上面兩個公式合并為一個公式
y_i(\vec{w}x_+ \cdot \vec{u} + b) \ge 1
y_i(\vec{w}x_- \cdot \vec{u} + b) \ge 1
y_i(\vec{w}x \cdot \vec{u} + b) \ge 1
約束條件在訓(xùn)練集中所有樣本都需要滿足這個公式
對于支持向量的點(diǎn)在上面公式不等號變?yōu)榈忍?br> y_i(\vec{w}x \cdot \vec{u} + b) = 1

求取寬度

width = (\vec{x_+} -\vec{x_-}) \cdot \frac{\vec{W}}{||w||}

width = (\vec{x_+} -\vec{x_-}) \cdot \frac{\vec{W}}{||w||} = \frac{\vec{x_+} \cdot \vec{w}}{||w||} - \frac{\vec{x_-} \cdot \vec{w}}{||w||}
width = \frac{1-b}{||w||} + \frac{1+b}{||w||} = \frac{2}{||w||}
y_i(\vec{w}x \cdot \vec{u} + b) = 1
那么我們讓街寬最大就是讓 \frac{2}{||w||} 大,那么也就是問題變?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)換那么求 \max \frac{2}{||w||} 轉(zhuǎn)換為了 \min \frac{1}{2} ||w||^2

L = \frac{1}{2} ||\vec{w}||^2 - \sum \alpha_i (y_i(\vec{w} \cdot \vec{x} + b ) - 1)

\frac{\partial L}{\partial \vec{w}} = \vec{w} - \sum \alpha_i \cdot y_i \cdot x_i = 0
\vec{w} = \sum \alpha_i \cdot y_i \cdot x_i

\frac{\partial L}{\partial b} = \sum \alpha_i y_i = 0
然后將 \vec{w} = \sum \alpha_i \cdot y_i \cdot x_i 公式帶入下面公式中進(jìn)行推導(dǎo)
L = \frac{1}{2} ||\vec{w}||^2 - \sum \alpha_i (y_i(\vec{w} \cdot \vec{x} + b ) - 1)

L = \frac{1}{2} \sum \alpha_i \cdot y_i \cdot x_i \vec{w} \sum \alpha_i \cdot y_i \cdot x_i - \sum \alpha_i y_i x_i \cdot (\sum \alpha_i y_i x_i )- \sum \alpha_i y_i b + \sum \alpha_i
= \sum\alpha_i - \frac{1}{2} \sum \sum \alpha_i y_i x_i \alpha_j y_j x_j

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容