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