葛廣為,王元亮
(云南財(cái)經(jīng)大學(xué)信息學(xué)院,昆明 650221)
支持向量機(jī)在心臟病數(shù)據(jù)分析中的應(yīng)用
葛廣為,王元亮
(云南財(cái)經(jīng)大學(xué)信息學(xué)院,昆明 650221)
以實(shí)際醫(yī)療數(shù)據(jù)為應(yīng)用對(duì)象,運(yùn)用支持向量機(jī)分類器進(jìn)行實(shí)驗(yàn)。并與使用K近鄰法、決策樹(shù)的結(jié)果進(jìn)行比較。結(jié)果表明支持向量機(jī)有較高的敏感度、精確度和測(cè)試準(zhǔn)確率,表明支持向量機(jī)可以應(yīng)用到醫(yī)療診斷中,給醫(yī)療機(jī)構(gòu)提供數(shù)據(jù)支持。
支持向量機(jī);分類器;心臟病診斷;交叉驗(yàn)證
支持向量機(jī)(Support Vector Machine,SVM)是由Corinna和Vapnik于1995年提出的,它在解決小樣本、非線性及高維模式識(shí)別中表現(xiàn)出許多特有的優(yōu)勢(shì),并能夠推廣應(yīng)用到函數(shù)擬合等其他機(jī)器學(xué)習(xí)問(wèn)題中[1]。支持向量機(jī)方法是建立在統(tǒng)計(jì)學(xué)習(xí)理論的VC維和結(jié)構(gòu)風(fēng)險(xiǎn)最小原理基礎(chǔ)上的,根據(jù)有限的樣本信息在模型的復(fù)雜性和學(xué)習(xí)能力之間尋找最佳折中,以期獲得最好的推廣能力[2]。
心臟病診斷過(guò)程中,由于主觀原因醫(yī)生可能會(huì)做出錯(cuò)誤的判斷。本文用支持向量機(jī)來(lái)建立模型,介紹了支持向量機(jī)的基本原理,并用心臟病診斷數(shù)據(jù)進(jìn)行了實(shí)驗(yàn)分析,實(shí)驗(yàn)結(jié)果可以為醫(yī)療診斷提供數(shù)據(jù)支持。
支持向量機(jī)使用非線性映射,把原訓(xùn)練數(shù)據(jù)映射到高維空間上,然后在高維空間尋找最佳分離超平面(即將一個(gè)類的元組于其他類分離的“決策邊界”),該超平面就把數(shù)據(jù)分為兩類。支持向量機(jī)通過(guò)支持向量(“基本”訓(xùn)練元組)和邊緣(由支持向量定義)找到該超平面。支持向量機(jī)有線性可分和非線性可分兩種情況,在這里只研究數(shù)據(jù)非線性可分的情況。
對(duì)于數(shù)據(jù)非線性可分,使用非線性映射X=ψ(x)將輸入向量x變換到高維空間中,然后在新的高維空間中構(gòu)建最優(yōu)超平面。
求得解a*,決策函數(shù)可以表示為:
目前主要使用的核函數(shù)有以下3種:
心臟病診斷數(shù)據(jù)都是來(lái)自于實(shí)際病例檢測(cè),可以在UCI機(jī)器學(xué)習(xí)數(shù)據(jù)庫(kù)中找到,因此該實(shí)驗(yàn)數(shù)據(jù)具有較高的代表性和實(shí)際意義。該數(shù)據(jù)有303個(gè)樣本,從中去除含有未知項(xiàng)的樣本后,還有297個(gè)樣本可用。數(shù)據(jù)共有75項(xiàng)屬性,這里只利用其中的13項(xiàng)屬性。把心臟病分為兩類,即有心臟?。▂=1)和沒(méi)有心臟?。▂=-1),因此這是一個(gè)標(biāo)準(zhǔn)的二分類問(wèn)題,可以用支持向量機(jī)分類器來(lái)分析。
實(shí)驗(yàn)中將前237個(gè)樣本作為訓(xùn)練集,后60個(gè)樣本作為測(cè)試集。然后將訓(xùn)練集與測(cè)試集在區(qū)間[-1,1]內(nèi)進(jìn)行歸一化處理,再使用高斯徑向基核函數(shù)建立分類模型。在MATLAB 7.0中編程實(shí)現(xiàn)算法并分析算法的性能。訓(xùn)練及測(cè)試結(jié)果如表1所示,與其他兩種方法的比較如表2所示。
表1 訓(xùn)練和測(cè)試的結(jié)果
表2 3種方法的比較
由表1訓(xùn)練和測(cè)試的結(jié)果可知,用支持向量機(jī)分類器對(duì)心臟病診斷數(shù)據(jù)進(jìn)行檢測(cè)其分類準(zhǔn)確率、靈敏度和特異度都比較高。分類準(zhǔn)確率高表明該模型對(duì)有無(wú)心臟病能做出準(zhǔn)確的判斷,靈敏度(也稱真陽(yáng)性率,指患者組中診斷為陽(yáng)性的比率)和特異度(指非患者組中診斷為陰性的比率)高表明該模型的誤診率較低。
表2是與其他方法測(cè)試所得結(jié)果的比較,SVM分類器測(cè)試準(zhǔn)確率達(dá)到86.67%,明顯高于K-最緊鄰分類和決策樹(shù)分類算法。因此我們可以得出結(jié)論:SVM分類器避免了誤分類代價(jià)帶來(lái)的不準(zhǔn)確預(yù)測(cè),在心臟病的輔助診斷過(guò)程中更加有效。
本文介紹了支持向量機(jī)分類器的算法原理,并將其應(yīng)用于心臟病醫(yī)療診斷數(shù)據(jù)的分析中,實(shí)驗(yàn)得到的診斷準(zhǔn)確率、靈敏度和特異度三項(xiàng)指標(biāo)都達(dá)到了較高的水平。因此該方法可以為心臟病的輔助診斷過(guò)程提供數(shù)據(jù)支持,能夠提高醫(yī)療機(jī)構(gòu)對(duì)該心臟病的診斷效率,也讓醫(yī)生能更準(zhǔn)確地做出診斷。與其他分類方法相比,SVM分類器具有較高的分類識(shí)別準(zhǔn)確率,可以較好地解決小樣本、非線性等實(shí)際問(wèn)題,因此SVM分類器在醫(yī)療診斷中具有很大的應(yīng)用前景。
[1] 劉霞,盧葦.SVM在文本分類中的應(yīng)用研究[J].計(jì)算機(jī)教育,2007.1
[2] 唐春生,張磊.文本分類研究進(jìn)展
[3] (美)韓家煒(Han,j.)等著.數(shù)據(jù)挖掘:概念與技術(shù)[M].范明等譯.北京:機(jī)械工業(yè)出版社,2012
[4] Vapnik V.The Nature of Statistical Learning Theory.New York:Spriger,1995
[5] Zhang X G.Using Class-center Vectors to Build Support Vector Machines[C].In:Proceedings of NNSP'99,1999
Application of SVM in Heart Disease Data Analysis
GE Guang-wei,WANG Yuan-liang
(School of Information,Yunnan University of Finance and Economics,Kunming 650221)
Takes the actualmedical data as the application object,uses support vectormachine classifier to experiment.And with the use of K nearest neighbor,compares decision treeswith experimental results.The results show that support vectormachine has high sensitivity,accuracy and testaccuracy shows that support vectormachine can be applied tomedical diagnosis and provide data support formedical institutions.
Support Vector Machine(SVM);Classifier;Heart Disease Diagnosis;Cross Validation
1007-1423(2015)06-0009-03
10.3969/j.issn.1007-1423.2015.06.002
葛廣為(1987-),男,安徽鳳臺(tái)人,在讀碩士研究生,研究方向?yàn)閿?shù)據(jù)挖掘、算法設(shè)計(jì)與分析
王元亮(1959-),男,云南昆明人,學(xué)士,教授,研究方向?yàn)槠髽I(yè)信息化
2014-12-16
2015-02-15