陳 艷,李丹丹
(池州學(xué)院機(jī)電工程學(xué)院,安徽池州 247000)
?
基于粗糙集和模糊推理的醫(yī)療診斷系統(tǒng)的研究
陳艷,李丹丹
(池州學(xué)院機(jī)電工程學(xué)院,安徽池州247000)
摘要:醫(yī)學(xué)診斷系統(tǒng)是臨床診斷輔助工具,可以幫助醫(yī)學(xué)專家解決復(fù)雜的醫(yī)學(xué)問題.文章提出一種粗糙集理論和模糊神經(jīng)網(wǎng)絡(luò)技術(shù)相結(jié)合進(jìn)行病癥診斷的方法.利用粗糙集理論對大量疾病診斷信息進(jìn)行屬性約簡,消掉冗余屬性,建立有效知識庫,在此基礎(chǔ)上構(gòu)建參數(shù)合適的模糊神經(jīng)網(wǎng)絡(luò)對知識庫進(jìn)行診斷推理,從而降低了計算量,提高了約簡效率,而且具有較高的診斷準(zhǔn)確率,系統(tǒng)測試結(jié)果達(dá)到了輔助醫(yī)生診斷的效果.
關(guān)鍵詞:粗糙集;模糊推理;神經(jīng)網(wǎng)絡(luò);醫(yī)療診斷;屬性約簡
醫(yī)療診斷系統(tǒng)能根據(jù)輸入的數(shù)據(jù)來模擬醫(yī)學(xué)專家對用戶的疾病進(jìn)行診斷,它運用人工智能知識和醫(yī)學(xué)專家經(jīng)驗,采用適宜的知識表示形式和推理策略,為病人及時地提供咨詢決策服務(wù).醫(yī)療診斷系統(tǒng)的應(yīng)用不僅能方便患者及時評估自己的身體狀況,而且可以有效地提高醫(yī)學(xué)專家的診斷技能.傳統(tǒng)的專家系統(tǒng)往往需要大量的統(tǒng)計信息與專家經(jīng)驗,然而在醫(yī)學(xué)診斷問題中,病例的信息常常具有不完備和不確定性,這樣導(dǎo)致專家系統(tǒng)在診斷能力和適用性方面還有待改善[1-2].
粗糙集理論(Rough Sets)是一種處理不完備和不確定性知識的數(shù)據(jù)分析工具,它不需要任何數(shù)據(jù)集合之外的先驗知識,只依賴于數(shù)據(jù)本身,可以從大量不完整的或有噪聲的數(shù)據(jù)中挖掘出有效的知識.粗糙集的方法是在保持?jǐn)?shù)據(jù)分類穩(wěn)定的基礎(chǔ)上,通過知識約簡、剔除冗余屬性,推理總結(jié)問題的決策規(guī)則或分類規(guī)則.粗糙集方法獨特、思想新穎,該方法已經(jīng)在知識發(fā)現(xiàn)、專家系統(tǒng)、數(shù)據(jù)挖掘等方面獲得廣泛的應(yīng)用.醫(yī)療數(shù)據(jù)一般具有冗余屬性且數(shù)據(jù)不完整,因此,粗糙集用于醫(yī)療數(shù)據(jù)的處理具有很強的優(yōu)勢.基于粗糙集的醫(yī)療診斷主要包括兩步:(1)采用合適有效的屬性約簡方法剔除冗余屬性,得到核屬性;(2)利用核屬性進(jìn)一步分析推理,提取診斷規(guī)則.但是,當(dāng)醫(yī)療數(shù)據(jù)維數(shù)較大時,采用粗糙集進(jìn)行診斷規(guī)則推理時,獲取有效規(guī)則是一個計算量龐大的過程,嚴(yán)重影響醫(yī)療診斷系統(tǒng)的應(yīng)用.神經(jīng)網(wǎng)絡(luò)技術(shù)具有較強的魯棒性、記憶能力和聯(lián)想功能,具有較強的非線性擬合能力,并且學(xué)習(xí)規(guī)則簡單.模糊推理不僅能處理模糊數(shù)據(jù),執(zhí)行模糊推理,而且具有并行計算功能和較強的空間搜索能力.模糊神經(jīng)網(wǎng)絡(luò)兼具模糊推理和神經(jīng)網(wǎng)絡(luò)的特點,由此可見采用基于粗糙集與模糊神經(jīng)網(wǎng)絡(luò)方法進(jìn)行診斷推理是可行有效的.該方法先采用粗糙集對數(shù)據(jù)分析,剔除冗余屬性,化簡得到最小診斷規(guī)則,采用最小診斷規(guī)則建立適合的模糊神經(jīng)網(wǎng)絡(luò)模型,再利用模糊神經(jīng)網(wǎng)絡(luò)來實現(xiàn)高效、快速的病癥診斷.
影響病癥診斷的成分很多,而且成分之間具有較強的耦合性,病歷數(shù)據(jù)量大,并且患者提供的癥狀具有模糊性,由此本文提出了基于粗糙集和模糊神經(jīng)網(wǎng)絡(luò)相結(jié)合的診斷方法.
1.1粗糙集的基本思想[3]
粗糙集描述的數(shù)據(jù)一般是多值屬性集合,該集合對每個對象的屬性都有一個值,該值作為其描述符號,對象、屬性是表達(dá)數(shù)據(jù)知識表達(dá)系統(tǒng)的基本要素,屬性包括條件屬性和決策屬性,由這些要素組成的數(shù)據(jù)體系成為信息系統(tǒng)或知識表達(dá)系統(tǒng).粗糙集依據(jù)條件屬性和決策屬性的不可等價關(guān)系將對象進(jìn)行分類,進(jìn)而獲取屬性間的依賴關(guān)系,最終將條件屬性和決策屬性之間的對應(yīng)關(guān)系提取為分類決策規(guī)則.粗糙集理論以上下近似算子度量決策類的描述精度,以近似度表示決策的分類能力,并在不改變原來知識表達(dá)系統(tǒng)的表達(dá)能力的條件下,剔除冗余的數(shù)據(jù),稱為屬性約簡,由此可推出系統(tǒng)分類能力的決策規(guī)則.
1.2基于條件信息熵的屬性約簡算法
(1)信息熵的定義
定義1一個知識表達(dá)系統(tǒng)S可以表示為
則屬性集合 A的信息熵 H(A)定義[4]為:)表示基于A的劃分的等價類Xi的概率,p(Xi)=||Xi/U.在知識表達(dá)系統(tǒng)中,對于已知屬性A,用信息熵H(A)對數(shù)據(jù)準(zhǔn)確分類.
(2)條件信息熵的定義
定義2一個知識表達(dá)系統(tǒng)S可以表示為
則屬性集合Q相對于屬性集合A的條件信息熵定義為:
其中ij
由條件信息熵的定義可知,
H(Q/A)=H(Q∪A)-H(A).
(3)基于信息熵的屬性重要度的定義
(4)約簡算法的步驟
基于條件信息熵的屬性約簡算法步驟:
輸出的信號為:約簡得到子集A.
步驟①計算已知條件屬性集合C,決策屬性集合D的條件信息熵
步驟②計算C相對于D的核coreD(C),并令A(yù)=coreD(C),取每個c∈C,若,則c屬于核集合.
步驟④對每一個屬性c∈C-A,計算其屬性重要度sgf(c,A,D),選擇sgf(c,A,D)值最大的屬性,記作ai,令A(yù)=A∪{}ai,轉(zhuǎn)向步驟③.
步驟⑤輸出一個約簡子集A,把A稱為規(guī)則庫.
基于條件信息熵的屬性約簡算法能客觀考慮影響病癥診斷的所有成分,提高診斷準(zhǔn)確率.在利用粗糙集約簡消掉冗余屬性后得到規(guī)則庫,下面利用模糊神經(jīng)網(wǎng)絡(luò)從大量規(guī)則庫中提取出有效的診斷規(guī)則.
我們用零階Sugeno模糊模型的網(wǎng)絡(luò)結(jié)構(gòu)來構(gòu)建模糊神經(jīng)網(wǎng)絡(luò)[6],如圖1所示。
圖1 模糊神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
第一層為模糊化層,每個節(jié)點代表各變量的取值,利用隸屬函數(shù)表示疾病典型癥狀,隸屬函數(shù)為:).在這里隸屬函數(shù)采用高斯函數(shù),aijbij分別為中心和寬度參數(shù),這兩個參數(shù)在網(wǎng)絡(luò)訓(xùn)練時進(jìn)行調(diào)整,其初始值取為相應(yīng)屬性所屬區(qū)位的中間值和寬度.其中,輸入變量xi與病癥的多種癥狀相對應(yīng),也就是條件屬性,n是條件屬性個數(shù),ki是第i個條件屬性的模糊集數(shù),U(1)ij是第i個條件屬性對第j個模糊集的隸屬度.
第二層的每個節(jié)點和一條規(guī)則相對應(yīng),節(jié)點的輸入與規(guī)則的前件對應(yīng),輸出為規(guī)則的激勵強度U2k= ΠμGij(k=1,2,…,m).
第三層為激勵強度歸一化層,每個節(jié)點對應(yīng)一條規(guī)則,計算每條規(guī)則的激勵強度
式中的αk為節(jié)點參數(shù),初值可以近似為模糊規(guī)則的后件值,并在網(wǎng)絡(luò)學(xué)習(xí)訓(xùn)練中調(diào)整至合適值.
在這里sr是期望輸出,yr是實際輸出,利用誤差反傳算法計算?E/?aij,?E/?bij,?E/?αk,然后采用LM算法調(diào)節(jié)網(wǎng)絡(luò)參數(shù),該算法擅長優(yōu)化誤差平方和,搜索速率高,且計算簡便.當(dāng)學(xué)習(xí)誤差達(dá)到預(yù)定的最小誤差范圍內(nèi),表示網(wǎng)絡(luò)學(xué)習(xí)訓(xùn)練結(jié)束.
3.1基于粗糙集和模糊神經(jīng)網(wǎng)絡(luò)集成的病癥診斷過程
本文將基于粗糙集和模糊神經(jīng)網(wǎng)絡(luò)集成的方法對乳腺癌疾病進(jìn)行診斷檢驗.先利用約簡方法對病癥數(shù)據(jù)進(jìn)行屬性約簡,剔除冗余屬性,建立病癥規(guī)則庫,然后利用模糊神經(jīng)網(wǎng)絡(luò)進(jìn)行模糊推理,提取出決策規(guī)則,具體實施方法如下圖2所示:
3.2診斷方法的步驟和方法
(1)數(shù)據(jù)預(yù)處理:病歷數(shù)據(jù)具有數(shù)量大、記錄形式不統(tǒng)一等特點,是由醫(yī)學(xué)專家根據(jù)個人的書寫習(xí)慣記錄的病人情況,每個醫(yī)學(xué)專家有自己的記錄形式,因此對病歷數(shù)據(jù)預(yù)處理是必要的.粗糙集處理的是離散的數(shù)據(jù),所以這里除了對噪聲數(shù)據(jù)處理外,還包括連續(xù)數(shù)據(jù)的離散化,將知識表達(dá)系統(tǒng)里的數(shù)據(jù)轉(zhuǎn)換成容易處理的形式,為屬性約簡做準(zhǔn)備.連續(xù)數(shù)據(jù)離散化后的空間維數(shù)盡量小,且離散后的信息丟失要最小,這需要借助醫(yī)學(xué)專家經(jīng)驗進(jìn)行處理.例如對體溫的離散化處理:體溫正常(36.6-38.5°C),中度發(fā)燒(38.5-39°C),高燒(39-40.6°C).噪聲數(shù)據(jù)依據(jù)專家經(jīng)驗可以直接刪除.
(3)模糊神經(jīng)網(wǎng)絡(luò)處理時包括三步.
①事實模糊化:輸入病歷的各個屬性值(事實),將輸入的事實進(jìn)行模糊化,即數(shù)據(jù)離散化.一般使用隸屬度函數(shù)表示癥狀屬性.例如咳嗽程度,不咳嗽用0表示,微咳用1表示,咳嗽嚴(yán)重用2表示.
②模糊推理:采用模糊神經(jīng)網(wǎng)絡(luò)提取有效規(guī)則.這一步處理時要保證模糊規(guī)則的一致性[7].相互矛盾的模糊規(guī)則無法保證規(guī)則的準(zhǔn)確性,在模糊推理時要確保規(guī)則的一致性.
圖2 病癥診斷過程
③去模糊化:將模糊推理的輸出值作為去模糊的輸入,輸出結(jié)果代表患病的可信度,輸出結(jié)果大小代表是否患病的可能性,將輸出結(jié)果與是否患病閾值比較,若大于閾值則系統(tǒng)會推理診斷該對象為患病.
本文仿真實驗使用的乳腺癌實驗數(shù)據(jù)來美國UCI機(jī)器學(xué)習(xí)病例數(shù)據(jù)庫,從中任意選擇400個樣本作為訓(xùn)練樣本,從剩余數(shù)據(jù)中選取200個樣本作為測試樣本.采用3.2中的基于粗糙集和模糊神經(jīng)網(wǎng)絡(luò)相集成的方法進(jìn)行診斷.UCI乳腺癌數(shù)據(jù)表1、2所示.
表1 乳腺癌屬性表
表2 乳腺癌部分初始數(shù)據(jù)
乳腺癌數(shù)據(jù)樣本中包含9個屬性,對于醫(yī)學(xué)診斷而言,數(shù)據(jù)存在冗余屬性,因此可以利用本文1.2中粗糙集的屬性約簡算法剔除掉冗余屬性,樣本經(jīng)過約簡后保留的屬性是C1、C3、C4、C6、C9,由此可見,使用粗糙集進(jìn)行屬性約簡,可以消掉冗余屬性,從而使后續(xù)模糊神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的復(fù)雜度大大降低.
在這里采用有導(dǎo)師的訓(xùn)練方法,采用性能函數(shù)MSE進(jìn)行評價,如圖3所示,該算法在迭代8000步之后,誤差在2%以下.應(yīng)用本文實驗方法對測試樣本進(jìn)行測試,本系統(tǒng)測試結(jié)果表明該系統(tǒng)能滿足智能診斷的要求,具有一定的診斷準(zhǔn)確率,在臨床診斷中能為醫(yī)療專家起到輔助診斷作用.
圖3 網(wǎng)絡(luò)訓(xùn)練誤差曲線圖
通過本實驗說明粗糙集理論與模糊神經(jīng)網(wǎng)絡(luò)相結(jié)合能有效進(jìn)行病癥診斷,通過粗糙集的屬性約簡算法剔除冗余屬性,降低了數(shù)據(jù)的復(fù)雜度,而模糊神經(jīng)網(wǎng)絡(luò)可以模擬醫(yī)療專家在臨床診斷時運用主觀經(jīng)驗和模糊推理功能給出診斷結(jié)果.該集成模型不僅提高了識別速度,又可以較準(zhǔn)確地描述了醫(yī)學(xué)診斷所面臨的復(fù)雜因素.通過大量實驗發(fā)現(xiàn),疾病癥狀的屬性在進(jìn)行模糊化處理時需要依靠專家經(jīng)驗不斷改善,使之盡可能地符合實際情況,有助于提高系統(tǒng)的識別性能.
[參考文獻(xiàn)]
[1]王楠,方成.粗糙集理論在變壓器故障診斷中的應(yīng)用[J].華北電力大學(xué)學(xué)報,2003,30(4):124-126.
[2]TsUMOTO S.Automated extraction of medical expert system rules from clinical databases based on rough set theory[J]. Information Sciences,1998(112):67-84.
[3]PAWLAK Z.Rough Sets,Theoretical Aspects of Reasoning about Data[M].Kluwer Academic Publisher,Dordrecht,Netherlands:1991.
[4]吳子特,葉東毅.一種可伸縮的快速屬性約簡算法[J].模式識別與人工智能.2009,22(2):234-239.
[5]王國胤,于洪,楊大春.基于條件信息熵的決策表約簡[J].計算機(jī)學(xué)報,2002,25(7):759-766.
[6]束志恒,陳德釗,張肅宇.粗糙集與模糊推理相集成的過程建模方法及其應(yīng)用[J].化工自動化及儀表,2006,33 (2):29-32.
(責(zé)任編輯:李潔坤)
中圖分類號:TP391.7
文獻(xiàn)標(biāo)識碼:A
文章編號:2096-2126(2016)03-0149-05
[收稿日期]2016-04-16
[基金項目]安徽高校自然科學(xué)研究重點項目(KJ2015A272);池州學(xué)院院級自然學(xué)科重點項目(2014ZRZ006)。
[作者簡介]陳艷(1982—),女,湖北棗陽人,講師,研究方向:智能計算、信號處理。
Research on Medical Diagnosis System Based on Rough Set And Fuzzy Reasoning
CHEN Yan,LI Dandan
(School of Mechanical and Electrical Engineering,Chizhou University,Chizhou,Anhui,247000 China)
Abstract:The medical diagnosis system which is a clinical diagnosis assistant tool can help medical experts to solve the complicated medical problems.This paper presents a method which combines rough set theory and fuzzy neural network technology to diagnose the dis?ease.Rough set theory is used to eliminate the redundant attributes of a large number of diagnostic information,and it establishes effective knowledge base.On this basis,it constructs the appropriate parameters of the fuzzy neural network of the knowledge to diagnostic reason?ing diseases.It can reduce the amount of calculation,improve the efficiency of the reduction.And it has higher diagnostic accuracy.Sys?tem test results to assist doctors to diagnose the effect.
Key words:rough sets;fuzzy inference;neural network;medical diagnosis;attribute reduction