在介紹支持向量機(Support Vector Machine,SVM)算法之前,本文先向大家介紹SVM算法的理論基礎——統計學習理論的一些主要知識,希望對大家理解SVM算法有所幫助。
統計學習理論
統計方法是從事物的外在數量上的表現去推斷該事物可能的規律性,即從觀測自然現象或者專門安排的實驗所得到的數據去推斷該事物可能的規律性。
傳統統計學研究的是樣本數目趨於無窮大時的漸近理論,即當樣本趨於無窮多時的統計性質,比如,當試驗次數趨於無窮大時,頻率≈概率。但在實際問題中,樣本數目往往是有限的。
統計學習理論(Statistical Learning Theory,SLT) ,它為有限樣本的機器學習問題建立了一個良好的理論框架,較好地解決了小樣本、非線性、高維數和局部極小點等實際問題。即統計學習理論是小樣本統計估計和預測學習的最佳數學理論。
統計學習理論是支持向量機理論發展的基礎。
經驗風險和結構風險
預測與問題真實解之間的累積誤差就叫做風險。
在進行機器學習任務時,我們往往都是通過從訓練樣本集中訓練得到一個模型,然後再用這個模型來進行預測。
訓練誤差:
設定一個訓練誤差來表示模型對訓練樣本集的擬合程度,即模型在訓練樣本集上的性能表現。
一般誤差:
雖然訓練誤差對模型的性能評估具有一定的參考價值,但實際上,我們並不關心模型對訓練樣本集的預測有多麼準確。我們更關心的是使用之前訓練得到的模型對一個全新的數據集進行測試時,模型性能表現如何,由此產生的誤差稱作一般誤差。因此,要求我們的模型需要具備一定的泛化能力,即能夠在新的數據集上保持較好的預測性能。
可以證明,訓練誤差是一般誤差的一個很好的估計,當樣本數量很大時,訓練誤差接近於一般誤差。
但是由於樣本有限,模型在訓練樣本集上的訓練誤差(經驗風險)較小,但是在新數據集上的一般誤差(期望風險)可能會很大,因為可能會出現過擬合的情況。
神經網絡中經常出現的過擬合問題就是經驗風險最小化原則失敗的一個典型例子,所以後來才會考慮在模型中加入一個衡量模型複雜度的正則化項。
經驗風險最小化(Empiried Risk Minization,ERM)
理解為,由一般誤差引起的損失,即認為模型在已知訓練樣本集上的誤差越小,經驗風險越小,模型越好。
結構風險最小化(Structural Risk Minimization)
理解為,在原有的優化目標上(一般誤差最小),加入模型的複雜度這一優化目標。使得模型能夠保證在訓練樣本集上的性能(經驗風險越小)的同時,降低模型的 VC 維,從而提高機器學習模型的泛化能力,使得模型的期望風險得到控制。
模型越複雜其在訓練樣本集上的表現越好,但是其泛化能力可能會變差,因此結構風險最小化就是模型在訓練樣本集上的精確度和模型的複雜度之間的一個權衡。
函數集的VC維
對於一個指示函數(即只有0和1兩種取值的函數)集,如果存在h個樣本能夠被函數集裡的函數按照所有可能的2^h種形式分開,則稱函數集能夠把h個樣本打散,函數集的VC維就是能夠打散的最大樣本數目h。
一般而言,模型的VC維越大,學習能力就越強,但模型也就越複雜。
n維實數空間中線性分類器和線性實函數集的VC維是n+1
比如,2維空間中線性分類器的VC維是3。因為當h=4的時候,不存在一條直線能夠把如圖中的兩個紅點和兩個白點分開,因此對於線性分類器,h最大是3,即線性分類器的VC維是3。