吳燎 陳思玨
摘 要:目的:本文通過matlab構(gòu)建BP 神經(jīng)網(wǎng)絡(luò)模型,用于實(shí)現(xiàn)人工神經(jīng)網(wǎng)絡(luò)診斷中醫(yī)胃病的病型,方法:將真實(shí)的中醫(yī)胃病臨床數(shù)據(jù)通過數(shù)據(jù)清洗、數(shù)據(jù)編碼、BP神經(jīng)網(wǎng)絡(luò)模型配置、模型訓(xùn)練,構(gòu)建出BP網(wǎng)絡(luò)模型。結(jié)果:通過整理數(shù)據(jù),反復(fù)地訓(xùn)練學(xué)習(xí),最終使每種病型的平均預(yù)測(cè)率達(dá)到90%以上,結(jié)論:利用BP人工神經(jīng)網(wǎng)絡(luò)成功實(shí)現(xiàn)了中醫(yī)胃病病型的輔助診斷。
關(guān)鍵詞:預(yù)測(cè)診斷;神經(jīng)網(wǎng)絡(luò);中醫(yī);胃病
目前人工智能火熱發(fā)展,在醫(yī)學(xué)上不少的研究已經(jīng)涉及了人工智能,而中醫(yī)具有整體性,模糊性,抽象性的特點(diǎn),與神經(jīng)網(wǎng)絡(luò)的容錯(cuò)性、自助學(xué)習(xí)性的特點(diǎn)十分切合。張秋云等研究用遺傳算法的BP神經(jīng)網(wǎng)絡(luò)確定不同患者的不同的穴位。[1]徐亮等用BP神經(jīng)網(wǎng)絡(luò)搭建了中醫(yī)辨證模型,預(yù)測(cè)氣虛型與非氣虛型的準(zhǔn)確率,[2]其診斷類型較少,只有氣虛型和非氣虛型兩種輸出結(jié)果,其次,其準(zhǔn)確率較低,只有80%的準(zhǔn)確率。本文以真實(shí)的中醫(yī)胃病臨床數(shù)據(jù)為基礎(chǔ),利用Matalb軟件,應(yīng)用BP神經(jīng)網(wǎng)絡(luò)技術(shù)搭建了訓(xùn)練模型,增加了診斷的類型,診斷類型包括肝胃不和、胃陽虛、胃陰虛等36個(gè)診斷結(jié)果。本次的準(zhǔn)確率也有所提高,平均診斷率達(dá)到90%以上,能夠模擬中醫(yī)師的辨證,從而輔助胃病病型的診斷。
1 臨床數(shù)據(jù)來源
采用的數(shù)據(jù)來自四川省各個(gè)縣市醫(yī)院的真實(shí)中醫(yī)臨床數(shù)據(jù),總共2252條數(shù)據(jù),每條數(shù)據(jù)至少包含一個(gè)胃病相關(guān)癥狀和病型診斷。
2 數(shù)據(jù)清洗加工
數(shù)據(jù)的收集會(huì)產(chǎn)生各種錯(cuò)誤和不規(guī)范,數(shù)據(jù)庫中有噪聲(noise),不完整(missing),不一致(inconsistent)的數(shù)據(jù)。[3]保證數(shù)據(jù)的規(guī)范正確,為此,首先要進(jìn)行數(shù)據(jù)的清洗。對(duì)于數(shù)據(jù)的清洗一般包括:填補(bǔ)遺漏的數(shù)據(jù)值、平滑噪聲數(shù)據(jù)等。[4]對(duì)于疾病的描述不準(zhǔn)確、遺漏的數(shù)據(jù),采取舍去的方法,從而保證數(shù)據(jù)的完整性。對(duì)于癥狀描述的不統(tǒng)一,疾病的診斷不統(tǒng)一,可按照國(guó)家中醫(yī)藥管理局發(fā)布的術(shù)語進(jìn)行規(guī)范化降噪,從而保證數(shù)據(jù)的統(tǒng)一性。在數(shù)據(jù)清洗之后,將數(shù)據(jù)整理分類,可分為胃部感覺,口咽感覺、面色等16個(gè)癥狀分類。每個(gè)分類下根據(jù)具體的癥狀從0開始,以1為單位依次編碼。最終得到16個(gè)癥狀分類共175個(gè)癥狀編號(hào),得到1個(gè)癥型分類共38個(gè)病型編號(hào)。
3 模型設(shè)計(jì)
(1)BP神經(jīng)網(wǎng)絡(luò)原理:神經(jīng)網(wǎng)絡(luò)與人腦的神經(jīng)系統(tǒng)類似,由許多的神經(jīng)元節(jié)點(diǎn)構(gòu)成。神經(jīng)元可分為三層:輸入層、隱含層、輸出層。不同的神經(jīng)元具有不同的權(quán)值,權(quán)值代表著對(duì)下一層神經(jīng)節(jié)點(diǎn)的影響程度,權(quán)值越大則對(duì)節(jié)點(diǎn)影響越大,反之越小。權(quán)值會(huì)隨著神經(jīng)網(wǎng)絡(luò)模型的訓(xùn)練而做出調(diào)整。BP神經(jīng)網(wǎng)絡(luò)是解決權(quán)值調(diào)整的網(wǎng)絡(luò)模型,利用BP算法而調(diào)整節(jié)點(diǎn)的權(quán)值。該算法訓(xùn)練中有正向傳播和反向傳播兩個(gè)過程。在正向過程中傳遞一組輸入值和輸出值,輸入值經(jīng)過輸入層,再到隱含層,最后到輸出層輸出結(jié)果。反向過程中,將輸出結(jié)果與輸出值比較,反向傳遞,根據(jù)比較的誤差修改節(jié)點(diǎn)的權(quán)值,直到誤差在允許的范圍內(nèi)為止。經(jīng)過多次的訓(xùn)練,最后的節(jié)點(diǎn)權(quán)值穩(wěn)定下來。此時(shí)模型的權(quán)值結(jié)構(gòu)即代表了符合訓(xùn)練數(shù)據(jù)的神經(jīng)網(wǎng)絡(luò)模型。最后通過輸入數(shù)據(jù),從模型導(dǎo)出輸出結(jié)果,形成非線性對(duì)應(yīng)關(guān)系。
(2)網(wǎng)絡(luò)層數(shù)。BP神經(jīng)網(wǎng)絡(luò)[5]可以包含一個(gè)或者多個(gè)隱含層,理論上已經(jīng)證明,單個(gè)隱含層可以通過適當(dāng)增加神經(jīng)元節(jié)點(diǎn)的個(gè)數(shù)實(shí)現(xiàn)任意非線性映射。對(duì)于大多數(shù)應(yīng)用場(chǎng)合,單個(gè)隱含層即可滿足需要。但如果樣本過多,增加一個(gè)隱含層可以明顯減少網(wǎng)絡(luò)規(guī)模。因?yàn)闃颖緮?shù)據(jù)輸入層有16個(gè)輸入節(jié)點(diǎn),所構(gòu)成的網(wǎng)絡(luò)較復(fù)雜,因此采用2個(gè)隱藏層,從而減少網(wǎng)絡(luò)規(guī)模。
(3)輸入層節(jié)點(diǎn)數(shù)。輸入層節(jié)點(diǎn)數(shù)與輸入的變量個(gè)數(shù)相同。此研究有16個(gè)癥狀分類作為輸入,每個(gè)癥狀分類輸入編號(hào)變量,因此有16個(gè)輸入節(jié)點(diǎn)。
(4)隱含層節(jié)點(diǎn)數(shù)。隱含層節(jié)點(diǎn)數(shù)對(duì)BP神經(jīng)網(wǎng)絡(luò)的性能影響很大。較多的隱含層節(jié)點(diǎn)數(shù)可以帶來更好的性能,但可能導(dǎo)致訓(xùn)練的時(shí)間過長(zhǎng),造成過度擬合??梢詤⒖脊剑琜6]M=m+n+a,m和n分別為輸入層和輸出層的神經(jīng)元個(gè)數(shù),a為[0,10]之間的常數(shù),再結(jié)合實(shí)驗(yàn)調(diào)整節(jié)點(diǎn)個(gè)數(shù),確定最佳的訓(xùn)練效果。經(jīng)過多次實(shí)驗(yàn),最終確定了隱含層分別為6、4的訓(xùn)練時(shí)間最短,網(wǎng)絡(luò)模型收斂最快,最后的準(zhǔn)確率也較高。
(5)輸出層神經(jīng)元個(gè)數(shù)。輸出層神經(jīng)元個(gè)數(shù)與輸出變量相同。本次輸出變量只有病型一個(gè),輸出值為對(duì)應(yīng)的病型編號(hào)。病型編號(hào)共有38個(gè),因此共有38種輸出的可能。
4 結(jié)果
整理后的數(shù)據(jù)共2252條,將1700條輸入用于網(wǎng)絡(luò)訓(xùn)練,552條數(shù)據(jù)用于測(cè)試,3次實(shí)驗(yàn)總的準(zhǔn)確率分別是93.66%,91.30%,90.76%,平均準(zhǔn)確率達(dá)到了90%以上。
5 討論
本次研究以BP神經(jīng)網(wǎng)絡(luò)結(jié)合中醫(yī)胃病病型的診斷,采用真實(shí)的臨床數(shù)據(jù)搭建BP神經(jīng)網(wǎng)絡(luò)診斷模型。通過編碼提高了診斷病型的數(shù)量,其病型的診斷多達(dá)38種。同時(shí)通過BP算法提高了病型的診斷準(zhǔn)確率,使得病型預(yù)測(cè)的平均準(zhǔn)確率達(dá)到90%以上。但此次研究仍然有許多問題,BP神經(jīng)網(wǎng)絡(luò)作為廣泛使用的神經(jīng)網(wǎng)絡(luò)之一,其本身存在許多缺陷,例如局部極小化,算法收斂速度慢,網(wǎng)絡(luò)結(jié)構(gòu)不確定等問題。對(duì)于上述的問題,還有待進(jìn)一步的研究和優(yōu)化。
參考文獻(xiàn):
[1]張秋云,張營(yíng),李臣.遺傳算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)在中醫(yī)按摩機(jī)器人中的應(yīng)用[J].應(yīng)用科技,2017(2).
[2]徐亮,陳守強(qiáng),侯建輝,等.基于BP神經(jīng)網(wǎng)絡(luò)的中醫(yī)辨證模型構(gòu)建方法探討[J].世界中醫(yī)藥,2016,11(2):335-338.
[3]孟祥逢,魯漢榕,郭玲.基于遺傳神經(jīng)網(wǎng)絡(luò)的相似重復(fù)記錄檢測(cè)方法[J].計(jì)算機(jī)工程與設(shè)計(jì),2010,31(7):1550-1553.
[4]覃華,蘇一丹,李陶深.基于遺傳神經(jīng)網(wǎng)絡(luò)的數(shù)據(jù)清洗方法[J].計(jì)算機(jī)工程與應(yīng)用,2004,40(3):45-46.
[5]陳朝陽,行小帥,李玥.共軛梯度BP算法在Matlab7.0中的實(shí)現(xiàn)[J].現(xiàn)代電子技術(shù),2009,32(18):125-127.
[6]沈花玉,王兆霞,高成耀,等.BP神經(jīng)網(wǎng)絡(luò)隱含層單元數(shù)的確定[J].天津理工大學(xué)學(xué)報(bào),2008,24(5):13-15.