十七、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 - 代碼案例