1. 程式人生 > >Regularized least-squares classification(正則化最小二乘法分類器)取代SVM

Regularized least-squares classification(正則化最小二乘法分類器)取代SVM

得出 ack 提高 kernel sys 風險 重要 ref height


在機器學習或者是模式識別其中有一種重要的分類器叫做:SVM 。這個被廣泛的應用於各個領域。可是其計算的復雜度以及訓練的速度是制約其在實時的計算機應用的主要原因。因此也非常非常多的算法被提出來。如SMO,Kernel的方法。


可是這裏要提到的 Regularized least-squares classification 是一個和他有著相同的效果的分類器。比較而言計算卻比較的簡單(We see that a Regularized Least-Squares Classification problem can be solved by solving a single system of linear
equations.)。接下來將對其進行介紹。


首先我們知道終於要求得的結果是: f(x)= <W, x> +b

策略函數:

我們還是要來看一下他的策略:結構風險最小化Function。

技術分享

通過使用kernel的方法將x 投影到希爾伯特空間(僅僅須要隱式的表示)得到的結果是:

技術分享( 這裏的alpha就是以下的c啦!)

帶入到目標函數以及簡化,我們得到終於要求的函數 f*(x

):

技術分享

這就是終於要求的結果。後面額的核函數我們能夠採用一些經常使用的核函數處理掉(比方說:高斯核(Gaussian Kernel)等)。

那怎樣來解決ci勒?


怎樣解c:


大家都知道在SVM其中採用的是合頁損失函數(hinge loss Function)。可是非常顯然這裏是平方損失函數:

技術分享

同一時候我們對於上面的f*(x)帶入到最開始的策略函數其中:

技術分享

於是我們再來通過求導。令導數等於0。解出這個方程:

技術分享

有沒有發現異常的簡單啊!


這裏要註意的是: K 是一個n*n的方陣,對於訓練來講,沒兩個樣本(投影到高維空間後)都要做內積才可以得到K。


但事實上作者也說了,能夠通過一個線性的問題來解決並不意味著它的時間復雜度和空間復雜度就小了:訓練一個Kernel的時間還是須要非常長的。同一時候也須要較大的空間來存儲下這種核:K。

可是仍舊是能夠通過一些的方法來明顯的提高它的性能的。

結果的比較:

文章中提到:It took 10,045 seconds (on a Pentium IV running at 1.5 GhZ) to train 20 one-vs-all SVMs, and only 1,309 seconds to train the equivalent RLSC classifiers. At test time, both SVM and RLSC yield a linear hyperplane, so testing times are equivalent. 足見速度能夠達到SVM的速度的9倍左右,而精度卻能夠達到相當的程度。

我們再來看一個測試的比較。下表表示的是兩種算法在兩個數據集上面的錯誤率:

技術分享

最上面的數據代表訓練的樣本數,以下書錯誤率。能夠看得出來RLS的方法還是非常好的。

Regularized least-squares classification(正則化最小二乘法分類器)取代SVM