svm小议
???
| 3.5.1 線性可分條件下的支持向量機最優(yōu)分界面 Vapnik等人在多年研究統(tǒng)計學(xué)習(xí)理論基礎(chǔ)上對線性分類器提出了另一種設(shè)計最佳準(zhǔn)則。其原理也從線性可分說起,然后擴展到線性不可分的情況。甚至擴展到使用非線性函數(shù)中去,這種分類器被稱為支持向量機(Support Vector Machine,簡稱SVM)。支持向量機的提出有很深的理論背景。但我們只就支持向量機的最淺顯原理進行討論。因此本章所說的SVM設(shè)計的思路只是我們對它一種通俗化的理解。 支持向量機方法是在近年來提出的一種新方法。 在學(xué)習(xí)這種方法時,首先要弄清楚這種方法考慮問題的特點,這就要從線性可分的最簡單情況討論起,在沒有弄懂其原理之前,不要急于學(xué)習(xí)線性不可分等較復(fù)雜的情況,支持向量機在設(shè)計時,需要用到條件極值問題的求解,因此需用拉格朗日乘子理論,但對多數(shù)人來說,以前學(xué)到的或常用的是約束條件為等式表示的方式,但在此要用到以不等式作為必須滿足的條件,此時我們只要了解拉格朗日理論的有關(guān)結(jié)論就行。 |
圖3.28 |
| SVM的思路是這樣的,由于兩類別訓(xùn)練樣本線性可分,因此在兩個類別的樣本集之間存在一個隔離帶。對一個二維空間的問題我們用圖3.28表示。其中用圈和交叉符號分別表示第一類和第二類訓(xùn)練樣本,H是將兩類分開的分界面,而H1與H2與H平行,H是其平分面,H1上的樣本是第一類樣本到H最近距離的點,H2的點則是第二類樣本距H的最近點,由于這兩種樣本點很特殊,處在隔離帶的邊緣上,因此用再附加一個圈表示。這些點稱為支持向量,它們決定了這個隔離帶。 從圖上可以看出能把兩類分開的分界面并不止H這一個,如果略改變H的方向,則根據(jù)H1、H2與H平行這一條件,H1、 H2的方向也隨之改變,這樣一來,H1與H2之間的間隔(兩條平行線的垂直距離)會發(fā)生改變。顯然使H1與H2之間間隔最大的分界面H是最合理的選擇,因此最大間隔準(zhǔn)則就是支持向量機的最佳準(zhǔn)則。為了將這個準(zhǔn)則具體化,需要用數(shù)學(xué)式子表達。為了方便,我們將訓(xùn)練樣本集表示成{ xi,yi },i=1,…,N,其中xi為d維向量也就是我們常說的特征向量,而yi∈{-1,+1},即用yi是+1或-1表示其類別。對于分界面H表示成 (3-80) 并且令 (3-81) 對在H1與H2平面上的點,上兩式取等號。上兩式也可合并成 (3-82) 顯然H1平面到坐標(biāo)原點的距離為 ,而H2則為 ,故H1到H2的間隔為 ,即與成反比。因此欲達到 Vapnik提出的使間隔最大的準(zhǔn)則,則應(yīng)使最小,而(3-82)則是它必須遵守的約束條件,可改寫成大于零的不等式, (3-83) 對于這樣一個帶約束條件為不等式的條件極值問題,需要引用擴展的拉格朗日乘子理論,按這個理論構(gòu)造拉格朗日函數(shù)的原則為:目標(biāo)函數(shù)(在此為最小,為了方便用最小)減去用拉格朗日乘子(乘子值必須不小于0)與約束條件函數(shù)的乘積,在我們討論的問題中可寫成 (3-84), 由于(3-84)中的目標(biāo)函數(shù)是二次函數(shù),而約束條件中為線性函數(shù),按拉格朗日理論該問題存在唯一解,根據(jù)研究擴展的拉格朗日理論的 Kuhn與Tucker等人的研究,表明以下是該唯一解的充分必要條件: (3-85) (3-86) 以及 (3-87) (3-88) (3-89) (3-87)和(3-88)表明,只有滿足條件的點,其拉格朗日乘子才可能不為零; 而對滿足的樣本數(shù)據(jù)來說,其拉格朗日乘子必須為零,顯然只有部分(經(jīng)常是少量)的樣本數(shù)據(jù)的ai不為零,而線性分界面的權(quán)向量W則是這些ai不為零的樣本數(shù)據(jù)的線性組合,ai不為零的樣本數(shù)據(jù)也因而被稱為支持向量。 到此為止,我們可再回顧一下線性可分條件下的支持向量機方法說了些什么。 |
圖3.29 |
| 如果知道哪些數(shù)據(jù)是支持向量,哪些不是,則問題就簡單了。問題在于哪些數(shù)據(jù)是支持向量事先并不能確定,因此這只有通過求(3-84)式的極大值來求解。 從(3-85)可以看出,只要最佳的ai求得(表示成),則 |
?
?接觸支持向量機(SVM)也有一年多了,由于之前沒有學(xué)習(xí)過這方面的東西,學(xué)校也沒開之類課程,所以學(xué)習(xí)起來非常困難。之間經(jīng)歷了不少,有迷茫(能不能拿下),有無奈(看理論就像讀天書)、沒有人指點、沒有人幫助,一度時期都快要放棄,像瘋了一樣的尋找資料,很是著急。不過幸運的是當(dāng)初沒有真的放棄!
?最近幾個月,一直忙于遙感方面的事,就把SVM放了一下,今天上網(wǎng),在瀏覽一些論壇的時候,發(fā)現(xiàn)有許多SVM人正在經(jīng)受和我一樣的過去
!看著那些求助的留言,心里沉沉為了讓大家少一點痛苦,我就把我的一點小小的看法也算一點建議吧寫出來,希望能起一點作用!如果你要勇敢的走下去,就要做好準(zhǔn)備,一個是要啃一下統(tǒng)計學(xué)習(xí)理論,二一個的要補習(xí)一下英文,三一個要學(xué)習(xí)C或MATLAB語言。
先介紹一下SVM:
支持矢量機(support vector machine 簡 SVM)其實是一種統(tǒng)計學(xué)習(xí)方用于模式識別、回歸估計及密度估計。它是在統(tǒng)計學(xué)習(xí)理論(Statistical Learning Theory, Vapink,1995)的基礎(chǔ)上發(fā)展起來的一種專門解決小樣本學(xué)習(xí)規(guī)律的學(xué)習(xí)方法。
與其他傳統(tǒng)的學(xué)習(xí)方法(如模式識別,神經(jīng)網(wǎng)絡(luò)等)相比它有
一、它基于結(jié)構(gòu)風(fēng)險最小化原則,
這樣就避免了過學(xué)習(xí)問題,泛化能力強。
二、它是一個凸優(yōu)化問題,因此局部最優(yōu)解一定是全局最優(yōu)解的優(yōu)點。
因此,許多學(xué)者認(rèn)為,SVM正在成為繼神經(jīng)網(wǎng)絡(luò)之后在人工智能界的又一個新的研究熱點。
其實大多數(shù)的應(yīng)用在分類,聚類(classifaction),回歸(regressiong)兩個方面,也有做數(shù)據(jù)挖掘的!
我這里有一些關(guān)于統(tǒng)計學(xué)習(xí)理論的一些資料和SVM學(xué)習(xí)軟件(LS-SVM、SPIDER、C_SVM、LIBSVM、GINI-SVM等),及應(yīng)用實例。
支持向量機,這個名字非常得怪異,直到我看了相關(guān)得文獻,才知道,原來這種工具將其中最重要的一些數(shù)據(jù)定義為了支持向量,然后就給其取名支持向量機。支持向量機誕生沒有多久,也就十幾歲吧,先在正茁壯地成長著。我學(xué)它,就是因為大家現(xiàn)在都很關(guān)心它。
下面來點專業(yè)的。
SVM解決了分類問題,線性可分自不必說。在線性不可分情況下,利用一個余量。在非線性情況下,利用核函數(shù),將低維非線性轉(zhuǎn)化為高位線性問題。在解決SVM問題時,就是要求出分類函數(shù)。其實就是一些系數(shù)而已。
?
1.???? 支持向量機的關(guān)鍵技術(shù)是什么?
答: 支持向量機性能的優(yōu)劣主要取決于核函數(shù)的選取,所以對于一個實際問題而言,如何根據(jù)實際的數(shù)據(jù)模型選擇合適的核函數(shù)從而構(gòu)造SVM算法.目前比較成熟的核函數(shù)及其參數(shù)的選擇都是人為的,根據(jù)經(jīng)驗來選取的,帶有一定的隨意性.在不同的問題領(lǐng)域,核函數(shù)應(yīng)當(dāng)具有不同的形式和參數(shù),所以在選取時候應(yīng)該將領(lǐng)域知識引入進來,但是目前還沒有好的方法來解決核函數(shù)的選取問題.
2.???? 支持向量機的優(yōu)缺點?
答:優(yōu)點:SVM理論提供了一種避開高維空間的復(fù)雜性,直接用此空間的內(nèi)積函數(shù)(既是核函數(shù)),再利用在線性可分的情況下的求解方法直接求解對應(yīng)的高維空間的決策問題.當(dāng)核函數(shù)已知,可以簡化高維空間問題的求解難度.同時SVM是基于小樣本統(tǒng)計理論的基礎(chǔ)上的,這符合機器學(xué)習(xí)的目的.而且支持向量機比神經(jīng)網(wǎng)絡(luò)具有較好的泛化推廣能力.
?? 缺點:對于每個高維空間在此空間的映射F,如何確定F也就是核函數(shù),現(xiàn)在還沒有合適的方法,所以對于一般的問題,SVM只是把高維空間的復(fù)雜性的困難轉(zhuǎn)為了求核函數(shù)的困難.而且即使確定核函數(shù)以后,在求解問題分類時,要求解函數(shù)的二次規(guī)劃,這就需要大量的存儲空間.這也是SVM的一個問題.
3.???? 支持向量機的主要應(yīng)用和研究的熱點?
答:目前支持向量機主要應(yīng)用在模式識別領(lǐng)域中的文本識別,中文分類,人臉識別等;同時也應(yīng)用到許多的工程技術(shù)和信息過濾等方面.
當(dāng)前研究的熱點主要是對支持向量機中算法的優(yōu)化,包括解決SVM中二次規(guī)劃求解問題,對大規(guī)模SVM的求解問題,對SVM中QP問題的求解問題等.另外就是如何更好的構(gòu)造基于SVM的多類分類器,如何提高SVM的歸納能力和分類速度等.如何根據(jù)實際問題確定核函數(shù)也是一個重要的研究熱點.
總結(jié)
- 上一篇: 关于地理信息系统(GIS)的几个问题
- 下一篇: MyLiveSearch:它将会革掉Go