天天看點

13 SVM - SVR(回歸問題的SVM)

12 SVM - SMO - 初始β變量的選擇、總結

十七、SVR 回歸問題的SVM

SVM和決策樹一樣,可以将模型直接應用到回歸問題中;在SVM的分類模型(SVC)中,目标函數和限制條件如下:

在簡單的線性回歸當中,我們最小化一個正則化的誤差函數:

為了得到稀疏解,__二次誤差函數__被替換為一個 __ε-不敏感誤差函數__(ε-insensitive error function)。

如果預測值hθ(x(i)) 與實際值y(i)之間的差小于ε, 這個誤差函數給出的誤差為0,ε-不敏感誤差函數可以寫為如下形式:

解釋: 如果 |真實值-預測值| 的誤差在一個區域内(ε) ,則認為沒有誤差。即目前預測損失值為0;

在不敏感區域之外,會有一個與誤差相關的線性代價:

紅色圖像 是ε-不敏感誤差函數,斜率=正負1;

綠色圖像 是最小二乘法損失函數,即誤差的平方和函數;

于是我們最小化正則化的誤差函數,寫為一般形式:

與SVM中的軟間隔一樣,通過引入松弛變量的方式,我們可以重新表達最優化問題。

對于每個資料點xi ,我們現在需要兩個松弛變量ζi≥0 和ζ^i≥0 ,其中:

ζi>0 對應于 yi > hθ(x(i)) + ε 的資料點;

ζ^i>0 對應于 yi < hθ(x(i)) - ε 的資料點;

目标點位于hθ(x(i)) - ε ≤ yi ≤ hθ(x(i)) + ε 管道内的條件是 ,隻要松弛變量不為0即可。

對應的條件變為了:

這樣,SVR回歸的誤差函數就可以寫成:

通過幾何意義來幫助了解上述概念:

1、預測值 hθ(x(i))是紅色的線,粉紅色的區域是由__不敏感誤差ε__構成的緩沖區。我們認為當預測值藍點落在__不敏感誤差ε__構成的粉色緩沖區時,沒有損失。

2、__松弛變量ζ__是預測值到緩沖區域上邊界的距離,__松弛變量ζ^__是預測值到緩沖區域下邊界的距離。

3、我們希望預測值落在緩沖區内部(即上面說的管道),這樣損失為0。

4、如果__不敏感誤差ε=0__,那麼緩沖區就隻有 hθ(x(i))這條紅線了,ε=0表示不允許預測存在錯誤的緩沖區。

加入松弛因子ξ>0,進而我們的目标函數和限制條件變成:

構造拉格朗日函數:

原始函數:

轉化為對偶函數:

首先來求優化函數對于w、b、ξ的極小值,通過求導可得:

将w、b、ξ的值帶入函數L中,就可以将L轉換為隻包含β的函數,進而我們可以得到最終的優化目标函數為下面的式子:

__PS:__對于β的求解照樣可以使用SMO算法來求解;

14 - SVM - 代碼案例

繼續閱讀