《機器學習》西瓜書習題 第 6 章


習題

6.1

  試證明樣本空間中任意點 \(\boldsymbol{x}\) 到超平面 \((\boldsymbol{w}, b)\) 的距離為式 \((6.2)\) .


  設超平面為 \(\ell(\boldsymbol{w}, b)\) , \(\boldsymbol{x}\)\(\ell\) 上的投影為 \(\boldsymbol{x_0}\) , 離超平面的距離為 \(r\) . 容易得

\[\boldsymbol{w}\perp \ell \]

\[\boldsymbol{x} = \boldsymbol{x_0} + r\frac{\boldsymbol{w}}{||\boldsymbol{w}||} \]

\[\boldsymbol{w}^\mathrm{T}\boldsymbol{x_0} + b = 0 \]

則有

\[\boldsymbol{x_0} = \boldsymbol{x} - r\frac{\boldsymbol{w}}{||\boldsymbol{w}||} \]

\[\begin{aligned} \boldsymbol{w}^\mathrm{T}(\boldsymbol{x} - r\frac{\boldsymbol{w}}{||\boldsymbol{w}||}) + b &= 0\\ \boldsymbol{w}^\mathrm{T}\boldsymbol{x} - r\frac{\boldsymbol{w}^\mathrm{T}\boldsymbol{w}}{||\boldsymbol{w}||} + b &= 0\\ \boldsymbol{w}^\mathrm{T}\boldsymbol{x} - r\frac{||\boldsymbol{w}||^2}{||\boldsymbol{w}||} + b &= 0\\ \boldsymbol{w}^\mathrm{T}\boldsymbol{x} + b &= r\frac{||\boldsymbol{w}||^2}{||\boldsymbol{w}||}\\ \end{aligned}\]

即得

\[r = \frac{\boldsymbol{w}^\mathrm{T}\boldsymbol{x} + b}{||\boldsymbol{w}||} \]

由於距離是大於等於 \(0\) 的, 所以結果再加上絕對值

\[r = \frac{\left|\boldsymbol{w}^\mathrm{T}\boldsymbol{x} + b\right|}{||\boldsymbol{w}||}\tag{6.2} \]

6.2

  試使用 \(\mathrm{LIBSVM}\) , 在西瓜數據集 \(3.0\alpha\) 上分別用線性核和高斯核訓練一個 \(\mathrm{SVM}\) , 並比較其支持向量的差別.

  《機器學習》西瓜書 第 6 章 編程實例

6.3

  選擇兩個 \(\mathrm{UCI}\) 數據集, 分別用線性核和高斯核訓練一個 \(\mathrm{SVM}\) , 並與 \(\mathrm{BP}\) 神經網絡和 \(\mathrm{C4.5}\) 決策樹進行實驗比較.

  《機器學習》西瓜書 第 6 章 編程實例

6.4

  試討論線性判別分析與線性核支持向量機在何種條件下等價.

  線性判別分析能夠解決 \(n\) 分類問題, 而 \(\mathrm{SVM}\) 只能解決二分類問題, 如果要解決 \(n\) 分類問題要通過 \(\mathrm{OvR(One\ vs\ Rest)}\) 來迂回解決.
  線性判別分析能將數據以同類樣例間低方差和不同樣例中心之間大間隔來投射到一條直線上, 但是如果樣本線性不可分, 那么線性判別分析就不能有效進行, 支持向量機也是.
  綜上, 等價的條件是:

  1. 數據有且僅有 2 種, 也就是說問題是二分類問題.
  2. 數據是線性可分的.

6.5

  試述高斯核 \(\mathrm{SVM}\)\(\mathrm{RBF}\) 神經網絡之間的聯系.

  實際上都利用了核技巧, 將原來的數據映射到一個更高維的空間使其變得線性可分.

6.6

  試析 \(\mathrm{SVM}\) 對噪聲敏感的原因.

  \(\mathrm{SVM}\) 的特性就是 "支持向量" . 即線性超平面只由少數 "支持向量" 所決定. 若噪聲成為了某個 "支持向量" —— 這是非常有可能的. 那么對整個分類的影響是巨大的. 反觀對率回歸, 其線性超平面由所有數據共同決定, 因此一點噪聲並無法對決策平面造成太大影響.

6.7

  試給出試 \((6,52)\) 的完整 \(\mathrm{KKT}\) 條件.

\(\mathrm{KKT}\) 條件:

\[\begin{cases} \xi_i \geqslant 0\\ \hat{\xi}_i \geqslant 0\\ f(\boldsymbol{x}_i) - y_i - \epsilon - \xi_i \leqslant 0\\ y_i - f(\boldsymbol{x}_i) - y_i - \epsilon - \hat{\xi}_i \leqslant 0\\ \mu_i \geqslant 0\\ \hat{\mu}_i \geqslant 0\\ \alpha_i \geqslant 0\\ \hat{\alpha}_i \geqslant 0\\ \mu_i\xi_i = 0\\ \hat{\mu}_i\hat{\xi}_i = 0\\ \alpha_i(f(\boldsymbol{x}_i) - y_i - \epsilon - \xi_i) = 0\\ \hat{\alpha}_i(y_i - f(\boldsymbol{x}_i) - y_i - \epsilon - \hat{\xi}_i) = 0 \end{cases}\]

6.8

  以西瓜數據集 \(3.0\alpha\) 的 "密度" 為輸入, "含糖率" 為輸出, 試使用 \(\mathrm{LIBSVM}\) 訓練一個 \(\mathrm{SVR}\).

  《機器學習》西瓜書 第 6 章 編程實例

6.9

  試使用核技巧推廣對率回歸, 產生 "核對率回歸" .

  可以發現, 如果使用対率損失函數 \(\ell_{log}\) 來代替式 \((6.29)\) 中的 \(0/1\) 損失函數, 則幾乎就得到了対率回歸模型 \((3.27)\) .

  我們根據原文, 將損失函數換成 \(\ell_{log}\), 再使用核技巧, 就能實現 "核対率回歸" .

6.10*

  試設計一個能顯著減少 \(\mathrm{SVM}\) 中支持向量的數目而不顯著降低泛化性能的方法.
  可以將一些冗余的支持向量去除到只剩必要的支持向量. 比如在二維平面, 只需要 \(3\) 個支持向量就可以表達一個支持向量機, 所以我們將支持向量去除到只剩 \(3\) 個.
更廣泛的情況是, 若是 \(n\) 維平面, 那么只需要 \(n + 1\) 個支持向量就能表達一個支持向量機.

資料推薦


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM