王子超+楊會澤+張青權
1.1基本原理—神經網絡
醫學診斷[1]是醫務人員根據病人的病史,癥狀檢查結果等信息進行歸納處理。經過總和分析,得出病因的一個過程,所以得出一個準確,可靠的結論十分重要。推理是診斷的一個重要部分,但由于醫生往往憑借自己所掌握的病理學知識和多年積累的經驗得出診斷結果,受主觀因素影響比較大,可能造成誤診。診斷是指上時一個分類過程,因此根據診者的睡眠指標(Sleep quality,sleeplatency,sleeptime,sleepefficiency,sleep disorder,Hypnagogue,Daytime dyfunction)來預測。
神經網絡[2]的基本處理單元是神經元(即節點),大量神經元廣泛連接構成神經網絡。BP網絡通常含有輸入層、隱含層(中間層)和輸出層,每層均包括多個神經元,輸入層與輸出層各有一層,隱含層根據需要可以設多層,也可不設。神經元之間通過權相互連接,前一層神經元只對下一層神經元作用,同層神經元之間無相互作用,權值的大小代表上一級神經元對下一級神經元的影響度。
Back Propagation是為了解決多層前向神經網絡的權值調整而提出來的,也稱為反向傳播算法,即網絡權值的調整規則是向后傳播學習算法,具體來說,BP算法是建立在梯度下降法的基礎上的,訓練過程由正向傳播和反向傳播組成,在正向傳播過程中,輸入信息由輸入層經隱含層逐層處理,并傳向輸出層,如果輸出層得不到期望的輸出,則轉入反向傳播,逐層遞歸的計算實際輸入與期望輸入的差即誤差,將誤差信號沿原來的連接通道返回,通過修改各層神經元的權引值,最終使得誤差信號最小。
1.2神經網絡模型的建立
孫高[3]等人利用神經模型BP算法的多層前饋網絡,建立用于肺癌診斷的神經網絡模型,基于前人的研究,總結了建立神經網絡的步驟。
建立神經網略的醫學診斷系統的過程可分為4步[4]
Step1,數據的歸類整理。根據附件二選取了7個指標(去掉了年齡和性別兩個)。從前文已知,文章用聚類分析將14++種病分為8類(分別用y1,y2,+++表示),每類取20組數據(盡量選取更多的疾病),作為神經網絡的輸入。
Step2,建立神經網絡模型。采用BP神經網絡。結構采用隱含層單元數確定法。
Strp3,神經網絡計算輸出。將神經網絡的輸入內容輸入網絡,立刻可以得到網絡的輸出結果。
Step4,匹配推理,得出診斷結論。將神經網絡的輸出結果(即系統初步診斷的結果,也就是初步判定該病所屬的類別)進一步根據前文對每類的定性分析,進而確定具體疾病。
1.3數據的歸類整理
1.3.1樣本分組
從前文已知,文章用聚類分析將118種病分為8類(分別用Y1+++表示),A組,訓練樣本:160,每類取20組數據(盡量選取更多的疾病)共160組數據。
B組,測試樣本:160,同樣選160組數據檢測網絡性能。
1.3.2疾病診斷的指標選取及量化
在問題一中,根據逐步回歸,得到回歸方程+++,研究結果表明,年齡與性別對睡眠質量有正顯著影響,因此在做進一步研究時,不考慮性別和年齡,認為睡眠質量可以替代它們。
將附件二病例資料庫中的病例資料首先要進行歸一化處理,處理后的數據作為網絡模型的原始數據矩陣。歸一化處理的目的時把兩個變量固定到區間[-1,1]內,可以改善網絡的性能歸一化處理可采用一下兩種形式。
式中: 為歸一化后樣本中第j個樣品的第i個輸入變量
為原始資料第j個樣品的第i個輸入變量
與 為原始資料第j個樣品的第i個輸入變量的最大值和最小值
設輸入矢量為X,則X=(X1,X2,X3,X4,X5,X6,X7),輸入量Xi別對應疾病診斷的7個臨床特征;網絡輸出矢量為診斷診斷結果(即前文對疾病做出的8項分類),用Y表示, , 。
表1 類別在神經網絡中的代表符號
1.4 設計合適的神經網絡參數
對于每個診斷網,其包括的指標有幾個,則它的輸入單元數就為幾個,文章有7個。單層隱含層,隱含層數目4~10之間,用過靈敏度修剪算法確定隱含層的最佳神經元個數。而每個診斷網的輸出有8種,故輸出單元數為3;訓練次數為1000次,訓練目標為0.0001,學習速度0.1;隱含層采用型正切函數Tansig,輸出型采用型對數函數Logsig,網絡訓練的函數設定為Trainlm。
1.5測試樣本的前瞻性考核
將病人的各項診斷指標(即附件二采用的X1,X2,X3,X4,X5,X6,X7七個指標)作為前向網絡的輸入數據加到其輸出端,不斷調整神經網絡的輸出和實際患病情況,當訓練樣本集網絡的輸出基本上能保證與實際一致(約80%以上)時,認為神經網絡已經可以用來進行預測。將附件二中前50個病例資料輸入到上述訓練好的BP神經網絡進行測試,結果有8例預測錯誤,預測的一致率為84%。該神經網絡前瞻性考核[1]效果較好,可以進行預測。
1.6診斷過程及結果
將附件三提供的10個患者關于睡眠的七個指標輸入到訓練好的神經網絡中,輸出的結果為下表4
參考文獻:
[1]王俊杰,陳景武.BP神經網絡在疾病預測中的應用[J].數理醫藥學雜志,2008,(03):259-262.
[2]聞新,周露,王丹力等.MATLAB神經網絡應用設計[M]。北京:科學出版社,2000;207-212.
[3]沈花玉.神經網絡在醫學診斷中的應用研究[D].天津理工大學,2007.
[4]孫高,周寶森,楊靜宇,鄔永革.基于人工神經網絡的肺癌診斷研究[J].中國衛生統計,1999,(03):15-17.