1. 程式人生 > >機器學習之支援向量機迴歸(機器學習技法)

機器學習之支援向量機迴歸(機器學習技法)

核函式山脊迴歸

Represent Theorem

表達理論就是指如果一個模型是帶有L2正則化的線性模型,那麼它在最佳化的時候的權重引數值W*將能夠用Z空間的資料的線性組合來表示。它的推論就是L2的正則化線性模型能夠核函式化如下圖所示:

現在我們的目標就是用核函式的方式去解決迴歸問題,而且希望像解決普通線性迴歸問題一樣得到一個一步登天的解。

核函式山脊迴歸問題

山脊迴歸問題是一個典型的帶有L2正則化的問題,再加上Represent Theorem我們可以得到如下結果:

在上圖中我們將W*的表示式帶到迴歸問題中,並且將計算的結果進行向量化。現在我們的問題可以當做是一個β的線性模型,只要就出β的最優解就能得到最優的W向量。特別的我們現在能夠使用核函式的方法去解決這個問題了。

解決核函式山脊迴歸

有關於β的山脊迴歸問題是一個無條件的最佳化問題,它是一個二次式。解決迴歸問題我們的思路就是選擇梯度為0的點就會得到迴歸問題的最優解:

①在梯度等於0時我們會得到最優的β的表示式。這個表示式中的反矩陣肯定存在,因為K矩陣(Kernel矩陣也就是核函式矩陣)必定是一個半正定的矩陣。

②在時間複雜度上面我們會花去O(N³),而且在反矩陣中大多數地方都不是0,因為Kernel矩陣的大多數地方就不是0。這給計算上帶來一些麻煩。

正是因為核函式的存在我們可以輕易地做非線性的迴歸問題。

線性山脊迴歸與核函式山脊迴歸

兩種模型均有自己的優缺點:

線性山脊迴歸

優點:簡單高效能夠預防一些過擬合,在資料量大的時候更容易計算。

缺點:自由度較低不容易做出較複雜的模型。

核函式山脊迴歸

優點:因為有Kernel矩陣的存在自由度較高能做複雜的模型,在資料量較小的時候計算複雜度小。

缺點:在資料量較大的時候會承受較大的運算量。

標準支援向量迴歸

軟間隔SVM與最小二乘法SVM

下圖為兩種SVM分割出來的邊界示意圖:

與軟間隔支援向量機相比最小二乘SVM(LSSVM)使用到的支援向量過多(非0的β過多),在預測的時候就會用到過多的支援向量使得計算量很大。我們的希望是能夠得到像標準SVM的稀疏β減少計算量。

管迴歸

為了得到稀疏的β我們使用了一種新的錯誤衡量,直覺的表示如下圖:


在上圖座標系中的迴歸錯誤還是以前的平方錯誤,不同的是在管子(圖中藍色的區域)內部的平方錯誤我們忽略不計,在管子外部我們只計算與管子邊界的平方錯誤。這樣我們增大了模型的容錯度,具體的錯誤衡量如上圖。

管迴歸與平方迴歸

如上圖所示在err/s曲線圖中,紅色的曲線為平方迴歸,藍色的線為管迴歸。在s離對稱軸比較近的地方兩個曲線的值很相近,在s離對稱軸越遠時平方迴歸err的變化率很大,但是管迴歸的err變化相對平方迴歸較慢。這樣帶來的好處是即使一個點離我們的模型邊界較遠我們也不會認為它有太大的錯誤,這樣我們也就可能不會過於遷就一些噪音了從而減少了過擬合的危險。

L2正則化的管迴歸

我們希望通過解決像軟間隔SVM的問題來得到稀疏的解所以我們使用了L2的正則化的管迴歸:

①管迴歸問題是一個無條件的問題但是max(.)函式是一個在某些點不可微分的函式。

②我們可以使用representer理論去解決這個問題但是得到的解不一定是稀疏的。

③我們知道在標準的SVM的問題中在KKT條件下的解就是稀疏的解。

④所以我們想辦法將這個正則化問題轉換為想標準SVM的問題去得到稀疏的解。

要像軟間隔SVM支援向量機去解決這個問題我們首先引入變數ξ當做是犯錯誤的值,然後將條件轉換成線性的我們就能夠使用二次規劃的工具去得到稀疏的解了。

其中在將絕對值條件轉換為線性條件的時候我們分別將在管上方的錯誤與下方的錯誤分別給予變數改為了不等式鏈如下圖所示:

轉換後的演算法我們稱之為標準的支援向量迴歸的原始問題SVR。

SVR的二次規劃

在這個二次規劃問題中有如下的注意點:

①引數C的大小代表著我們的不同側重,C越大代表我們更想要大的容錯度這樣會達到一個正則化的效果(不被離得遠的雜訊所過度的干擾),C越小我們會盡可能的去迎合每一個點這樣可能總的平方錯誤會減少但是有可能會過擬合。

②引數ε代表管的寬度。

③我們的變數個數有d(W的各個維度)+2N(兩個ξ的累加)+1(b),約束個數有2N(不等式鏈)+ 2N(兩種ξ的分別約束)。

SVR的對偶問題

用KKT條件去解決拉格朗日對偶問題

在這個問題中拉格朗日乘子有兩個α^與α∨,根據KKT條件w的偏導數與b的偏導數等於0和complementary slackness得到上式。

由於原始的SVM問題與原始的SVR問題長得很像所以他們的對偶問題也有很高的相似度如下圖所示:

上圖左是SVM的對偶問題,右為SVR的對偶問題其中顏色相同的有相同的地位。現在我們就可以使用類似的二次規劃程式去解決它。(能夠解決SVM問題的程式同樣能夠套用到SVR上面)

SVR稀疏的解

我們繼續使用KKT條件中的complementary slackness,我們選取管迴歸中管內的點進行一些些推導:

在管內的資料他們的拉格朗日乘子都為0,根據Represent Theorem可知對應的β也為0。這樣落在管內的資料就都不是支援向量所有的支援向量都在管的外部這樣的話我們就得到了稀疏的解β從而大大的減少了運算量。