吳燎 程小恩



摘要:目的:采用BP神經網絡構建中醫糖尿病診斷模型,利用真實的糖尿病中醫病案,實現糖尿病的診斷預測。方法:利用1288個糖尿病臨床電子病歷,通過數據清洗后得到質量較高的電子病歷數據805個、對病案數據整理、編碼后,在MATLAB7.0環境下,利用BP神經網絡算法,通過癥狀輸入,預測糖尿病疾病診斷。結果:通過數據分析臨床驗證正確率達到95%以上,利用人工神經網絡算法可以輔助糖尿病的診斷。結論:疾病的診斷準確性是中醫臨床用藥的關鍵,利用神經網絡診斷糖尿病為疾病診斷提供一種方法,有利于提高疾病診斷的準確性。
關鍵詞:糖尿病; BP神經網絡;診斷;預測
中圖分類號:G434? ? ? ? 文獻標識碼:A
文章編號:1009-3044(2019)23-0218-03
開放科學(資源服務)標識碼(OSID):
1 概述
利用關鍵詞“BP神經網絡”和“中醫診斷”檢索知網,萬方,維普等數據庫,分析被引量大于40的相關論文,研究涵蓋了人體脈象、中醫證候分析、中醫診斷研究等。神經網絡結合中醫中藥和模型準確率的提高是未來發展的趨勢。其中關于疾病診斷的預測論文[1]-[20],代表作者樊曉平提出了通過多層前饋型人工神經網絡對中醫抑郁癥進行分類,代表作者曾子杰提出了基于關聯規則和人工神經網絡的大腸癌中醫癥治規律研究,代表作者許朝霞提出了支持向量機和人工神經網絡的心血管疾病中醫證候分類識別研究。代表作者秦中廣提出了粗超神經網絡在中醫智能診斷系統中的應用,利用Rough Set技術對人工神經網絡進行預處理,求取核屬性,構造粗糙人工神經網絡, 并應用到中醫類風濕病分型診斷建模。代表作者孫貴香采用一種基于共軛梯度算法的 BP 神經網絡,構建冠心病中醫證候 BP 神經網絡模型,并運用檢測樣本對該模型的性能作出評價,準確率達到90.5%。針對糖尿病的疾病預測,李建生等提出徑向基神經網絡,并利用聚類分析確定RBF神經網絡隱層的參數,運用最小二乘確定RBF神經網絡輸出層的參數.并通過模型檢驗,驗證了基于200個訓練數據聚類分析的RBF神經網絡用于中醫證候診斷的有效性、準確率達到94.4%。
實驗利用現有的中醫大數據平臺,采集98家醫院的真實電子病歷數據,利用真實病案數據,通過BP神經網絡建模,預測糖尿病的診斷,準確率達到95%以上。
2 數據來源
2.1資料來源
BP神經網絡的模型的建立需要正確可靠的數據。研究利用四川省中醫大數據平臺中的真實臨床數據作為數據源。篩選較為完整,復診率較高的結構化電子病歷數據:糖尿病500例、高血壓300例、咳嗽200例、冠心病200例,共1288例。 數據病例包括乏力、便秘、心悸等285個癥狀,選擇26個頻率高的癥狀構建輸入層(圖1 癥狀分布圖),利用BP神經網絡進行糖尿病預測。
3 方法
3.1數據清洗規則
數據預處理:刪除錯誤和空白的數據[21],保證數據的正確性。替換不規范的數據[22],保證數規范統一,通過預處理后得到805例正確數據。對處理后的電子病歷進行數字化編碼處理。數字化編碼處理的標準按照計算機二進制編碼[23],0代表不存在,1代表存在。癥狀數字化標準:癥狀不出現(0)、癥狀出現(1)。診斷疾病(1),未診斷疾病(0)。最終得到全部為0,1的矩陣實驗數據(圖2 病歷數字化處理編碼圖)。
主成分分析:將所有的癥狀選擇主要成分作為神經網絡的輸入向量。對數據進行主要成分分析,主要成分的選擇范圍為所有癥狀數據采集率75%的數據。再經過主成分分析,前26個主要癥狀涵蓋了總共285個癥狀的74.2%的信息。主要癥狀見表1 。取前26個。 主成分作為進一步分析的指標。通過主成分分析, 輸入向量為提煉至26個。
病例分組:用交叉驗證檢驗模型[25]的預測效果。將805例樣本分為A、B、C三組,A組260個數據,B組260,C組285個數據,第一次選擇A、B作為訓練集,C作為測試集;第二次選擇A、C作為訓練集,B作為測試集;第三次選擇C、B作為訓練集,A作為測試集。最后綜合三個模型的訓練效果,取平均值。
4 神經網絡設計流程(圖3 基于共軛梯度下降算法的BP網絡構建)
1) 確定網絡層數。樣本數據輸入層有26個輸入節點,采用2個隱藏層,通過反復驗證,這種設計可以有效地減少網絡規模。
2) 確定輸入層節點數。輸入層節點數取決于輸入向量的維數。此研究有26個癥狀作為輸入,所以對應有26個輸入節點。
3) 確定隱含層節點數。隱含層和節點數對BP神經網絡的性能影響很大。較多的隱含層節點數可以帶來更好的性能。隱含層節點數由公式求得。
[M=m+n+a],
m和n分別為輸入層和輸出層的神經元個數,a是[0,10]之間的常數。
[M=log2N], N為輸入層神經元個數。
經過多次實驗,最終確定了隱含層M分別為8、4的訓練的時間最短,網絡模型收斂最快,最后的準確率也較高。
4) 輸出層神經元個數。輸出層神經元個數由輸出結果確定。本次的診斷只有一個為糖尿病,所以對應有一個輸出節點,節點對應的輸出期望為(1,0)。
5 BP網絡的結構
BP網絡的輸出方式:糖尿病診斷樣本的期望輸出值定為(1,0)。輸出值與真實值誤差>0.5為診斷不成立,≤0.5為診斷成立。
BP網絡的測試:網絡的權值趨穩,訓練結束后,用驗證數據對訓練好的神經網絡做檢驗。并重復第二組實驗,測試結果,保證訓練方法的正確性。
6 結果
測試結果顯示:2次測試的平均總的識別率是 96.774%,第一個糖尿病的識別率是 98.065%,第二個是98.065%,第三次是96%,從結果中可以看到,該網絡模型對于糖尿病,具有較高的辨識率。正確率均達到了95%以上。說明模型具有良好的診斷和預測能力。
7 討論
此實驗利用真實的電子臨床數據,通過BP神經網絡模型構建診斷預測模型,可以輔助預測糖尿病診斷。但本次實驗還有以下幾點需要改進。第一數據量可以適當增加,提高預測模型的準確性。第二數據編碼可以不斷優化,本次處理數據采用二進制編碼對癥狀編碼。每一個癥狀只有0,1兩種輸入選項,可以通過對癥狀的輕重設置編碼的權重級別改進編碼的準確性。
8 結語
實驗利用癥狀之間的聯系和差別診斷出糖尿病疾病,正確率達到95%以上,成功地模擬了臨床的診斷。說明人工神經網絡,人工智能在未來醫療行業的應用,在醫學診療中的應用大有可為。未來,隨著醫院信息化的深入,電子病歷數據會越來越多,數據越來越規范,可研究的資料數據也會越來越大。利用人工神經網絡算法診斷疾病,將會越來越成熟。
參考文獻:
[1] 樊曉平, 彭展, 楊勝躍, 等. 基于多層前饋型人工神經網絡的抑郁癥分類系統研究[J]. 計算機工程與應用, 2004, 40(13).
[2] 曾子杰. 基于關聯規則和人工神經網絡的大腸癌中醫證治規律研究[D]. 2017.
[3] 許朝霞, 王憶勤, 顏建軍, 等. 基于支持向量機和人工神經網絡的心血管疾病中醫證候分類識別研究[J]. 北京中醫藥大學學報, 2011, 34(8):539-543.
[4] 秦中廣, 毛宗源. 粗糙神經網絡及其在中醫智能診斷系統中的應用[J]. 計算機工程與應用, 2001, 37(18):34-35.
[5] 溫宗良, 岳桂華, 楊靖, 等. 基于共軛梯度算法的BP神經網絡在高血壓證候診斷中的應用[J]. 山東中醫藥大學學報, 2012(3):183-184.
[6] 孫貴香, 廖常艷, 袁肇凱, 等. 基于BP神經網絡的冠心病中醫證候神經網絡模型研究[C]// 全國中西醫結合診斷學術研討會. 2008.
[7] 李建生, 胡金亮, 余學慶, 等. 基于聚類分析的徑向基神經網絡用于2型糖尿病證候診斷[C]// 第八次全國中醫糖尿病學術大會論文匯編. 2005.
[8] 白云靜, 孟慶剛, 申洪波, 等. 基于改進的BP神經網絡的糖尿病腎病中醫證候非線性建模研究[J]. 北京中醫藥大學學報, 2008, 31(5):308-311.
[9] 李建生, 胡金亮, 王永炎. 基于2型糖尿病數據挖掘的中醫證候診斷標準模型建立研究[J]. 中國中醫基礎醫學雜志, 2008, 14(5):367-370.
[10] 佚名. 基于K-Nearest Neighbor和神經網絡的糖尿病分類研究[J]. 中國醫學物理學雜志, 2018, 35(10):110-114.
[11] 黃仕鑫, 羅佳婧, 羅亞玲, 等. 基于BP神經網絡模型鑒別2型糖尿病腎病的認知圖研究[J]. 中華內分泌代謝雜志, 2017(33):949.
[12] 李攀. 基于神經網絡的2型糖尿病并發癥預測模型的研究[D]. 2016.
[13] 劉飛, 張俊然, 楊豪. 基于深度學習的糖尿病患者的分類識別[J]. 計算機應用, 2018(A01):39-43.
[14] 洪燁. 基于機器學習算法的糖尿病預測模型研究[D].
[15] 王炳和, 相敬林. 基于神經網絡方法的人體脈象識別研究[J]. 西北工業大學學報, 2002, 20(3).
[16] 李建生, 胡金亮, 余學慶, 等. 基于聚類分析的徑向基神經網絡用于證候診斷的研究[J]. 中國中醫基礎醫學雜志, 2005, 11(9).
[17] 樊曉平, 彭展, 楊勝躍, 等. 基于多層前饋型人工神經網絡的抑郁癥分類系統研究[J]. 計算機工程與應用, 2004, 40(13).
[18] Lai Y H , Ni Y N , Kokot S . Authentication of Cassia seeds on the basis of two-wavelength HPLC fingerprinting with the use of chemometrics[J]. Chinese Chemical Letters, 2010, 21(2):213-216.
[19] Xuesong L . A Fast Method for Identifying the Quality of Chinese Medicine Injections Based on Self-organizing Maps Neural Network[J]. Chinese Journal of Analytical Chemistry, 2007, 35(10):1483-1486.
[20] aafar S F B, Ali D M. Diabetes mellitus forecast using artificial neural network (ANN)[C]// Asian Conference on Sensors & the International Conference on New Techniques in Pharmaceutical & Biomedical Research. 2005.
[21] 覃華, 蘇一丹, 李陶深. 基于遺傳神經網絡的數據清洗方法[J]. 計算機工程與應用, 2004, 40(3):45-46.
[22] 孟祥逢, 魯漢榕, 郭玲. 基于遺傳神經網絡的相似重復記錄檢測方法[J]. 計算機工程與設計, 2010, 31(7):1550-1553.
[23] 宋擒豹, 沈鈞毅. 神經網絡數據挖掘方法中的數據準備問題[J]. 計算機工程與應用, 2000, 36(12):102-104.
[24] 賀昌政, 俞海. BP人工神經網絡主成分分析預測模型及應用[J]. 數量經濟技術經濟研究, 2001, 18(9):104-106.
[25] 邱龍金, 賀昌政. 神經網絡穩定性的交叉驗證模型[J]. 計算機工程與應用, 2010, 46(34):43-45.
[26] 陳朝陽, 行小帥, 李玥. 共軛梯度BP算法在Matlab 7.0中的實現[J]. 現代電子技術, 2009, 32(18):125-127.
[27] 沈花玉, 王兆霞, 高成耀,等. BP神經網絡隱含層單元數的確定[J]. 天津理工大學學報, 2008, 24(5):13-15.
[28] 楊偉斌, 吳光強, 秦大同, 等. 人工神經網絡的各參數對系統辨識精度的影響分析及各參數的確定方法[J]. 機械工程學報, 2006, 42(7):217-221.
[29] 焦斌, 葉明星. BP神經網絡隱層單元數確定方法[J]. 上海電機學院學報, 2013(3):113-116.
[30] 孔德坤, 張曉斌. 糖尿病與高血壓[J]. 中華內分泌代謝雜志, 2005,21(5):68-70.
【通聯編輯:王力】