1. 程式人生 > >SVM拓展和SVR支援向量迴歸

SVM拓展和SVR支援向量迴歸

軟間隔

在建立SVM模型時,假定正負樣本是線性可分的。但是,實際有些時候,樣本不是完全線性可分的,會出現交錯的情況,例如下圖。

這時,如果採用以下模型

m i n

w , b { 1 2 w 2 2
} , s u b j e c t   t o y i
( w T x i + b ) 1

可能就沒有可行解。針對這種情況,允許某些樣本不滿足約束 y i ( w T x i + b ) 1 , 但是在最大化間隔的同時,不滿足約束的樣本應儘可能少,優化目標可以寫為:

(4-1) m i n w , b 1 2 w 2 + C i = 1 m l 0 / 1 ( y i ( w T x i + b ) 1 )

其中 l 0 / 1 是0/1損失函式,

L 0 / 1 ( z ) = { 1 if z<0 0 otherwise
從(4-1)可以看到,當C為無窮大時,所有樣本必須滿足約束 y i ( w T x i + b ) 1 才可行。當C取有限值時,允許一些樣本不滿足約束。

l 0 / 1 非凸非連續,數學性質不好,因此常用其他函式替代,稱為替代損失函式(surrogate loss function)。一些常用的替代損失函式有:

hinge損失: l h i n g e ( z ) = m a x ( 0 , 1 z )

指數損失exponential loss: l e x p ( z ) = e x p ( z )

對率損失 logistic loss: l l o g ( z ) = l o g ( 1 + e x p ( z ) )

如果採用hinge損失,則(4-1)變為:

(4-2) m i n w , b 1 2 w 2 + C i = 1 m m a x ( 0 , 1 y i ( w T x i + b ) )

引入鬆弛變數 ξ i (也叫容忍度),C為引數,需要根據經驗調整。可以得到