郭富強(qiáng)
(陜西廣播電視大學(xué) 資源建設(shè)與現(xiàn)代教育技術(shù)中心,陜西 西安 710119)
基于LVQ網(wǎng)絡(luò)的心臟病智能診斷模型
郭富強(qiáng)
(陜西廣播電視大學(xué) 資源建設(shè)與現(xiàn)代教育技術(shù)中心,陜西 西安 710119)
充分挖掘大量歷史診斷數(shù)據(jù)中隱藏的規(guī)律、模式和專家知識,是建立心臟病智能診斷系統(tǒng)的重要環(huán)節(jié)。LVQ網(wǎng)絡(luò)具有很好的模式識別特性,適合數(shù)據(jù)挖掘?;贚VQ網(wǎng)絡(luò)建立一個心臟病智能診斷模型。設(shè)計(jì)了網(wǎng)絡(luò)結(jié)構(gòu),選取30個典型診斷案例作為樣本,對模型進(jìn)行訓(xùn)練和測試。結(jié)果表明,該模型可較好地反映診斷數(shù)據(jù)與診斷結(jié)果之間的因果關(guān)系,用于心臟病診斷具有較高的準(zhǔn)確率。
LVQ網(wǎng)絡(luò);數(shù)據(jù)挖掘;分類技術(shù);心臟病;智能診斷
心臟病是世界上對人類生命威脅的第二號殺手。心臟病的快速和準(zhǔn)確的診斷始終是醫(yī)學(xué)研究的重要課題。如果能夠及時、準(zhǔn)確的判斷出人們是否患有心臟病,就可以盡快對病人進(jìn)行治療,從而使其對人類的危害降到最低。因此有必要引入計(jì)算機(jī)智能診斷,充分挖掘和共享大量歷史診斷數(shù)據(jù)中隱藏的規(guī)律、模式和專家知識,為心臟病診斷提供智能支持,輔助醫(yī)生診斷。目前許多醫(yī)院開始使用PACS系統(tǒng)(Picture Archiving and Communication System),它們已收集了大量病人的確診病例,包括醫(yī)學(xué)影像(包括SPECT,X-CT,PET,MRI,HRCT 等)和其它的有關(guān)醫(yī)學(xué)參數(shù),這些數(shù)據(jù)中包含著心臟病的發(fā)病規(guī)律和醫(yī)學(xué)專家的豐富經(jīng)驗(yàn),為心臟病自動診斷系統(tǒng)的設(shè)計(jì)提供了重要的資料。充分利用這些以前的確診病例和專家的診斷經(jīng)驗(yàn),加上當(dāng)前病人的信息,幫助醫(yī)生快速有效地正確診斷是否患有心臟病,正是心臟病智能診斷系統(tǒng)的目標(biāo)。
以往的許多醫(yī)學(xué)輔助診斷系統(tǒng)都是基于知識的專家系統(tǒng),往往存在若干缺陷:知識獲取的瓶頸;知識脆弱性;推理單調(diào)性等。比如,開發(fā)基于規(guī)則和知識的專家系統(tǒng)大約60%到70%的時間花費(fèi)在知識獲取上,采取的方法是由專家通過一系列的領(lǐng)域規(guī)則來表示它們的啟發(fā)式分類經(jīng)驗(yàn),由于絕大多數(shù)專家在表達(dá)他們的領(lǐng)域知識方面存在困難,應(yīng)用效果有時不甚理想,且專家在利用這類知識時,更多地是采用聯(lián)想等形象思維方法,簡言之,從專家那里獲取知識與表達(dá)困難,且?guī)в卸ㄐ院椭饔^的特點(diǎn),難于定量和客觀地表示[1]。
人工神經(jīng)網(wǎng)絡(luò)是一種旨在模仿人腦結(jié)構(gòu)及其功能的信息處理系統(tǒng),具有高度的分布式存儲、并行處理、自組織、自學(xué)習(xí)和自適應(yīng)的能力,擅長處理超高維、強(qiáng)非線性、知識不完備等復(fù)雜模式,因此被廣泛應(yīng)用于非線性系統(tǒng)。目前診斷心臟病的參數(shù)由多項(xiàng)構(gòu)成,且各項(xiàng)參數(shù)之間互相影響,呈現(xiàn)出復(fù)雜的非線性關(guān)系, 因此適合運(yùn)用神經(jīng)網(wǎng)絡(luò)這種強(qiáng)有力的工具進(jìn)行處理。
文中將LVQ網(wǎng)絡(luò)引入心臟病診斷,建立心臟病智能診斷模型,并通過實(shí)際測試驗(yàn)證它的有效性。
建立智能診斷模型的前提是模型能夠?qū)W習(xí)和吸收醫(yī)學(xué)專家的診斷經(jīng)驗(yàn),在大量的歷史診斷記錄中提取診斷的知識。這就要用到數(shù)據(jù)挖掘技術(shù)。所謂數(shù)據(jù)挖掘就是從大型數(shù)據(jù)庫的數(shù)據(jù)中提取用戶感興趣的知識的技術(shù)。這些知識是隱含的、事先未知的、但潛在有用的信息;提取的知識可以表示為概念、規(guī)則、規(guī)律、模式等形式。數(shù)據(jù)挖掘把人們對數(shù)據(jù)的應(yīng)用從低層次的簡單查詢,提升到從數(shù)據(jù)中挖掘知識,為人們的決策提供支持。
分類在數(shù)據(jù)挖掘中是一項(xiàng)非常重要的任務(wù)。分類的目的是學(xué)習(xí)一個分類函數(shù)或分類模型,該模型能把數(shù)據(jù)庫中的數(shù)據(jù)項(xiàng)映射到給定類別中的某一個。分類的輸出是離散的類別值。分類模型的構(gòu)造方法通常有統(tǒng)計(jì)方法(如貝葉斯方法)、機(jī)器學(xué)習(xí)方法(如決策樹方法支撐向量機(jī)方法)、粗糙集方法和神經(jīng)網(wǎng)絡(luò)方法等。其中,葉斯方法的基本思想是:假定對研究對象已有一定的認(rèn)識,那么即可先用先驗(yàn)概率分布來描述這種認(rèn)識,然后用樣本來修正已有的認(rèn)識,得后驗(yàn)概率分布,最后通過后驗(yàn)概率分布來建立分類函數(shù)[2]。決策樹方法是用樹形結(jié)構(gòu)表示決策集合,這些決策集合是通過對數(shù)據(jù)集的分類來產(chǎn)生規(guī)則[3]。粗集方法基本思想是基于等價類的思想,而這種等價類中的元素在粗集中被視為不可區(qū)分的,其基本方法是首先用粗集近似的方法來將信息系統(tǒng)中的屬性值進(jìn)行離散化,然后對每個屬性劃分等價類,再利用集合的等價關(guān)系來進(jìn)行信息系統(tǒng)的約減,最后得到一個最小決策關(guān)系,從而便于獲得規(guī)則[4]。
神經(jīng)網(wǎng)絡(luò)方法主要是從結(jié)構(gòu)上模仿生物神經(jīng)網(wǎng)絡(luò),是一種通過訓(xùn)練來學(xué)習(xí)的非線性預(yù)測模型。可以完成分類、聚類、特征挖掘等多種數(shù)據(jù)挖掘任務(wù)。與上述分類方法相比,具有知識的學(xué)習(xí)、擴(kuò)展和升級簡便,模式提取迅捷,高維數(shù)據(jù)挖掘性能優(yōu)良等特點(diǎn)。在數(shù)據(jù)挖掘中,較常用的人工神經(jīng)網(wǎng)絡(luò)模型有反向傳播網(wǎng)模型BP、徑向基函數(shù)神經(jīng)網(wǎng)絡(luò)RBF和自組織特征映射神經(jīng)網(wǎng)絡(luò)SOM等。
LVQ 網(wǎng)絡(luò)是在有教師狀態(tài)下對競爭層進(jìn)行訓(xùn)練的一種學(xué)習(xí)算法。與上述神經(jīng)網(wǎng)絡(luò)的模式識別和映射方式相比, 其優(yōu)點(diǎn)在于網(wǎng)絡(luò)結(jié)構(gòu)簡單, 只通過內(nèi)部單元的相互作用, 就可以完成十分復(fù)雜的分類處理, 也很容易將設(shè)計(jì)域中的各種繁雜分散的設(shè)計(jì)條件收斂到結(jié)論上來,從而實(shí)現(xiàn)模式識別, 簡單易行。
需要注意的是,分類的效果一般和數(shù)據(jù)的特點(diǎn)有關(guān),有的數(shù)據(jù)噪聲大,有的有缺值,有的分布稀疏,有的字段或?qū)傩蚤g相關(guān)性強(qiáng),有的屬性是離散的,而有的數(shù)據(jù)是連續(xù)值或混合式的。目前普遍認(rèn)為不存在某種方法能適合于各種特點(diǎn)的數(shù)據(jù)分類算法。
學(xué)習(xí)向量量化(learning vector quantization,LVQ)網(wǎng)絡(luò)是在競爭網(wǎng)絡(luò)結(jié)構(gòu)的基礎(chǔ)上提出的,它將競爭學(xué)習(xí)思想和有監(jiān)督學(xué)習(xí)算法相結(jié)合,在網(wǎng)絡(luò)學(xué)習(xí)過程中,通過教師信號對輸入樣本的分配類別進(jìn)行規(guī)定,從而克服了自組織網(wǎng)絡(luò)SOM采用無監(jiān)督學(xué)習(xí)算法帶來的缺乏分類信息的弱點(diǎn)[5]。
LVQ網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示,由輸入層、競爭層和輸出層組成。輸入層有N個神經(jīng)元接受輸入向量,與競爭層之間完全連接;競爭層有M個神經(jīng)元,分為若干組并呈一維線陣排列;輸出層每個神經(jīng)元代表一個分類類別,只與競爭層中的一組神經(jīng)元連接,連接權(quán)值固定為1。
圖1 LVQ網(wǎng)絡(luò)結(jié)構(gòu)Fig. 1 LVQ network structure
LVQ 工作分兩步[6]: 首先,當(dāng)一個樣本被送至LVQ網(wǎng)絡(luò)時,競爭層學(xué)習(xí)輸入向量的分類,對于輸入向量中存在的某個聚類中心,競爭層將與該中心最接近的神經(jīng)元確定為獲勝神經(jīng)元,使其輸出為1,其它的神經(jīng)元輸出為0,那么輸出為1的神經(jīng)元代表輸入的某個類,而常常幾個神經(jīng)元被指定給同一類,稱為一個子類;然后輸出層將競爭層傳來的子類指定給輸出層的一個神經(jīng)元,而輸出層每個神經(jīng)元分別為使用者所定義的一個期望類別,稱為一個目標(biāo)類。這樣,LVQ 就完成了對輸入向量的模式識別。
LVQ網(wǎng)絡(luò)必須先進(jìn)行學(xué)習(xí)訓(xùn)練,才能進(jìn)行正確分類。所需的教師信號包括目標(biāo)類別數(shù)、全體訓(xùn)練樣本中每個類別所占比例,以及每個輸入向量所屬類別。學(xué)習(xí)算法如下[7]:
1)初始化。競爭層各神經(jīng)元權(quán)值向量W1j(0),j=1,2,…,M賦小隨機(jī)數(shù),確定初始學(xué)習(xí)速率η(0)和訓(xùn)練次數(shù)K。
2)輸入樣本向量X。
3)尋找獲勝神經(jīng)元j*:
4)根據(jù)分類是否確定按不同規(guī)則調(diào)整獲勝神經(jīng)元的權(quán)值。當(dāng)網(wǎng)絡(luò)分類結(jié)果與教師信號一致時,向輸入樣本方向調(diào)整權(quán)值:
否則,將逆輸入樣本方向調(diào)整權(quán)值:
其他非獲勝神經(jīng)元的權(quán)值保持不變。
5)更新學(xué)習(xí)速率
當(dāng)k<K時,k-k+1,轉(zhuǎn)到步驟2)輸入下一個樣本,重復(fù)各步驟直到k=K。
在上述學(xué)習(xí)中,必須保證η(k)為單調(diào)下降函數(shù)。
用LVQ網(wǎng)絡(luò)模型進(jìn)行心臟病診斷,工作流程見圖2。其中,在學(xué)習(xí)訓(xùn)練階段,將歷史病例數(shù)據(jù)樣本輸入LVQ網(wǎng)絡(luò),網(wǎng)絡(luò)經(jīng)過訓(xùn)練學(xué)習(xí)并滿足要求后,挖掘出了樣本中的知識或模式,成功學(xué)習(xí)并記憶了眾多醫(yī)學(xué)專家的診斷經(jīng)驗(yàn),按照指定要求對樣本進(jìn)行了分類。在應(yīng)用階段,輸入實(shí)際的診斷數(shù)據(jù),網(wǎng)絡(luò)按照記憶的知識對其進(jìn)行診斷,其輸出即為所對應(yīng)的診斷結(jié)果。
圖2 診斷流程Fig. 2 The diagnosis process
心臟病診斷數(shù)據(jù)結(jié)構(gòu)反映了判斷心臟病的依據(jù)參數(shù),數(shù)據(jù)結(jié)構(gòu)的優(yōu)劣對診斷的正確與否有著重要影響,同時也影響LVQ網(wǎng)絡(luò)的結(jié)構(gòu)。原則上,數(shù)據(jù)結(jié)構(gòu)要能夠完整描述診斷模式,每個屬性應(yīng)與心臟病密切相關(guān),互相獨(dú)立,便于測量。根據(jù)目前實(shí)際,選13個屬性,其中的數(shù)據(jù)類型有離散型、連續(xù)型和二進(jìn)制型。其屬性描述如表1。
以某大型醫(yī)院PACS系統(tǒng)中存儲的30個典型診斷案例為樣本,前20個作訓(xùn)練樣本,后10個作測試樣本。
因?yàn)閿?shù)據(jù)類型和取值范圍差異較大,為平衡各項(xiàng)數(shù)據(jù)在運(yùn)算中所占的比重,使診斷結(jié)果更加準(zhǔn)確,需要將心臟病樣本的所有屬性值的范圍歸一化到0-1。具體方法如下:
1)二進(jìn)制數(shù)據(jù)的歸一化:把它們歸一化到0~1 之間,大于0.5的以1輸入到網(wǎng)絡(luò),小于0.5的以0輸入到網(wǎng)絡(luò)。
2)連續(xù)數(shù)據(jù)的歸一化:
其中Y表示歸一化后的數(shù)據(jù),Xmin表示最小X的值,Xmax標(biāo)示最大X的值。輸入規(guī)則同(1)
3)離散數(shù)據(jù)的歸一化:用的公式(5)歸一化,方法同(2)。但取值不同,例如Attr13 中的3,6,7 把它們歸一化到0~1之間時,3轉(zhuǎn)換為0,7轉(zhuǎn)換為1,而6就轉(zhuǎn)換為3/4。規(guī)一化后的樣本如表2所示。
表中目標(biāo)類型1表示未患心臟病,2表示患心臟病。
本模型LVQ網(wǎng)絡(luò)的輸入層有13個節(jié)點(diǎn),用于接收13維輸入向量,輸出層設(shè)置2個神經(jīng)元,尚待確定的是競爭層神經(jīng)元個數(shù)。競爭層神經(jīng)元個數(shù)太少容易導(dǎo)致網(wǎng)絡(luò)不收斂,太多又容易降低網(wǎng)絡(luò)收斂速度,根據(jù)以往構(gòu)建網(wǎng)絡(luò)的經(jīng)驗(yàn)并經(jīng)反復(fù)測試,選擇競爭層神經(jīng)元個數(shù)為5個。
表1 心臟病診斷數(shù)據(jù)的屬性Tab.1 Attribute heart disease diagnosis data
在matlab中應(yīng)用函數(shù)newlvq()函數(shù)構(gòu)建和訓(xùn)練LVQ網(wǎng)絡(luò),主要需要預(yù)先設(shè)置以下參數(shù):輸入向量的各變量的取值范圍構(gòu)成13*2的矩陣,由minmax()函數(shù)自動求得;250個訓(xùn)練樣本,患心臟病的占45%,未患心臟病的占55%;學(xué)習(xí)速率取默認(rèn)值0.01;學(xué)習(xí)函數(shù)取默認(rèn)的learnlv1()。經(jīng)過80次訓(xùn)練,網(wǎng)絡(luò)分類的誤差趨于穩(wěn)定,降至0.1。網(wǎng)絡(luò)訓(xùn)練的誤差性能曲線如圖3所示。經(jīng)仿真,只有3號樣本分類不正確。
圖3 網(wǎng)絡(luò)訓(xùn)練的誤差性能曲線Fig. 3 Error performance curve network training
表2 歸一化后的診斷數(shù)據(jù)樣本(部分)Tab.2 Gauge diagnostic data of sample
將10個測試樣本輸入網(wǎng)絡(luò),其輸出的診斷結(jié)果與專家診斷結(jié)果比較全部正確。如表3所示。但這只是本測試樣本的測試結(jié)果,并不能得出模型診斷正確率100%的結(jié)論。但可以看出,該模型能夠較好地實(shí)現(xiàn)心臟病的智能診斷。
表3 模型測試結(jié)果Tab.3 Model test results
文中建立了基于LVQ的心臟病智能診斷模型,但還不完善。后續(xù)要做的工作,一是要把高水平的診斷案例添加到數(shù)據(jù)庫里邊,進(jìn)一步提高系統(tǒng)的準(zhǔn)確性和穩(wěn)定性;二是本模式目前只限于診斷是否患有心臟病,今后應(yīng)將功能擴(kuò)展到診斷患病的程度;三是研究如何根據(jù)得到的特征形成診斷分析報(bào)告,使該模型運(yùn)用到臨床上。
[1]張俊鵬, 賀建峰,馬磊.基于最優(yōu)風(fēng)險(xiǎn)與預(yù)防模型的醫(yī)療數(shù)據(jù)挖掘算法[J].計(jì)算機(jī)工程,2011,37(22):38-40.
ZHANG Jun-peng,HE Jian-feng,MA Lei. Medical data mining algorithm based on optimal risk and prevention model[J].Computer Engineering,2011,37(22):38-40.
[2]Wolbrecht E,Ambrosio B D,Passch B.Monitoring and diagnosis of a multi-stage manufacturing process using bayesian networks[J].Artificial Intelligence for Engineering,Design and Manufacturing,2000,14(2):53-67.
[3]Maulik U,Bandyopadhyay S.Genetic alg o rithmbased clustering technique[J].Pattern Recog nition, 1997,30(7):50-60.
[4]Intan R,Mukaidono M.Generalized fuzzy rough sets by conditional probability relations[J].International Journal of Pattern Recognition and Artificial Intelligence,2002,16(7) : 865-881.
[5]蔣宇,李志雄,唐茗.LVQ神經(jīng)網(wǎng)絡(luò)在滾動軸承故障診斷中的應(yīng)用研究[J].機(jī)械科學(xué)與技術(shù).2011,30(3):408-411.
JIANG Yu,LI Zhi-xiong,TANG Ming.A learning vector quantization neural network for faults diagnosis of rolling bearing and its application[J].Mechanical Science and Technology for Aerospace Engineering,2011,30(3):408-411.
[6]朱雅菊.基于LVQ神經(jīng)網(wǎng)絡(luò)模型的房地產(chǎn)預(yù)警研究[J].陜西科技大學(xué)學(xué)報(bào),2011,29(4):55-58.
ZHU Ya-ju.Research on the early warning system of real estate based on lvq neural network[J].Journal of Shaanxi University of Science & Technology,2011,29(4):55-58.
[7]李會英,曹凱,王曉原.道路線形特征自動分類方法[J].計(jì)算機(jī)應(yīng)用,2011,31(6):1693-1695.
LI Hui-ying,CAO Kai,WANG Xiao-yuan.Automatic classification approach to road alignment features[J].Journal of Computer Appli cations,2011,31(6):1693-1695.
Intelligent heart disease diagnosis model based on LVQ network
GUO Fu-qiang
(Resource Construction and Modern Education Technology Center,Shaanxi Radio &TV University,Xi'an710119,China)
Fully tap the hidden historical diagnosis regularities in the data, models and expert knowledge, is an important part of the intelligent diagnosis system of heart disease. LVQ network has the characteristics of pattern recognition is very good, suitable for data mining. Establish an intelligent diagnosis model of LVQ network based on heart disease. Design of the network structure, selected 30 typical cases as samples, training and testing the model. The results show that, the causal relationship between the model can reflect the diagnosis data and diagnosis results, and has high accuracy for diagnosis of heart disease.
LVQ network; data mining; classification; heart disease; intelligent diagnosis
TN702
A
1674-6236(2014)07-0029-04
2013-08-17稿件編號201308109
郭富強(qiáng)(1962—),男,陜西韓城人,碩士,教授。研究方向:人工神經(jīng)網(wǎng)絡(luò)和現(xiàn)代遠(yuǎn)程教育。