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的歸納能力和分類速度等.如何根據實際問題確定核函數也是一個重要的研究熱點.
