馮玉婷+吳薇


摘 要:為了從海量孕檢數據中挖掘出有價值的信息,同時針對BP神經網絡收斂速度慢、預測精度低的問題,提出一種利用遺傳算法優化BP神經網絡的算法(GABP),對胎兒進行健康診斷并建立預測模型。首先利用遺傳算法的尋優技術簡化特征屬性;然后將簡化后的屬性作為BP神經網絡的輸入神經元,構建BP神經網絡模型,并進行學習訓練;最后利用Matlab對算法進行仿真。實驗結果表明,GABP算法能夠很好地提取孕檢數據中的重要信息,縮短BP預測時間,是一種可行的胎兒健康輔助預測模型。
關鍵詞:胎兒體征信息;孕檢數據;遺傳算法;BP神經網絡;數據挖掘
中圖分類號:TP301.6 文獻標識碼:A 文章編號:2095-1302(2018)02-00-03
0 引 言
隨著生活水平的不斷提高,人們對于母嬰健康的關注度與日俱增,與此同時,針對母嬰健康監護的研究有了迅猛發展。尤其隨著母嬰健康監護信息系統在各大醫院的投用,收集到的母嬰信息不僅包括B超影像、各項生理指標,還有孕婦年齡、身高、體重、既往病史等大量詳細的背景資料。但是苦于沒有強有力的工具,醫護工作者無法從海量孕檢數據中獲取未發掘的有用信息,并且不能依靠單一的數據或某一檢查項目來判斷胎兒的健康狀況,因此,如何從海量數據中挖掘出胎兒體征信息與母體信息之間的相互關系,成為國內外研究人員的研究熱點。
許多數據分析人員利用特征約簡方法和分類模型在醫學數據領域進行了深入研究,但是對胎兒體征信息的研究卻少之又少。本文從胎兒健康情況判斷的角度出發,采用遺傳算法結合BP神經網絡構建胎兒健康診斷檢測模型。利用遺傳算法的尋優特點對孕婦體檢數據進行屬性約簡,消除不必要和特征不明顯的屬性,簡化BP網絡結構,使其具有較快的收斂速度和較強的學習能力。在Matlab仿真軟件中實現該算法,并獲取云數據庫中實際收集的孕檢數據,對胎兒檢測進行建模和預測分析。
1 BP神經網絡
BP(Back Propagation,BP)神經網絡是遵循誤差δ逆傳播的多層前饋神經網絡,通過誤差逆傳播不斷調整BP網絡的權值和閾值[1],主要由輸入信息的正向傳輸和δ的反向傳輸兩個過程組成。兩個過程不斷重復,以減小網絡實際輸出與期望輸出之間的差值,使輸出層的輸出值與期望輸出值盡可能一致。BP神經網絡結構如圖1 所示。
BP神經網絡學習算法的基本步驟如下:
(1)權值初始化。根據系統屬性的要求,初步確定神經網絡結構,依次確定輸入層、隱含層、輸出層的神經元數,初始化各層權值和閾值[2]。
(2)依次輸入P個學習樣本。設當前輸入為第p個樣本。
(3)依次計算各層的輸出。根據神經網絡結構,依次計算隱含層和輸出層的實際輸出Oj,Ok[3]。
(4)計算輸出層和隱含層的反向傳輸誤差,并且記錄下第p個輸入樣本的隱含層和輸出層的實際輸出Oj(p),Ok(p)[4]。具體公式為:
其中δk,δj 代表隱含層和輸出層的反傳誤差。
記錄已經完成學習的樣本個數。若p
(5)權值、閾值修正。根據網絡各層的權值修正公式調整權值和閾值。具體公式如下:
其中η為學習步長。
(6)依據新的權值再計算Oj(p),Ok(p)和式(7)。若每個輸入樣本和相對應的輸出神經元都滿足dk(p)-Ok(p)|<ε的條件,或者達到或超過最大學習次數,則終止學習;否則跳轉到(2)繼續進行新一輪學習。
2 遺傳算法優化BP神經網絡
遺傳算法(Genetic Algorithms,GA)是一種基于生物遺傳和進化(適者生存、優勝劣汰)的選擇機制[5]。GA的工作原理是模仿生物進化中染色體隨機發生復制、交叉和變異的現象,生成一群更適應環境的新個體。按照這個過程不斷迭代優化,最終只剩下一群最適應該環境的優勝個體,從而得到問題的最適應解[6]。GABP算法流程如圖2所示。
遺傳算法的主要運算過程如下:
(1)編碼。遺傳算法不能直接處理特征屬性的參數,處理之前需要先對屬性參數進行重新編碼,使算法能夠識別。
(2)初始種群的生成。隨機產生N個數據,每個個體為一條數據,N個個體構成了初始種群,設置最大訓練次數為T。
(3)適應度值評價檢測。以適應度函數的值表示個體對環境的適應性,該值越大,說明個體的適應度越高,被保留下來的可能性越大。
(4)選擇交叉變異。遵循適應度函數,隨機選擇個體進行交叉變異操作,進而選擇優良個體[7]。
(5)終止條件判斷。若實際訓練次數t
運用以上提到的兩種運算模型,對某醫院婦產科所收集到的孕婦各項體檢數據進行胎兒健康診斷檢測,并將檢測結果與醫生的判斷結果進行比較。
該實驗包括76位孕婦的150條孕檢數據,根據孕周的不同將數據分類,采集的數據主要集中在孕周為30~38周的孕婦,150條數據中有102條數據的醫院檢測結果為正常胎兒,有48條數據顯示胎兒存在異常情況。每個數據樣本包括孕婦的孕周、身高、體重、宮高、血壓、孕婦的心率以及胎兒的胎心監護、羊膜鏡檢查結果、血常規中24項生理指標、尿常規中13項指標、B超中12項指標、肝功能腎功能等指標,以此來判斷胎兒的實際情況。在本項實驗中,隨機抽取150個樣本中的100個數據作為神經網絡訓練集(包括胎兒正常的樣本68個,胎兒異常的樣本32個),取剩下的50個樣本作為神經網絡的測試集(胎兒正常的樣本34個,胎兒異常的樣本16個)。具體步驟如下:
(1)首先運用BP神經網絡進行學習計算,初始BP網絡模型;然后根據樣本的特征屬性個數以及輸出結果的個數設置為65-33-1的三層結構,隱含層個數的設置利用綜合比較法或者對輸入層個數取對數后再加1進行設置;最后將隱含層設置為33個神經元,采用Matlab工具箱中的神經網絡函數,設置網絡的學習訓練目標為0.000 1,取T=1 000、η=0.1,隱含層和輸出層的傳輸函數采用tansig函數和purekin函數,利用trainlm作為訓練函數,其他參數都設置為默認值。
(2)將優化前的65項特征屬性利用GA算法進行約簡計算,優化后的特征屬性重新作為BP神經網絡的輸入進行學習。優化后的特征屬性為30項,決策屬性為1項,并將最終訓練目標調整為1E-10,其他參數保持不變。
GABP模型的分類結果如圖3所示,其中○表示實際檢測結果,*表示預測結果,1表示胎兒檢測為正常,0表示胎兒檢測異常,最終結果見表1所列。
優化過程中適應度函數的變化曲線如圖4所示,當迭代至15次左右時達到最優,輸出最優解。訓練過程中誤差隨迭代次數的變化曲線如圖5所示,當迭代至20次左右時與最佳變化曲線結果一致。
兩種檢測模型的對比結果見表2所列。簡單BP神經網絡的訓練時間為4.118 4 s;經過遺傳算法優化減少輸入層的輸入之后,GABP神經網絡的訓練時間縮短到2.854 8 s。同時,檢測模型的預測結果也有明顯的提高,其中胎兒健康的確診率由之前的71.85%提高到優化后的81.54%,檢查胎兒異常情況的確診率由之前的62.5%提高到68.75%。實驗結果表明,優化神經網絡算法能夠提高訓練精度、縮短訓練時間,為醫生對胎兒的健康檢測提供一定的事實依據。
3 結 語
本文提出了一種基于GABP算法的胎兒健康診斷預測模型,將其應用于某醫院產科孕檢系統中進行胎兒健康情況診斷的初步預測,并將GABP的預測結果與BP神經網絡的預測結果進行比較。實際預測結果顯示,GABP預測模型能夠減少胎兒健康診斷預測模型的訓練時間,提高健康診斷的預測精度。但由于本次實驗時間有限以及收集到的孕婦體檢數據樣本有限,加之難預約到產科醫生提供專業知識等局限條件,導致此次診斷預測準確率較低。今后將通過采集更多的樣本量或改善胎兒檢測模型來提高模型預測的準確率。
參考文獻
[1] 蘭勝坤.遺傳算法優化BP神經網絡的說話人識別系統[J].重慶理工大學學報(自然科學版),2013, 27(10):91-95.
[2] 劉杰,楊鵬,呂文生,等.城市空氣質量的BP和RBF人工神經網絡建模及分類評價[J].安全與環境工程,2014,21(6):129-134.
[3] 孫宇.基于神經網絡的軟巖巷道位移時序預測方法研究[D].阜新:遼寧工程技術大學,2012.
[4] 王震宇.基于BP神經網絡的瀝青老化預測系統研究[D].重慶:重慶交通大學,2014.
[5] 宋英杰.遺傳算法在計算機網絡中的應用分析[J].計算機與軟件,2014(5):68.
[6] Pan Y, Xue W, Zhang Q, et al. A forecasting model of RBF neural network based on genetic algorithms optimization.[J].Applied Mechanics & Materials,2011,65:605-612.
[7] 楊梅.GA-BP算法優化及其在污水參數軟測量中的應用研究[D].重慶:重慶大學,2008:42-45.
[8] 朱玨鈺,李峰.Matlab神經網絡優化的遺傳算法[J].赤峰學院學報(自然科學版),2011, 27(3):35-36.endprint