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