機器學習技法06:支持向量迴歸(Support Vector Regression)


本文是機器學習技法系列文章的第六篇。介紹了支持向量迴歸的推導過程。



Support Vector Regression

上一節課講了KLR,如果想要把SVM這類稀疏的模型用在 soft classification 問題上,可以使用兩階段學習的方式,先用SVM求解最佳的參數 w,bw,b,然後作爲LR(Linear Regression)的初始化參數,進一步求解。或者通過representor theorem的方法,即將 ww 用一系列的 zz 表示,將其轉換爲 Kernel 的形式再求解。本節課介紹更一般地Kernel Regression情形。


6.1 Kernel Ridge Regression

在這裏插入圖片描述
上一節課,介紹了representor theorem,即何時可以將最佳的權重向量 ww_* 表示成一系列 znz_n 的線性組合。如果處理的是含有正則化的線性模型,則最好的 ww_*znz_n 的線性組合,並且可以通過反證法證明。 也就是說,人任何包含L2正則化的線性模型,都可以把它變爲Kernel的形式。本節課探討,如何把迴歸轉換爲Kernel的形式。

對於線性迴歸,其損失函數爲:

err(y,wTz)=(ywTz)2err(y,w^Tz) = (y − w^Tz)^2

如果加入正則化項,則變爲 嶺迴歸(Ridge Regression)

在線性迴歸和嶺迴歸模型中是有解析解(Analytic Solution)的。我們希望引入Kernel的這兩類迴歸模型也可以有解析解。其推導過程如下:
在這裏插入圖片描述
在這裏插入圖片描述
即將最佳的權重向量 ww_* 的表示形式代入目標函數,轉化爲求解最佳的的 β\beta,並用向量形式表示。有了這種轉化,就可以把原來學過的迴歸算法中應用Kernel,諸如Polynomial和Gaussian Kernel 就都可以使用了。現在,問題變爲如何求解最佳的參數 β\beta
在這裏插入圖片描述
仔細看上式,不難發現,其實就是一個 β\beta 的二次多項式。因爲是一個無條件的最優化問題,所以可用梯度下降算法求解。

上式中,KK 是Kernel算出來的結果,是一個對稱矩陣(KT=KK^T=K),爲了方便公式推導,記爲 KTK^T,爲了之後方便討論,添加一個 identity matrix II,最夠得到公式:

Eaug(β)==2NKT((λI+K)βy)∇E_{aug}(β)==\frac{2}{N}K^T((λI + K)β − y)
在這裏插入圖片描述
現在令梯度等於零,則可得到解析解。一個可用的 Kernel KK 一定是半正定的,再加上一個單位矩陣 II ,一定是可逆的。要求解這個方程,計算複雜度約爲 O(N3)O(N^3) ,並且 Kernel 中的參數大部分不爲零,上一節課推導過程中,將最佳的權重向量ww_*分解爲了垂直和平行向量相加的形式,所以只有當兩個向量垂直時,β\beta 的分量纔會爲零。所以求解比較困難。通過上式,求出的 β\beta 就是嶺迴歸算法在 zz 空間最佳的解。

理論上,現在就可以求解非線性迴歸。下面比較一下,嶺迴歸和帶Kernel的嶺迴歸算法。
在這裏插入圖片描述
通過以上對比可以看出linear與kernel的差別。使用linear的缺點是受到很多限制,只能處理線性可分的情況,對於非線性的輸入空間,則無法處理的很好;使用kernel,則不會有過多的限制,可以處理更多的問題。如果僅考慮計算複雜度,linear適用於樣本數量 NN 遠大於特徵空間維度 dd 的情況;如果使用Kernel,則所有計算都與樣本數量 NN 相關,當樣本數量增大時,需要重新審視是否使用kernel。

對於linear來說,關注點在更關注控制複雜度還是更關注控制效率。如果要計算更加複雜的情況,則可能需要使用kernel。使用kernel的優點是可以對複雜的輸出空間進行建模,並且不容易過擬合,但是需要花費較多的訓練時長。


習題1:
在這裏插入圖片描述


6.2 Support Vector Regression Primal

有了Kernel Ridge Regression之後,也可以向Linear Regression一樣,用在做分類任務。這種方法通常叫做least-squares SVM(LSSVM)。下面對比一下兩類分類算法:
在這裏插入圖片描述
只看分隔超平面好像沒有什麼區別,但是如果看支持向量(圖中方框框起來的樣本點)會發現,使用Gaussian Kernel的 LSSVM 的分類結果中,幾乎每一個樣本點那都是支持向量,這遠遠多於 Soft-Margin Gaussian SVM,爲什麼會這樣呢?原因是求解 KK 時,其中很多的 β\beta 分量不爲零。支持向量多意味着未來使用假設函數做預測時,靠的是每一個Kernel 乘上 β\beta ,然後算出分數,也就是說,支持向量多,預測的時候要花費更多的時間。

