支援向量機回歸(svr)是支援向量機在回歸問題上的應用模型。支援向量機回歸模型基於不同的損失函式產生了很多變種。本文僅介紹基於ϵ
\epsilon
ϵ不敏感損失函式的svr模型。
找到乙個分離超平面(超曲面),使得期望風險最小。
ϵ
\epsilon
ϵ-損失函式,就是當誤差小於ϵ
\epsilon
ϵ時,該誤差可忽略。反之,誤差為ξ−∣
ϵ∣\xi-|\epsilon|
ξ−∣ϵ
∣。如圖所示:
基於ϵ
\epsilon
ϵ-損失函式的svr稱為ϵ
\epsilon
ϵ-svr。
優化問題如下:
回顧最小二乘法線性回歸,目標是函式是樣本點到直線的距離平方和加上正則化項。支援向量機本質與此相同,目標函式可表示為obj
=c(∑
i=1l
(ξ+ξ
∗)+1
2cωt
ω)obj = c(\sum_^l(\xi+\xi^*) + \frac\omega^t\omega)
obj=c(
i=1∑
l(ξ
+ξ∗)
+2c1
ωtω
)即樣本點到超曲面的距離(ϵ
\epsilon
ϵ是常數項,無需考慮)加上l2正則化項。
同ν
\nuν-支援向量機分類,另設乙個引數ν
\nuν來調節支援向量的個數。
優化問題如下:
c ,ν
c,\nu
c,ν是使用者自由設定的,故直接將c/l
c/lc/
l稱為c
cc,c
νc\nu
cν稱為ν
\nuν,則最優化函式等同於:minw
,b,ξ
∗,ξ,
ϵ12w
tw+ν
ϵ+c∑
i=1l
(ξi+
ξi∗)
\min_\qquad \fracw^tw+\nu\epsilon+c\sum_^(\xi_i+\xi_i^*)
w,b,ξ∗
,ξ,ϵ
min21
wtw
+νϵ+
ci=1
∑l(
ξi+
ξi∗
)直觀地理解,支援向量就是對最終的w,b的計算起到作用的樣本(α
>
0\alpha\gt0
α>
0)。那麼根據ϵ
\epsilon
ϵ不敏感函式影象,不敏感區域形同乙個「管道"。管道之內的樣本對應α=0
\alpha=0
α=0,為非支援向量;位於「管壁」上的為邊界支援向量,0
<
α0<
α<
c,為邊界支援向量;位於「管道」之外的為非邊界支援向量,α⩾c
\alpha\geqslant c
α⩾c,為非邊界支援向量(異常點檢測時,常從非邊界支援向量中挑選異常點);
libsvm指導文件(**)
我的github
注:如有不當之處,請指正。
支援向量機(SVM) 支援向量回歸(SVR)
1 支援向量機 svm 是一種比較好的實現了結構風險最小化思想的方法。它的機器學習策略是結構風險最小化原則 為了最小化期望風險,應同時最小化經驗風險和置信範圍 支援向量機方法的基本思想 1 它是專門針對有限樣本情況的學習機器,實現的是結構風險最小化 在對給定的資料逼近的精度與逼近函式的複雜性之間尋求...
SVR支援向量回歸例子
svr軟體包的安裝 使用svr模型,得到輸入向量x x包含3個變數x1,x2,x3 到輸出向量y y只包含乙個變數 之間的對映關係,也就是計算y f x1,x2,x3 函式的f x1,x2,x3時簡單的加法運算 y x1 x2 x3 訓練個數 訓練需要的時間 秒 誤差 相關係數 100 0.0028...
回歸學習 支援向量機回歸
匯入資料 from sklearn.datasets import load boston boston load boston print boston.descr 資料分割 from sklearn.cross validation import train test split import ...