【正文】
其具體實現(xiàn)是通過核函數(shù)( , ) ( ) ( )i j i jk x x x x????來實現(xiàn)的。 徑向量核函數(shù):選 用下列核函數(shù) 22( , ) e x p { | | / }iiK x x x x ?? ? ?,構(gòu)造的支持向量機的判別函數(shù)為: 2 2 *1( ) s g n { e x p { | | / } }niiif x a x x b??? ? ? ?? 其中, s 個支持矢量 ix 可確定徑向基函數(shù)的中心位置, s 是中心的數(shù)目。但是接下來,看看 SVM在線性分類器上所做的重大改進 —— 核函數(shù)。那么 w是誰決定的?顯然是你給的樣本決定的,一旦你在空間中給出了那些個樣本點,三條直線的位置實際上就唯一確定了(因為我們求的是最優(yōu)的那三條,當(dāng)然是唯一的),我們解優(yōu)化問題的過程也只不過是把這個確定了的東西算出來而已。 因為我們實際上并不知道該怎么解一個帶約束的優(yōu)化問題。 約束條件用函數(shù) c來表示,你可以看出一共有 p+q個約束條件,其中 p 個是不等式約束, q個等式約束。之所以采用這種形式,是因為后面的求解過程會對目標(biāo)函數(shù)作一系列變換。 之所以如此關(guān)心幾何間隔這個東西,是因為幾何間隔與樣本的誤分次數(shù)間存在關(guān)系:誤分次數(shù)的上界由幾何間隔決定?。ó?dāng)然,是樣本已知的時候) 。 在進行文本分類的時候,我們可以讓計算機這樣來看待我們提供 給它的訓(xùn)練樣本,每一個樣本由一個向量(就是那些文本特征所組成的向量)和一個標(biāo)記(標(biāo)示出這個樣本屬于哪個類別)組成。若 g(xi)0,就判別為類別 C1,若 g(xi)0,則判別為類別 C2(等于的時候我們就拒絕判斷,呵呵)。 高維模式識別是指樣本維數(shù)很高,例如文本的向量表示,如果沒有經(jīng)過另一系列文章(《文本分類入門》)中提到過的降維處理,出現(xiàn)幾萬維的情況很正常,其他算法基本就沒有能力應(yīng)付了, SVM卻可以,主要是因為 SVM 產(chǎn)生的分類器很簡潔,用到的樣本信息很少(僅僅用到那些稱之為“支持向量”的樣本,此為后話),使得即 使樣本維數(shù)很高,也不會給存儲和計算帶來大麻煩。 置信風(fēng)險與兩個量有關(guān),一是樣本數(shù)量,顯然給定的樣本數(shù)量越大,我們的學(xué)習(xí)結(jié)果越有可能正確,此時置信風(fēng)險越??;二是分類函數(shù)的 VC維,顯然 VC維越大,推廣能力越差,置信風(fēng)險會變大。我們選擇了一個假設(shè)之后(更直觀點說,我們得到了一個分類器以后),真實誤差無從得知,但我們可以用某些可以掌握的量來逼近它。 統(tǒng)計學(xué)習(xí)理論是一種專門研究小樣本情況下機器學(xué)習(xí)規(guī)律的理論,其主要內(nèi)容包括以下四個方面: 經(jīng)驗風(fēng)險最小化準(zhǔn)則下統(tǒng)計學(xué)習(xí)一致性的條件 在這些條件下關(guān)于統(tǒng)計學(xué)習(xí)方法推廣性的界的結(jié)論 在這些界的基礎(chǔ)上建立的小樣本歸納推理準(zhǔn)則 實現(xiàn)新的準(zhǔn)則的實際方法 二、 前期知識 : SVM的背景簡介 支持向量機 (Support Vector Machine)是 Cortes和 Vapnik于 1995年首先提出的,它在解決小樣本、非線性及高維模式識別中表現(xiàn)出許多特有的優(yōu)勢,并能夠推廣應(yīng)用到函數(shù)擬合等其他機器學(xué)習(xí)問題中。 既然真實模型不知道,那么我們選擇的假設(shè)與問題真實解之間究竟有多大差距,我們就沒法得知?;仡^看看經(jīng)驗風(fēng)險最小化原則我們就會發(fā)現(xiàn),此原則適用的大前提是經(jīng)驗風(fēng)險要確實能夠逼近真實風(fēng)險才行(行話叫一致),但實際上能逼近么?答案是不能,因為樣本數(shù)相對于現(xiàn)實世界要分類的文本數(shù)來說簡直九牛一毛,經(jīng)驗風(fēng)險最小化原則只在這占很小比例的樣本上做到?jīng)]有誤差,當(dāng)然不能保證在更大比例的真實文本上也沒有誤差。 小樣本,并不是說樣本的絕對數(shù)量少(實際上,對任何算法來說,更多的樣本幾乎總是能帶來更好的效果),而是說與問題的復(fù)雜度比起來, SVM 算法要求的樣本數(shù)是相對比較少的。一般的,如果一個線性函數(shù)能夠?qū)颖就耆_的分開,就稱這些數(shù)據(jù)是線性可分的,否則稱為非線性可分的。此時就牽涉到一個問題,對同一個問題存在多個分類函數(shù)的時候,哪一個函數(shù)更好呢?顯然必須要先找一個指標(biāo)來量化 “好 ”的程度,通常使用的都是叫做 “分類間隔 ”的指標(biāo)。 當(dāng)用歸一化的 w 和 b 代替原值之后的間隔有一個專門的名稱,叫做幾何間隔,幾何間隔所表示的正是點到超平面的 歐氏距離,我們下面就簡稱幾何間隔為“距離 ”。 而凡是求一個函數(shù)的最小值(或最大值)的問題都可以稱為尋優(yōu)問題(也叫作一個規(guī)劃問題),又由于找最大值的問題總可以通過加一個負(fù)號變?yōu)檎易钚≈档膯栴},因此我們下面討論的時候都針對找最小值的過程來進行。我們前文提到過把間隔固定為 1,這是指把所有樣本點中間隔最小的那一點的間隔定為 1(這也是集合的間隔的定義,有點繞嘴),也就意味著集合中的其他點間隔都不會小于 1,按照間隔的定義,滿足這些條件就相當(dāng)于讓下面的式子總是成立: yi[(w 回頭再來看我們線性分類器問題的描述,可以看出更多的東西。 求這樣的 g(x)的過程就是求 w(一個 n 維向量)和 b(一個實數(shù))兩個參數(shù)的過程(但實際上只需要求 w,求得以后找某些樣本點代入就可以求得 b)。其實以上式子的那一堆拉格朗日乘子中,只有很少的一部分不等于 0(不等于 0才對 w起決定作用),這部分不等于 0的拉格朗日乘子后面所乘的樣本點,其實都落在 H1 和 H2上,也正是這部分樣本 (而不需要全部樣本)唯一的確定了分類函數(shù),當(dāng)然,更嚴(yán)格的說,這些樣本的一部分就可以確定,因為例如確定一條直線,只需要兩個點就可以,即便有三五個都落在上面,我們也不是全都需要。這個矩陣也稱為核矩陣,用 K表示。再根據(jù) KKT 條件,得到 **1**11* * * **( ) 0 0 1 , ,( ) 0 ( )li i i iilli i i i i iii