日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

林轩田之机器学习课程笔记( embedding numerous feature之support vector regression)(32之22)

發布時間:2024/1/8 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 林轩田之机器学习课程笔记( embedding numerous feature之support vector regression)(32之22) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

  • 概要
  • 帶核函數的嶺回歸
  • 支持向量回歸原問題
  • 支持向量回歸的對偶問題
  • 核函數模型總結

歡迎轉載,可以關注博客:http://blog.csdn.net/cqy_chen
題目可能不全,因為有字數限制,不好意思,可以參考:
https://www.csie.ntu.edu.tw/~htlin/course/ml15fall/

概要

上節講到了kernel版本的邏輯回歸,同時證明了L2的邏輯回歸和soft-margin的SVM差不多是一樣的。本節講解將核函數用在回歸之中。

帶核函數的嶺回歸

對于任意的帶有L2的線性函數都可以得到 w=Nn=1βnzn 這樣的形式,在前面一講已經證明了,同時計算了帶kernel版本的邏輯回歸。
再來看看線性回歸,帶L2的線性回歸如何做到帶kernel的。
回顧下:

minwλNwTw+1Nn=1Nerr(yn,wTzn)
而ridge的線性回歸的損失函數是:
err(y,wTz)=(y?wTz)2
所以假設得到了w的最佳解為: w?=Nn=1βnzn 帶入得到:
=minwλNn=1Nm=1NβnβmzTnzm+1Nn=1N(y?m=1NβmzTmzn)2=minwλNn=1Nm=1Nβnβmk(xn,xm)+1Nn=1N(y?m=1Nβmk(xn,xm))2=minwλNβTKβ+1N||y?Kβ||2=minwλNβTKβ+1N(βTKTKβ?2βTkTy+yTy)
所以我們只需要求解這個 β 足矣。
這個直接求解梯度就好了。
?E(β)=2N(λkTIβ+kTkβ?kTy)=2NkT((λ+K)β?y)
所以令這個梯度為0得到:
β=(λ+K)?1y
這個是一定存在的,因為 K 是半正定的,而λ>0
對比下線性回歸和kernel版本的線性回歸如下圖:

kernel版本帶來更大的空間選擇,但是付出的代價也是蠻大的。
1)當數據量比較大的時候,且 N>>d ,最好用線性的回歸
2)當數據量不算很大的時候,可以使用kernel版本。

所以有利也有弊,要想更好的去擬合,需要付出計算的復雜度。

支持向量回歸原問題

我們知道可以使用線性回歸去求解分類問題,可以參考:
http://blog.csdn.net/cqy_chen/article/details/78908160
當然ridge的線性回歸也可以去求解分類問題,所以采用kernel版本的嶺回歸更可以了。
我們將采用kernel版本的嶺回歸稱為:LSSVM(最小二乘SVM)。
為啥稱之為SVM呢,而不是回歸呢?哈哈哈,可以參考
https://www.cnblogs.com/v-July-v/archive/2012/06/01/2539022.html
因為LSSVM是將原來的條件改成了等式,放到了SVM上面就和回歸一個模樣了。

對比下高斯的SVM和LSSVM如下;

可以看到就支持向量而言,soft-margin的高斯SVM的支持向量遠遠少于LSSVM,因為LSSVM是個回歸啊。
兩者的邊界貌似差不多,如果就性能而言沒啥好挑選的,但是如果上線的話,由于SVM的支持向量比較少,這樣計算更快,而LSSVM支持向量太多,so,這個時候一般會選擇SVM來使用。
那有木有啥辦法減少LSSVM的支持向量的個數?

我們首先來看一個例子:

在上圖中,如果我們不考慮陰影內部的點的錯誤,只考慮外面點的錯誤,這樣就得到了tube 的回歸。
其損失函數如下:

這樣就減少了點的數量,參數的個數自然就降下來了。
對比下tube的regression和原始的regression:

他們的損失函數如下:

