1. 程式人生 > >機器學習----支援向量機(軟間隔與正則化)

機器學習----支援向量機(軟間隔與正則化)

Soft Margin

前面的假設一直都是線性可分,可是如果對所有樣本不能線性可分(比如有noisy)怎麼辦?或者過擬合怎麼辦?

緩解該問題的一個方法就是允許支援向量機在一些樣本上出錯,為此引入軟間隔(soft margin)這個概念。即允許在一些樣本上出錯,可以有些樣本不滿足:

yi(θTxi+b)1
所以優化目標寫成:
minθ,b12||θ||2+Ci=1p0/1(yi(θTxi+b)1)
其中C>0是個常數,0/1是“0/1損失函式”。0/1(z)在z小於0時候為1,其餘為0.

然而0/1非凸,非連續,數學性質不好,常用其他函式替代。如

  • hinge損失:hinge
    (z)=max(0,1z)
  • 指數損失(exponential loss):exp(z)=exp(z)
  • 對率損失(logistic loss):log(1+expz)

若採用hinge loss,則✿變成:

minθ,b12||θ||2+Ci=1pmax(0,1(yi(θTxi+b))
引入“鬆弛變數”ξ0,重寫成:
minθ,b,ξi12||θ||2+C1pξis.t.yi(θTxi+b)1ξiξi0,i=1,2,...,p
這就是常用的“軟間隔支援向量機”。求解過程略。

Regularization

我們把✿寫成一般的形式:

minfΩ(f)+C
i=1p
(f(xi),yi)

其實這是機器學習的一個通式,整個統計機器學習都是在玩這個。是logistic loss就是logistic迴歸,是hinge loss就是SVM。我們把pi=1(f(xi),yi)叫做“經驗風險”(empirical risk),用於描述模型與訓練資料的切合程度。
Ω(f)叫做“結構風險”(structural risk),用與描述模型f的某些性質,一般成為正則化項,表述我們希望獲得具有何種性質的模型(例如希望獲得複雜度較小的模型),這為引入領域知識和使用者意圖提供了途徑。C稱為正則化常數,平衡結構風險和經驗風險。Lp 範數是常用的正則化項,其中L2
範數傾向與θ的分量取值儘量均衡,即非零分量個數儘量稠密,而L0L1範數則傾向於θ的分量儘量稀疏,即非零個數儘量少。