劉忠寶,趙文娟
(1.中北大學電子與計算機科學技術學院,山西太原 030051;2.山西大學商務學院信息學院,山西太原 030031)
基于Matlab仿真的模式分類實驗研究
劉忠寶1,趙文娟2
(1.中北大學電子與計算機科學技術學院,山西太原 030051;2.山西大學商務學院信息學院,山西太原 030031)
模式識別逐步成為高校本科生和研究生的主干課程,模式分類實驗越來越受到重視。以目前廣泛的模式分類方法——支持向量機為例,通過Matlab仿真,對模式分類實驗方法進行探討與研究。該實驗有助于學生進一步理解模式分類的工作原理,為后續相關內容的學習奠定堅實的基礎。人工數據集和標準數據集上的實驗表明,支持向量機能較好地完成分類任務。
模式分類;Matlab仿真;支持向量機
模式分類是數據挖掘、機器學習和模式識別的重要方法之一,目前已廣泛應用于字符識別、計算機輔助診斷、語音識別、簽名認證、地學分析、文件檢索等領域。模式分類利用計算機來模擬人類對信息的分析處理能力,使計算機能夠識別已有知識、獲取新知識并不斷改善性能,實現自身完善[1-2]。模式分類的目的是在已有數據的基礎上利用某種分類方法構造一組分類規則,對未知數據類型進行預測[3]。模式分類可分為線性方法和非線性方法。線性方法通過模擬人腦的感知和學習能力來揭露數據間的內在關系;非線性方法通過將線性不可分的數據,以非線性映射方式映射到新的特征空間,使得數據在新空間中線性可分。
相對于其他高級語言,Matalb[4]適用于對數據編輯、整理、統計分析以及圖表的繪制,具有簡單、易讀、易學的特點。Matalb的數據處理能力和操作簡易性越來越為人所接受。因此,本文以支持向量機(support vector machine,SVM)為例對模式分類實驗方法進行探討與研究。學生在學習模式分類基本原理后,通過Matalb構建合適的算法,在分析人工數據集和標準數據集實驗結果的基礎上,加深對模式分類工作原理的理解。
模式分類主要有信息獲取、預處理、特征提取與選擇、分類器設計及分類決策等五大步驟。模式分類工作原理如圖1所示。
(1)信息獲取。信息獲取指利用各種傳感器把研究對象的各種信息轉化為計算機可接受的數據或符號。

圖1 模式分類工作原理圖
(2)預處理。預處理的目的是去除信息獲取中摻入的干擾和噪聲,并對各種因素造成的退化現象進行復原。
(3)特征提取。上述步驟得到的數據量一般較大。為了有效地實現分類,應對原始數據進行選擇或映射,得到最能反映分類本質的特征,此過程即為特征提取。特征提取不僅減少了處理時間,而且提高了分類效率。
(4)分類器設計。分類器設計的目的是把待識別的模式分配到相應類別中。基本做法是:對一定量的樣本進行訓練得到某個判別準則。
(5)分類決策。分類決策的出發點是分類器。分類器按照判別準則將待識別模式進行類屬判別。
在模式分類中,步驟(1)和(2)一般屬于數字信號處理和圖像處理領域研究的內容,并且與具體問題有關,步驟(3)屬于特征降維領域研究的內容,因此本文重點關注步驟(4)和(5)。
對于一個包含N個模式二類劃分問題,設給定訓練集合為

支持向量機是一種基于統計學習理論的機器學習方法[5-7]。它建立在統計學習VC維理論和結構風險最小原理基礎上,成功地將最大分類間隔思想和基于核的方法結合在一起。其幾何原理是使用2個帶有最大間隔的平行超平面,將兩類樣本盡可能地分開。設超平面方程為wTx+b=0,分類間隔為2/‖w‖,則該最優化問題線性形式可描述為

其中C為懲罰因子,它控制對錯分樣本的懲罰程度,C=0時表示線性可分,C>0時表示線性不可分;對于線性不可分或事先未知是否線性可分的情況,通過引入松弛因子ξi允許錯分樣本的存在。
最優化問題非線性形式為

其中φ(xi)表示從原始樣本空間到高維特征空間的映射。
由Lagrangian定理可將原問題轉化為如下對偶形式:

實驗環境為3GHz Pentium4CPU、1GRAM、Windows XP及Matlab7.0。實驗選取的核函數為高斯核函數:

式中δ為方差。
目前參數選擇的主流方法有:單一驗證估計、留一法、K倍交叉驗證法以及基于樣本相似度的方法等。除測試樣本外,本文將訓練樣本分為4份訓練集和1份驗證集進行5倍交叉驗證以獲取實驗參數。
參數通過網格搜索策略[8]選擇。高斯核函數的方差δ在網格搜索選取,其中ˉx為訓練樣本平均范數的平方根;懲罰因子C在網格{0.01,0.05,0.1,0.5,1,5,10}中搜索選取。
人工構造一個二維香蕉型數據集,如圖2(a)所示。該數據集兩類樣本有交叉。實驗選取高斯核函數的方差δ=1。該數據集中,第一類(Class1)有52個樣本,其中訓練樣本30個,測試樣本22個;第二類(Class2)有53個樣本,其中訓練樣本30個,測試樣本23個。SVM的實驗參數及分類結果見表1和圖2。在表1中,Accuracy(%)表示分類精度。在圖2(a)中,Class1和Class2分別表示兩類樣本;在圖2(b)中,Train1和Train2分別代表兩類的訓練樣本;Test1和Test2分別代表兩類的測試樣本;支持向量(support vectors)用SVs表示;樣本錯分點(misclassified points)用MPs表示。