可以看到在一定范圍內,兩者差不多的。但是越往兩邊走,采用平方的回歸問題的損失更大,這樣就更容易受到噪音的影響。所以從這方面看tube的回歸還是不錯的。
目標函數如下:

minwλNwTw+1Nn=1Nmax(0,|wTzn?y|??)
如何求解呢?這個和我們以前的soft-margin的SVM不是一樣的形式嗎?
可以參考: http://blog.csdn.net/cqy_chen/article/details/78938739
可以參考以前的公式:
minw12wTw+Cn=1Nξns.t:yn(wTzn+b)1?ξn,ξn0
將tube的回歸改寫成SVM的樣子,這里將正則化項修改成固定參數1/2便于和SVM保持一致,同時將w也修改了成了w和b的形式。

minw,b12wTw+Cn=1Nmax(0,|wTzn+b?y|??)
對比上面SVM的處理辦法。將上面進行了轉換,得到:

最后得到標準的原問題,我們稱這個是SVR,支持向量回歸。

這里轉換的時候稍微啰嗦兩句,我們將 ξnξnξn 看成原始點和預測點的差異,在tube的回歸問題中,差距是在外面,而在SVM中差距是在里面。

這樣就轉換成了一個標準的QP問題,就可以采用熟悉的技術來搞定了,共計有 d?+1+2N 個參數,有4N個限制條件。
同理,如果維度比較小的話可以直接采用QP問題去求解,如果通過高維度的kernel轉換則需要采用對偶的方式去求解,比如高斯kernel。

支持向量回歸的對偶問題

ok上面說到了SVR的形式,那么對于高維的映射還是要采用對偶的問題,那么對偶形式如何呢?該如何求解呢?可以再去慢慢推導,這里就不寫了,參考:http://blog.csdn.net/cqy_chen/article/details/78938739求解。
首先設定拉格朗日乘子是: αα 得到:

最后對比原始的SVM和SVR的結果:

切記:SVM是用于分類,SVR是用于回歸,之所以選用SVR作為回歸就是可以通過一個隔離帶減少支持向量的個數從而達到預測和計算的時間開銷。

這也是為啥要使用SVR替代嶺回歸
那么我們可以看看到底SVR是否是參數稀疏的,其實這個想都不用想,因為在隔離帶內的數據錯誤都歸0,導致這些點都不參與計算了,掰著腳趾頭都知道這個回歸方程只是用了隔離帶外的點,而w是可以用資料點表示的,點少了,那w計算當然就便宜了。這里還是展示下:

所以采用SVR解決了嶺回歸中的參數密集問題。

核函數模型總結

這里將以前學習到的模型進行總結:
線性模型:

在kernel版本的模型:

這里大致說一說:

1)PLA用的少,雖然是神經網絡以及SVM的鼻祖,但是表現不咋好,假設空間可以看出。 2)線性的SVR用的也少,因為表現也不好,因為我們知道SVR是只采用了隔離帶以外的數據進行計算,雖然稀疏了,但是點少了。表現不佳。 3)線性soft-margin的SVM在數據量少的情況還是可以的,數據量大SVM就不好使了。 4)線性的嶺回歸還是不錯的,在但是這個回歸會有參數稠密問題,所以會對比嶺回歸還是lasso的回歸。 5)正則化的邏輯回歸,這個是經常使用的。結合bagging的方式6666)kernel版本的嶺回歸,因為參數稠密上面我們也介紹了,只要帶有kernel肯定計算量要上來,你還不是稀疏的,讓人怎么活 7)kernel的邏輯回歸,和kernel版本的嶺回歸一個道理 8)kernel版本的SVM/SVR/problistic SVM用的多,但是計算量都有的。

所以在使用模型的時候要考慮模型是否可以達到精度要求,還有就是計算量的問題。

歡迎轉載,可以關注博客:http://blog.csdn.net/cqy_chen

總結

以上是生活随笔為你收集整理的林轩田之机器学习课程笔记( embedding numerous feature之support vector regression)(32之22)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。