1. 程式人生 > >周志華《機器學習》課後習題解答系列(七):Ch6

周志華《機器學習》課後習題解答系列(七):Ch6

本章概要

本章講述支援向量機(Support Vector Machine,SVM),相關內容包括:

  • 支援向量分類器(SVM classifier)

支援向量(support vector)、間隔(margin)、最大間隔(maximum margin)、支援向量機(SVM)對偶問題(dual problem)、拉格朗日乘子法;

  • 核技巧(kernel trick)

特徵空間對映、高維可分、內積(inner product)、核函式(kernel function)、核矩陣(kernel matrix)半正定性、再生希爾伯特空間(RHKS)、核函式選擇、多項式核、高斯核、Sigmoid核;

  • 軟間隔(soft margin)

硬間隔、軟間隔、鬆弛變數(slack variables)、替代損失函式(surrogate loss function)、

  • 支援向量迴歸(SVR)

支援向量機的優劣總結

支援向量機模型的好處很多,這裡不做贅述,下面列出些在使用支援向量機方法時,需要注意的問題:

  1. SVM涉及到求解二次規劃,在大規模資料的訓練時會產生很大的開銷,為此常會引入一些高效演算法來應對,如採用SOM(sequential minimal optimization)來加速二次優化問題求解;

課後練習

6.1 公式推導

這裡寫圖片描述

這裡寫圖片描述

6.2 不同核函式對應的支援向量差別分析

這裡寫圖片描述

6.3 SVM與BP網路、C4.5決策樹等的對比實驗

這裡寫圖片描述

6.4 線性核SVM與LDA的關聯

這裡寫圖片描述

這裡寫圖片描述

考慮到線性核SVM的輸入空間與特徵空間相同,那麼取等的條件是:

這裡寫圖片描述

這說明兩者生成的超平面相同,此時等效。

6.5 高斯核SVM與RBF網路的關聯

這裡寫圖片描述

兩種方法均採用徑向基函式(RBF)如下:

  • SVM的超平面表示為:

這裡寫圖片描述

  • RBF網路表示為:

這裡寫圖片描述

  • SVM的分類器表示為:

這裡寫圖片描述

  • RBF網路分類器表示為:

這裡寫圖片描述

對於兩個分類器,SVM的表示式多出了偏置項,同時其係數項 ω 只與支援向量有關;RBF網路的係數項 ω 與由輸入樣本訓練得到,但是對於非支援向量對應的樣本,其 ω數值相對非常小。

6.6 SVM對噪聲的敏感分析

這裡寫圖片描述

SVM的決策邊界(超平面)是由支援向量所確定的,即是利用相對較少的資料特徵來學得整個資料的特性。由於支援向量相對較少,其上的噪聲會對超平面的確定產生相對較大的影響。

6.7 KKT條件推導

這裡寫圖片描述

參考書中附錄公式B.3,KKT條件即拉格朗日函式在對引數進行偏導取0計算後,為求得最優解,乘子和約束必須滿足其中之一為0的條件。

要獲取式(6.52)的完整KKT條件,只需將式(6.47~6.50)代入該式即可。

6.8 SVR實驗

這裡寫圖片描述

基於python-sklearn工具包,線上性核和高斯核下的SVR擬合如下圖示:

這裡寫圖片描述

可以看出,由於資料自變數與因變數間關係隨機性較強,採用SVR擬合效果不佳,(高斯核SVR的支援向量少一些);

6.9 核對率迴歸模型設計

這裡寫圖片描述

關於核對率迴歸(KLR),可參考書p132中關於 log 損失函式下SVM與LR的比較,也可參考臺大林軒田-機器學習技法中關於KLR的slide。

簡要說明如下:
這裡寫圖片描述

6.10 SVM改進設計

這裡寫圖片描述

支援向量的規模與SVM計算速度息息相關,在不影響模型效能的情況下減少支援向量數目,能有效提高SVM效率。為此,一些稀鬆演算法如 1-norm SVM, Lp-SVM, 自適應Lp-SVM 被提出,給出兩篇參考文獻如下: