1. 程式人生 > >SVM 的推導、特點、優缺點、多分類問題及應用

SVM 的推導、特點、優缺點、多分類問題及應用

SVM有如下主要幾個特點:

(1)  非線性對映是SVM方法的理論基礎,SVM利用內積核函式代替向高維空間的非線性對映;

(2)  對特徵空間劃分的最優超平面是SVM的目標,最大化分類邊際的思想是SVM方法的核心;

(3)  支援向量是SVM的訓練結果,在SVM分類決策中起決定作用的是支援向量。

(4)  SVM 是一種有堅實理論基礎的新穎的小樣本學習方法。它基本上不涉及概率測度及大數定律等,因此不同於現有的統計方法。從本質上看,它避開了從歸納到演繹的傳統過程,實現了高效的從訓練樣本到預報樣本的“轉導推理”,大大簡化了通常的分類和迴歸等問題。

(5)  SVM 的最終決策函式只由少數的支援向量所確定,計算的複雜性取決於支援向量的數目,而不是樣本空間的維數,這在某種意義上避免了“維數災難”。

(6)  少數支援向量決定了最終結果,這不但可以幫助我們抓住關鍵樣本、“剔除”大量冗餘樣本,而且註定了該方法不但演算法簡單,而且具有較好的“魯棒”性。這種“魯棒”性主要體現在: 

        ①增、刪非支援向量樣本對模型沒有影響;

        ②支援向量樣本集具有一定的魯棒性;

        ③有些成功的應用中,SVM 方法對核的選取不敏感

(7)  SVM學習問題可以表示為凸優化問題,因此可以利用已知的有效演算法發現目標函式的全域性最小值。而其他分類方法(如基於規則的分類器和人工神經網路)都採用一種基於貪心學習的策略來搜尋假設空間,這種方法一般只能獲得區域性最優解。

(8)  SVM通過最大化決策邊界的邊緣來控制模型的能力。儘管如此,使用者必須提供其他引數,如使用核函式型別和引入鬆弛變數等。

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

(10)  它基於結構風險最小化原則,這樣就避免了過學習問題,泛化能力強。

(11)  它是一個凸優化問題,因此區域性最優解一定是全域性最優解的優點。

(12)  泛華錯誤率低,分類速度快,結果易解釋

不足之處:

(1) SVM演算法對大規模訓練樣本難以實施

        SVM的空間消耗主要是儲存訓練樣本和核矩陣,由於SVM是藉助二次規劃來求解支援向量,而求解二次規劃將涉及m階矩陣的計算(m為樣本的個數),當m數目很大時該矩陣的儲存和計算將耗費大量的機器記憶體和運算時間。針對以上問題的主要改進有有J.Platt的SMO演算法、T.Joachims的SVM、C.J.C.Burges等的PCGC、張學工的CSVM以及O.L.Mangasarian等的SOR演算法。

        如果資料量很大,SVM的訓練時間就會比較長,如垃圾郵件的分類檢測,沒有使用SVM分類器,而是使用了簡單的naive bayes分類器,或者是使用邏輯迴歸模型分類。

(2) 用SVM解決多分類問題存在困難

        經典的支援向量機演算法只給出了二類分類的演算法,而在資料探勘的實際應用中,一般要解決多類的分類問題。可以通過多個二類支援向量機的組合來解決。主要有一對多組合模式、一對一組合模式和SVM決策樹;再就是通過構造多個分類器的組合來解決。主要原理是克服SVM固有的缺點,結合其他演算法的優勢,解決多類問題的分類精度。如:與粗集理論結合,形成一種優勢互補的多類問題的組合分類器。

(3)對缺失資料敏感,對引數和核函式的選擇敏感

        支援向量機效能的優劣主要取決於核函式的選取,所以對於一個實際問題而言,如何根據實際的資料模型選擇合適的核函式從而構造SVM演算法.目前比較成熟的核函式及其引數的選擇都是人為的,根據經驗來選取的,帶有一定的隨意性.在不同的問題領域,核函式應當具有不同的形式和引數,所以在選取時候應該將領域知識引入進來,但是目前還沒有好的方法來解決核函式的選取問題.

支援向量機的主要應用和研究的熱點

        目前支援向量機主要應用在模式識別領域中的文字識別,中文分類,人臉識別等;同時也應用到許多的工程技術和資訊過濾等方面.

        當前研究的熱點主要是對支援向量機中演算法的優化,包括解決SVM中二次規劃求解問題,對大規模SVM的求解問題,對SVM中QP問題的求解問題等.另外就是如何更好的構造基於SVM的多類分類器,如何提高SVM的歸納能力和分類速度等.如何根據實際問題確定核函式也是一個重要的研究熱點.