從VC維和結構風險最小原理深入理解SVM

2021-07-03 07:06:02 字數 2720 閱讀 5200

支援向量機方法是建立在統計學習理論的vc 維理論和結構風險最小原理基礎上。

置信風險: 分類器對 未知樣本進行分類,得到的誤差。

經驗風險: 訓練好的分類器,對訓練樣本重新分類得到的誤差。即樣本誤差

結構風險:置信風險 + 經驗風險

結構風險最小化就是為了防止過擬合而提出來的策略,貝葉斯估計中最大後驗概率估計就是結構風險最小化的乙個例子。當模型的條件概率分布、損失函式是對數損失函式、模型複雜度由模型先驗概率表示時,結構風險最小化等價於最大後驗概率估計。監督學習問題變成經驗風險或結構風險函式的最優化問題,這時經驗風險或結構風險函式是最優化的目標函式。

svm在小樣本訓練集上能夠得到比其它演算法好很多的結果。支援向量機之所以成為目前最常用,效果最好的分類器之一,在於其優秀的泛化能力,這是是因為其本身的優化目標是結構化風險最小,而不是經驗風險最小,因此,通過margin的概念,得到對資料分布的結構化描述,因此減低了對資料規模和資料分布的要求。svm也並不是在任何場景都比其他演算法好,對於每種應用,最好嘗試多種演算法,然後評估結果。如svm在郵件分類上,還不如邏輯回歸、knn、bayes的效果好。

vc維:將n個點進行分類,如分成兩類,那麼可以有2^n種分法,即可以理解成有2^n個學習問題。若存在乙個假設h,能準確無誤地將2^n種問題進行分類。那麼這些點的數量n,就是h的vc維。 這個定義真生硬,只能先記住。乙個例項就平面上3個點的線性劃分的vc維是3. 而平面上 vc維不是4,是因為不存在4個樣本點,能被劃分成2^4 = 16種劃分法,因為對角的兩對點不能被線性劃分為兩類。更一般地,在r 維空間中,線性決策面的vc維為r+1。

置信風險的影響因素有: 訓練樣本數目和分類函式的vc維。訓練樣本數目,即樣本越多,置信風險就可以比較小;vc維越大,問題的解的種類就越多,推廣能力就越差,置信風險也就越大。因此,增加樣本數,降低vc維,才能降低置信風險。而一般的分類函式,需要提高vc維,即樣本的特徵資料量,來降低經驗風險,如多項式分類函式。如此就會導致置信風險變高,結構風險也相應變高。過度學習即overfit,就是置信風險變高的緣故。

結構風險最小化srm(structured risk minimize)就是同時考慮經驗風險與結構風險。在小樣本情況下,取得比較好的分類效果。

保證分類精度(經驗風險)的同時,降低學習機器的 vc 維,可以使學習機器在整個樣本集上的期望風險得到控制,這應該就是srm的原則。

當訓練樣本給定時,分類間隔越大,則對應的分類超平面集合的 vc 維就越小。(分類間隔的要求,對vc維的影響)

根據結構風險最小化原則,前者是保證經驗風險(經驗風險和期望風險依賴於學習機器函式族的選擇)最小,而後者使分類間隔最大,導致 vc 維最小,實際上就是使推廣性的界中的置信範圍最小,從而達到使真實風險最小。

正則化:regularization

歸一化:normalization

李航博士在其統計學習方法中寫道統計學習的三要素由模型、策略和演算法組成。在監督學習中模型即是要學習的概率分布函式或決策函式,因此模型的假設空間便包括所有可能的概率分布或決策函式。

模型的假設空間有了之後,下面的問題就是如何選擇最優的模型,選擇的準則又是什麼。這就引入了損失函式和風險函式的概念。

損失函式度量一次**的好壞。

風險函式度量平均意義下模型的好好。

在監督學習中我們從假設空間中選擇f作為我們的決策函式,那麼給乙個輸入x,我們會產生乙個輸出f(x)[分類回歸均可],模型f產生的輸出f(x)和實際輸出y會有一定的差距。我們用損失函式(loss function)或代價函式(cost function)來衡量**錯誤的程度。損失函式有很多種,例如平方損失函式(例如回歸問題用的),絕對損失函式,對數損失函式(例如logistic regression用的)

可見損失函式值越小,模型**的就越好。

當然現實世界中我們並不知道輸入輸出的概率分布是啥,不然也用不著我們去**了。我們只擁有的是一些訓練資料用做訓練集,在這個訓練集上,模型得到的平均損失稱為經驗風險(empirical risk)或經驗損失(empirical loss)。

如果樣本的數量足夠大,根據大數定理,經驗風險應該接近期望風險。因此我們可以用經驗風險來估計期望風險。因此經驗風險最小化(empirical risk minimization,erm)的的原則就是說使經驗風險最小的模型就是最優的模型。為了使經驗風險最小,可以說無所不用其極,這樣就有可能導致訓練出的模型經驗風險小,但模型複雜,導致模型泛化能力差,即在新資料上表型效能差,奧,對,專業名詞叫過擬合(overfitting)。避免過擬合的問題可以用減少features的方法,也可以用結構風險最小化(structural risk minimization, srm)。結構風險最小化等價於正則化(regularization),即在經驗風險的後面加上與模型複雜度相符的正則化項(regularizer)或懲罰項(penalty term)

lambda表示對模型複雜的懲罰。值越大,懲罰越大。在實際操作中需要權衡。

lambda=0,即不進行正則化,出現過擬合,以機器學習公開課logistic regression的圖為例:

讓lambda=1,對模型複雜度進行懲罰,分類效果與泛化能力還不錯:

懲罰過火的話,比如lambda=100,出現欠擬合(underfitting)的問題:

結構風險最小和VC維理論的解釋

基於libsvm的中文文字分類原型,雖然做了原型,但是概念還不是很清晰。支援向量機方法是建立在統計學習理論的vc 維理論和結構風險最小原理基礎上 結構化風險 結構化風險 經驗風險 置信風險 經驗風險 分類器在給定樣本上的誤差 置信風險 分類器在未知文字上分類的結果的誤差 置信風險因素 提高樣本數量,...

經驗風險 期望風險 結構風險

要區分這三個概念,需要先講一下損失函式l y,f x 的概念。損失函式 針對單個具體樣本,表示模型 值與真實樣本值之間的差距。損失函式越小,說明模型對於該樣本 越準確。常見損失函式有0 1損失函式 平方損失函式 絕對損失函式 對數損失函式 對數似然損失函式 經驗風險 對所有訓練樣本都求一次損失函式,...

期望風險 經驗風險與結構風險

在機器學習中,通常會遇到期望風險 經驗風險和結構風險這三個概念,一直不知道這三個概念之間的具體區別和聯絡,今天來梳理一下 要區分這三個概念,首先要引入乙個損失函式的概念。損失函式是期望風險 經驗風險和結構風險的基礎。損失函式是針對單個具體的樣本而言的。表示的是模型 的值與樣本真實值之間的差距。比如對...