支持向量回歸:其實支持向量也可以解決回歸問題

本文是《機器學習寶典》第 12 篇,讀完本文你能夠掌握機器學習中支持向量回歸。

線性支持向量機線性不可分支持向量機軟間隔支持向量機 中我們已經學到了如何通過支持向量機去解決分類問題,你是不想問支持向量機能不能解決回歸問題呢?答案是肯定的,使用支持向量解決回歸問題的算法叫做 支持向量回歸(support vector regression,SVR)。

SVR的損失度量

在分類問題中,支持向量機要做的就是找到一個超平面 使得軟間隔最大,在回歸問題中,模型要做的事情就是盡可能去擬合目標值

,在支持向量回歸中,我們允許容忍預測值

與真實值

之間最多有

的偏差,換句話說就是只有當預測值

與真實值

之間的偏差的絕對值大于

時才計算損失。可以看出,這與在線性回歸中當預測值

與真實值

完全相同時,誤差為 0 是不一樣的。

為了直觀理解支持向量回歸,我們看下圖,相當于以

為中心,構建了一個寬度為

的間隔帶,如果樣本在間隔帶之內,則認為預測結果沒有偏差,也就是說預測是正確的。

SVR的目標函數

知道了支持向量回歸的損失度量方式,那它的目標函數很容易就構建出來了:

其中,

是一個常數,

是“不敏感損失函數”

現在我們引入松弛變量

,由于

中考慮了絕對值,實際上是兩個不等式,也就是左右兩邊都需要松弛變量,我們定義為

,

,這樣目標函數就可以變為:

SVR對偶問題

類似的,通過引入拉格朗日乘子 

,由拉格朗日乘子法可以得到拉格朗日函數:

然后令

分別對

的偏導為 0,得:

因為存在約束

, 從而去掉變量

。然后帶入對應的對偶問題中,可以將對偶問題轉為:

對于支持向量回歸,KKT條件如下:

帶入到

中,這樣,支持向量回歸的解形式如下:

根據上面的式子以及 KKT 中的互補松弛條件可知,如果

,則該樣本不會對

有任何影響。

參考:

  1. 周志華.機器學習.第六章(支持向量機)

  2. 從零推導支持向量機(SVM)

    (https://zhuanlan.zhihu.com/p/31652569)

  3. SVM如何用于回歸分析

    (https://blog.csdn.net/wodemimashi125/article/details/81559172)

歷史推薦

人人都是數據分析師,人人都能玩轉Pandas | Numpy 精品系列教程匯總 | 我是如何入門機器學習的呢 | 谷歌機器學習43條黃金法則

 

長按,識別二維碼,加關注

免責聲明:本文僅代表文章作者的個人觀點,與本站無關。其原創性、真實性以及文中陳述文字和內容未經本站證實,對本文以及其中全部或者部分內容文字的真實性、完整性和原創性本站不作任何保證或承諾,請讀者僅作參考,并自行核實相關內容。

http://image99.pinlue.com/thumb/img_jpg/FlgksGN9DLyv0I2deRQw2SClcfMPwvBwGqEV7hsBKwDB98KY4oDy7Sx4iaibVLz8n4QmcfxjoQronDs1vVic1Noicw/0.jpeg
我要收藏
贊一個
踩一下
分享到
?
分享
評論
首頁
四川金7乐奖金设置