LSSVM和kernel LogReg算法求解出的參數β\beta 是稠密的,即很多不是零;標準的SVM算法通過KKT條件求出的參數 α\alpha 是稀疏的,即只有少數不爲零,這樣就可以降低算法複雜度,提高訓練和預測速度。現在,考慮嘗試找出結果是稀疏的迴歸模型,類似 Soft-Margin SVM 的形式。

考慮一個新的問題 tube regression,引入中立區的概念,也就是超平面與margin之間的區域。
在這裏插入圖片描述
圖中,藍色線表示超平面,陰影部分表示兩個margin的區域(中立區)。期望輸出與預測輸出的距離減去在中立區的部分,也就是紅色線段表示的誤差error。落在中立區的部分不算誤差,落在中立區之外的纔算誤差。這與之前學過的折葉損失函數很像,這種做法使得可以與有稀疏解的SVM聯繫起來。接下來進行推導,得到稀疏的解。
在這裏插入圖片描述
對比這兩類算法的誤差函數曲線可知,squared error 在兩側趨向無窮時,增長得很快,表示容易受到噪聲的影響,容易爲了減少誤差而做出比較複雜的分隔超平面,從而導致過擬合;而tube error增長得相對較緩。下面看L2-Regularized Tube Regression問題:
在這裏插入圖片描述
通過對比兩種算法可知,RTR是無條件約束最優化問題,理論上可以使用無約束的優化方法求解,但是跟之前的SVM推導一樣,存在max函數,導致不一定可微分;而標準的SVM轉化爲二次規劃問題求解。那麼如何轉化爲帶Kernel的求解呢?RTR可以使用representer theorem 求解,但是沒辦法保證求解結果就是稀疏的的解;而標準的SVM,通過二次規劃求解,有KKT條件限制,可以直接得到稀疏的解。現在,想辦法將RTR轉換爲SVM的形式再求解。
在這裏插入圖片描述
由上式可知,引入了參數 CCϵ\epsilonbb。現在回顧SVM的求解方法,擴展到RTR:
在這裏插入圖片描述
這就得到了Support Vector Regression (SVR) 的初始形式,即由minimize regularizer + (upper tube violations ξnξ^∧_n & lower violations ξnξ^∨_n)兩部分組成。此時目標函數變爲了有條件約束的最優化問題:
在這裏插入圖片描述
其參數說明如下:
在這裏插入圖片描述
參數 CC 表示更注重正則項還是更注重最小化分類錯誤樣本點的誤差。ϵ\epsilon 表示中立區的寬度,即對錯誤的容忍程度。該參數是SVR獨有的參數。然後通過二次規劃求解,將求解變量變爲 d~+1+2N\tilde{d}+1+2N ,限制條件變爲 2N+2N2N+2N

下一步想推導SVM算法一樣,想辦法消除 zz 空間中特徵維度 d~\tilde{d} 的影響。


習題3:
在這裏插入圖片描述


6.3 Support Vector Regression Dual

與推導SVM一樣,要消除 d~\tilde{d} 的影響,需要轉化爲朗格朗日對偶問題求解。首先引入兩個拉格朗日乘子 α\alpha^∧αα^∨,然後經過推導可以將這兩個拉格朗日乘子暗含到 ξn\xi^∨_n 中,從而得到:
在這裏插入圖片描述
其KKT條件爲:
在這裏插入圖片描述
以上兩式就是SVR鬆弛條件。其實,SVM primal與SVM dual的參數是對應的,可以直接從SVR primal推導出SVR dual形式。
在這裏插入圖片描述
更具鬆弛條件求解得:
在這裏插入圖片描述
由此可以得到,分佈在中立區(tube)內的點,βn=0\beta_n=0;在中立區之外的點,βn0\beta_n \neq 0 。此時,得到SVR的解就是稀疏解。


習題3:
在這裏插入圖片描述


6.4 Summary of Kernel Models

至此,本課程中所有帶Kernel的模型已經講解完畢。下面做一個總結,首先回顧線性模型,主要有:

  • PLA/pocket
  • Linear Ridge Regression
  • Regularized Logistic Regression
  • Linear Soft-Margin SVM
  • Linear SVR
    在這裏插入圖片描述

帶 Kernel 的模型主要有:
在這裏插入圖片描述
常用的方法是:

  • SVM
  • SVR
  • probabilistic SVM

在這裏插入圖片描述


習題4:
在這裏插入圖片描述


Summary

本節課介紹了Support Vector Regression(SVR),問題的切入點是把原來學過的 嶺迴歸(Ridge Regression)變爲kernel的形式,然後可以使用representer theorem來實現,但是結果不一定是稀疏的。所以,通過tube regression error入手,導出了QP問題以及對偶問題,證明了其結果是稀疏的。最後總結了所學的模型以及如何選擇。

下一節課開始學習集成學習模型。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章