表1 SVM參數選取及分類結果(人工數據集)

圖2 人工數據集及分類結果
由圖2可以看出:SVM發現的支持向量主要分布在兩類交界附近。這些支持向量對SVM分類精度影響較大,主要原因是它們直接關系到分類面的確定。由表1可以看出:SVM在上述人工數據集上具有較高的分類精度,較好地完成了模式分類任務。
實驗數據集見表2。表2中的#Total表示樣本總數,#Class1表示第一類的樣本數,#Class2表示第二類的樣本數,Dim表示樣本維數。實驗參數及分類結果見表3。

表2 實驗數據集

表3 實驗參數及分類結果
由表3可以看出:在Wine、Liver數據集上SVM的分類精度優良;在Spectf數據集上分類精度較好;在Heart、Ecoli、Glass、Pima數據集上的分類精度基本可以接受。由上述實驗得出以下結論:
(1)SVM在UCI數據集上具有較好的分類效果;
(2)分類方法均有一定的適用范圍,沒有適用于任何數據集的分類方法。
盡管SVM在實際應用中取得了理想的分類效果,但仍面臨兩大問題:大規模數據分類問題和抗噪問題。為了解決上述問題,需對傳統SVM進行相應改進。
(1)針對大規模數據分類問題,引入核心向量機(core vector machine,CVM)[9]。Tsang等人提出的核心向量機把QP問題的求解轉化為最小包含球問題,并使用一個逼近率為(1+ε)的近似算法得到核心集。該核心集規模遠小于原始樣本規模,通過對該核心集訓練可得到理想的分類效果。此外,核心集規模僅與參數ε有關,與樣本數及樣本維數無關。該結論從理論上保證CVM適用于大規模樣本分類問題。因此,通過建立SVM與CVM之間的關系,將SVM的適用范圍從中小規模數據擴展到大規模數據。
(2)針對抗噪問題,引入模糊理論。模糊理論是一種處理不精確性和不確定性信息的理論工具。采用模糊技術進行模式識別時,某特征屬于某集合的程度由0與1之間的隸屬度來描述。把一個具體的元素映射到一個合適的隸屬度由隸屬度函數實現[10-11]。因此,在SVM中引入隸屬度函數,以提高SVM的抗噪能力。
模式識別逐步成為高校本科生和研究生的主干課程,而模式分類實驗越來越受到重視。鑒于Matlab在數據編輯、整理、統計分析以及圖表繪制方面的優勢,本文在Matlab基礎上,以SVM為例,對模式分類實驗方法進行了探討和研究。人工數據集和標準數據集上的實驗表明,SVM能較好地完成模式分類任務。本文提出的實驗方法有助于學生進一步理解模式分類的工作原理,為后續學習奠定堅實的基礎。
(References)
[1]王玨,周志華,周傲英.機器學習及其應用[M].北京:清華大學出版社,2006.
[2]徐勇,張大鵬,楊健.模式識別中的核方法及其應用[M].北京:國防工業出版社,2002.
[3]劉紅巖,陳劍,陳國青.數據挖掘中的數據分類算法綜述[J].清華大學學報:自然科學版,2002,42(6):727-730.
[4]劉衛國.MATLAB程序設計與應用[M].北京:高等教育出版社,2006.
[5]Vapnik V.The nature of statistical learning theory[M].New York:Springer-Verlag,1995.
[6]鄧乃揚,田英杰.支持向量機:理論、算法與拓展[M].北京:科學出版社,2009.
[7]Pal M,Foody G M.Feature selection for classification of hyper spectral data by SVM[J].IEEE Trans on Geoscience and Remote Sensing,2010,48(5):2297-2307.
[8]Muller K R,Mika S.An introduction to kernel-based learning algorithms[J].IEEE Trans on Neural Networks,2001,12(1):181-201.
[9]Tsang I W,Kwok J T,Cheung P M.Core vector machines:fast svm training on very large data sets[J].Journal of Machine Learning Research,2005(6):363-392.
[10]Lin C F,Wan S D.Fuzzy support vector machines[J].IEEE Trans on Neural Networks,2002,13(2):464-471.
[11]孫名松,高慶國,王宣丹.基于雙隸屬度模糊支持向量機的郵件過濾[J].計算機工程與應用,2010,46(2):93-95.
Research on pattern classification experiments based on Matlab simulation
Liu Zhongbao1,Zhao Wenjuan2
(1.School of Electronics and Computer Science Technology,North University of China,Taiyuan 030051,China;2.School of Information,Business College,Shanxi University,Taiyuan 030031,China)
Pattern recognition gradually becomes a major course of undergraduates and postgraduates,and the researchers are paying more and more attention to pattern classification experiments.Taking a widely-used classification method,i.e.,Support Vector Machine(SVM)as an example,pattern classification experiments based on Matlab simulation are discussed.The experiments proposed enable students further to understand the working principle of pattern classification and lay foundation for further study.Experiments on man-made and UCI datasets show that the SVM is effective and it can complete the classification task.
pattern classification;Matlab simulation;support vector machine(SVM)
TP391.4-33
A
1002-4956(2013)03-0092-04
2012-06-08
江蘇省自然科學基金(BK2009067)
劉忠寶(1981—),男,山西太谷,博士,CCF會員(E200015757M),主要研究領域為機器學習、信息檢索.
E-mail:liu_zhongbao@hotmail.com