1. 程式人生 > >【機器學習】最小二乘法支援向量機LSSVM的數學原理與Python實現

【機器學習】最小二乘法支援向量機LSSVM的數學原理與Python實現

【機器學習】最小二乘法支援向量機LSSVM的數學原理與Python實現

一、LSSVM數學原理

1. 感知機

SVM是從感知機發展而來。假設有m個訓練樣本 {

( x i , y
i
)
}
i = 1
m \left\{ {\left. {\left( {{x_i},{y_i}} \right)} \right\}} \right._{i = 1}^m , y i { 1 , 1 } {y_i} \in \left\{ {1, - 1} \right\} x i R n {x_i} \in {R^n} 表示n維的訓練樣本輸入向量。我們企圖找到分隔超平面 W X + b = 0 WX + b = 0 能夠分隔正負樣本。
感知機直接將誤分類的樣本到分隔超平面之間的距離作為損失函式。在感知機模型求解過程中,分隔超平面權重W和偏差b的初始值選擇不同,求出最終的分隔超平面是不同的。這就引出了SVM的模型訓練思想:使得離分隔超平面最近的樣本與分隔超平面的距離最遠。下面介紹函式間隔與幾何間隔的含義:

2. SVM

  • 函式間隔:
    對於訓練集中的一個樣本 ( x i , y i ) \left( {{x_i},{y_i}} \right) ,其函式間隔為 r i = y i ( W x i + b ) { r_i} = {y_i}(W \cdot {x_i} + b)
    訓練集的函式間隔等於所有樣本點的函式間隔的最小值: r = min i = 1 , m r i r = \mathop {\min }\limits_{i = 1, \cdots m} {r_i}
    函式間隔只能表示分類預測的正確性,不能表示樣本到分隔超平面的準確距離。

  • 幾何距離
    對於訓練集中的一個樣本 ( x i , y i ) \left( {{x_i},{y_i}} \right) ,其函式間隔為 R i = y i 1 W ( W x i + b ) {R_i} = {y_i} \cdot \frac{1}{{\left\| W \right\|}}\left( {W \cdot {x_i} + b} \right)
    訓練集的函式間隔等於所有樣本點的函式間隔的最小值: R = min i = 1 , m R i R = \mathop {\min }\limits_{i = 1, \cdots m} {R_i}
    幾何間隔不但可以表示分類預測的正確性還能準確地表示樣本到分隔超平面的距離。

SVM的優化問題轉化為最大化訓練樣本的幾何距離:

max W , b r W s . t . y i ( W x i + b ) r , i = 1 , 2 , m \begin{array}{l}\mathop {\max }\limits_{W,b} \frac{r}{{\left\| W \right\|}}\\s.t.{y_i}\left( {W \cdot {x_i} + b} \right) \ge r,i = 1,2, \cdots m\end{array}

函式間隔的取值不會影響最優問題的解,將訓練樣本的函式間隔取值為1,上述問題轉化為

min W , b 1 2 W 2 s . t . y i ( W x i + b ) 1 , i = 1 , 2 , m \begin{array}{l} \mathop {\min }\limits_{W,b} \frac{1}{2}{\left\| W \right\|^2}\\s.t.{y_i}\left( {W \cdot {x_i} + b} \right) \ge 1,i = 1,2, \cdots m\end{array}

由此可知SVM的優化問題是一個帶有分等式約束的QP(Quadratic Programming)問題,其具體求解過程比較複雜,可參考【1,2】。

3. LSSVM

LSSVM將SVM優化問題的非等式約束用等式約束替換。具體形式如下:

min W , b 1 2 W 2 s . t . y i ( W x i + b ) = 1 , i = 1 , 2 , m \begin{array}{l} \mathop {\min }\limits_{W,b} \frac{1}{2}{\left\| W \right\|^2}\\ s.t.{y_i}\left( {W \cdot {x_i} + b} \right) = 1,i = 1,2, \cdots m \end{array}

為了解決存在部分特異點的情況,給每一個樣本引入誤差變數 e i {e_i} ,並在原始函式中加入誤差變數的L2正則項。這樣LSSVM的優化問題就轉化為

min W , b 1 2 W 2 + λ 2 i = 1 m e i 2 s . t . y i ( W