張京軍,王 健,邵偉東,高瑞貞
(1. 河北工程大學(xué) 信息與電氣工程學(xué)院,河北 邯鄲 056038;2. 石家莊展望未來科技有限公司,河北 石家莊 050081)
矮小是危害人們身心健康的主要外在表現(xiàn)之一,它不僅僅是患者的個(gè)人問題,又是不得不面對(duì)的社會(huì)問題。而通過先進(jìn)的信息技術(shù)將具有該領(lǐng)域醫(yī)療專家水平的計(jì)算機(jī)輔助診斷系統(tǒng)應(yīng)用到醫(yī)療機(jī)構(gòu),一方面可以大大提高診斷效率與準(zhǔn)確率,另一方面也有利于患者的及時(shí)就診。從20世紀(jì)70年代末開始至80年代中期,我國(guó)先后出現(xiàn)一批醫(yī)學(xué)診斷專家系統(tǒng)軟件[1],早期的有上海計(jì)算所的中醫(yī)婦科診斷系統(tǒng)、吉林大學(xué)和白求恩醫(yī)科大學(xué)合作的婦科專家系統(tǒng)等。近期的有上海中西醫(yī)結(jié)合醫(yī)院與頤圣計(jì)算機(jī)公司聯(lián)合開發(fā)具有咨詢和輔助診斷性質(zhì)的計(jì)算機(jī)輔助診療系統(tǒng)等。當(dāng)前的人工智能技術(shù)發(fā)展已經(jīng)較為成熟,尤其是神經(jīng)網(wǎng)絡(luò)技術(shù)在諸多工程領(lǐng)域的應(yīng)用日趨廣泛,而利用遺傳算法來優(yōu)化神經(jīng)網(wǎng)絡(luò)并應(yīng)用到醫(yī)學(xué)輔助診斷領(lǐng)域的研究尚處于初級(jí)階段。鑒于此,本文利用遺傳算法來優(yōu)化矮小兒童智能診斷的神經(jīng)網(wǎng)絡(luò)模型。
本文采取石家莊展望未來科技長(zhǎng)期跟蹤監(jiān)測(cè)研究數(shù)據(jù)(所有檢查結(jié)果均來自于國(guó)內(nèi)各地正規(guī)醫(yī)院),對(duì)影響兒童身高發(fā)育的病因進(jìn)行分析訓(xùn)練和仿真。根據(jù)資料分析以及專家經(jīng)驗(yàn)確定影響兒童身高發(fā)育的主要因素[2]和檢查項(xiàng)目,并將之列為神經(jīng)網(wǎng)絡(luò)的輸入數(shù)據(jù):患兒性別,實(shí)際年齡,體重,現(xiàn)身高,CHN骨齡,BMI(Body Mass Index身體質(zhì)量指數(shù))評(píng)價(jià),父身高,母身高,生長(zhǎng)激素水平(GH),血清總?cè)饧谞钕僭彼?TT3),血清總甲狀腺素(TT4),促甲狀腺激素(TSH),促黃體生成素(LH),胰島素樣生長(zhǎng)因子1(IGF-1),胰島素樣生長(zhǎng)因子結(jié)合蛋白3(IGFBP-3),微量元素,腦CT。其中患兒性別、微量元素、腦CT都是非數(shù)值形式,不能直接被BP網(wǎng)絡(luò)識(shí)別,必須對(duì)其進(jìn)行數(shù)值化。分別用1,0代表性別屬性中的男和女,微量元素的不缺乏和缺乏,腦CT影像檢查結(jié)果的正常和異常。
診斷結(jié)果為8種常見的矮小病因類型,并將其作為神經(jīng)網(wǎng)絡(luò)的期望輸出模式:遺傳性矮小(0 0 0),體質(zhì)性青春期發(fā)育遲緩(0 0 1),原發(fā)性GHD(0 1 0),甲狀腺功能障礙(0 1 1),營(yíng)養(yǎng)性矮小(1 0 0),繼發(fā)性GHD(1 0 1),性早熟(1 1 0),其他疾病(1 1 1)。
對(duì)于樣本數(shù)據(jù)屬性的差異問題運(yùn)用數(shù)據(jù)歸一化方法對(duì)神經(jīng)網(wǎng)絡(luò)輸入數(shù)據(jù)進(jìn)行預(yù)處理,使數(shù)據(jù)分布在[-1,1]的區(qū)間上,以便于神經(jīng)網(wǎng)絡(luò)的快速收斂從而得出正確的診斷結(jié)果[3]。
Pn=2*(P-minp)/(maxp-minp)-1
(1)
Tn=2*(T-mint)/(maxt-mint)-1
(2)
這里,P和T分別為樣本中待處理的輸入數(shù)據(jù)和原始的目標(biāo)數(shù)據(jù),Pn和Tn為經(jīng)過歸一化處理后的輸入數(shù)據(jù)和目標(biāo)數(shù)據(jù)。矮小兒童病例數(shù)據(jù)歸一化后的結(jié)果如下表1所示:
矮小兒童智能診斷的數(shù)學(xué)模型是基于BP算法[4]的數(shù)學(xué)模型。BP網(wǎng)絡(luò)的學(xué)習(xí)是信息的正向傳遞和誤差的反向傳播,通過不斷修正權(quán)值來使目標(biāo)輸出與期望輸出更加接近。
三層感知器中,輸入向量為x=(x1,x2,…,xn)T,其中x0=-1是為隱層神經(jīng)元引入閾值而設(shè)置的;隱層的輸入向量為y=(y1,y2,…,ym)T,其中y0=-1是為輸出層神經(jīng)元引入閾值而設(shè)置的;輸出層輸出向量為o=(o1,o2,…,ol)T;期望輸出向量為d=(d1,d2,…,dl)T。輸入層到隱層之間的權(quán)值矩陣用v=(v1,v2,…,vm)T表示;隱層到輸出層之間的權(quán)值矩陣用w=(w1,w2,…,wi)T表示。
表1 病例樣本歸一化數(shù)據(jù)表
對(duì)于輸出層,有
ok=f(knet)
(3)
對(duì)于隱層,有
yj=f(jnet)
(4)
當(dāng)網(wǎng)絡(luò)輸出與期望不等時(shí),存在輸出誤差E,定義如下:
(5)
將式(3)擴(kuò)展至隱層與輸入層,有
(6)
(7)
相應(yīng)得出的三層感知器的BP學(xué)習(xí)算法權(quán)值調(diào)整計(jì)算公式為
Δwjk=ηδk0yj=η(dk-ok)ok(1-ok)yj
(8)
(9)
對(duì)于基于BP神經(jīng)網(wǎng)絡(luò)的矮小兒童智能診斷模型而言,神經(jīng)網(wǎng)絡(luò)的輸入信息為影響兒童矮小的屬性特征,總共有17個(gè)屬性;神經(jīng)網(wǎng)絡(luò)的輸出信息為最終診斷后的兒童矮小癥的病因類型(如上文1.1所述)。考慮到基于BP祌經(jīng)網(wǎng)絡(luò)的矮小兒童智能診斷模型的輸入變量和輸出變量的規(guī)模較小,因此在這里選用一層隱含層即可滿足網(wǎng)絡(luò)的性能要求。通過試算法比較不同的隱層神經(jīng)元數(shù)下網(wǎng)絡(luò)的訓(xùn)練情況,最終設(shè)定隱含層數(shù)目為10。至此得到網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)為17 - 10 - 8,如圖1所示。
在MATLAB的神經(jīng)網(wǎng)絡(luò)工具箱中,提供了多種不同的訓(xùn)練函數(shù),在本網(wǎng)絡(luò)中選擇trainlm對(duì)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,該函數(shù)的學(xué)習(xí)算法為L(zhǎng)evenberg-Marquardt優(yōu)化算法,其優(yōu)點(diǎn)在于收斂速度很快,能夠很好的達(dá)到預(yù)期的效率。選取purelin為神經(jīng)元上的傳遞函數(shù),誤差界值設(shè)置為0.01。為了平衡速率與精度之間的關(guān)系,將學(xué)習(xí)率初步設(shè)置為0.1。
遺傳算法[5]對(duì)系統(tǒng)的具體優(yōu)化設(shè)計(jì)單元中,具體步驟如下:
(1) 初步確定BP神經(jīng)網(wǎng)絡(luò)連接的取值范圍;
(2) 對(duì)網(wǎng)絡(luò)連接的取值進(jìn)行二進(jìn)制編碼;
(3) 以目標(biāo)函數(shù)最大值作為遺傳算法的適應(yīng)度函數(shù),即:
(10)
(4) 采用BP神經(jīng)網(wǎng)絡(luò)算法對(duì)所有權(quán)值組分別進(jìn)行訓(xùn)練,如果該N組權(quán)值至少有一組滿足精度的要求,那么尋優(yōu)算法結(jié)束,不然就轉(zhuǎn)入步驟(4)繼續(xù)學(xué)習(xí)。
(5) 在訓(xùn)練好的N組較好的權(quán)值中隨機(jī)選擇N組新的權(quán)值,與原來N組權(quán)值組合在一起,構(gòu)成一個(gè)完整的基因群體,這樣就共得到2N組權(quán)值。
(6) 將這2N組權(quán)值進(jìn)行遺傳操作(復(fù)制、雜交、變異)。
(7) 對(duì)經(jīng)過遺傳操作后獲得的新2N組權(quán)值進(jìn)行排序,并從中選出N組較好的權(quán)值,跳轉(zhuǎn)到步驟(3)。
遺傳算法的優(yōu)化[6],首先需要設(shè)置一些具體的算法參數(shù)如:種群規(guī)模、迭代次數(shù)、交叉率、變異率等;其次要對(duì)每一個(gè)具體算子的內(nèi)部參數(shù)進(jìn)行相關(guān)設(shè)計(jì)和確定。采用實(shí)驗(yàn)數(shù)據(jù)與BP網(wǎng)絡(luò)相同,30例樣本數(shù)據(jù)的前20例用于訓(xùn)練,10例用于檢測(cè)。根據(jù)網(wǎng)絡(luò)模型的拓?fù)浣Y(jié)構(gòu)得到權(quán)值共有17×10+10×8=250個(gè),閾值10+8=18個(gè),遺傳算法染色體編碼長(zhǎng)度[7]為250+18=268。確定好染色體編碼長(zhǎng)度后,對(duì)種群進(jìn)行初始化,GA的編碼程序可以實(shí)現(xiàn)初始化操作[8],最后將遺傳算法優(yōu)化后的權(quán)值閾值傳遞給BP網(wǎng)絡(luò)。
將實(shí)驗(yàn)數(shù)據(jù)用于單純BP算法,網(wǎng)絡(luò)的訓(xùn)練結(jié)果如圖2所示。由實(shí)驗(yàn)仿真圖可以看到,網(wǎng)絡(luò)在訓(xùn)練到80次時(shí)達(dá)到期望的誤差界值,但是仿真曲線顯示在網(wǎng)絡(luò)訓(xùn)練到大約82次時(shí)發(fā)生了振蕩,這對(duì)實(shí)驗(yàn)結(jié)果的準(zhǔn)確率產(chǎn)生一定影響。
然后將相同的網(wǎng)絡(luò)規(guī)模和拓?fù)浣Y(jié)構(gòu)運(yùn)用到遺傳算法的優(yōu)化中,遺傳算法優(yōu)化BP網(wǎng)絡(luò)的進(jìn)化曲線如圖3所示,優(yōu)化算法的訓(xùn)練次數(shù)為50次,得出BP網(wǎng)絡(luò)的平均收斂次數(shù)為85。遺傳算法優(yōu)化BP網(wǎng)絡(luò)的訓(xùn)練曲線如圖4所示,與傳統(tǒng)BP網(wǎng)絡(luò)相比,收斂明顯加快,也沒有發(fā)生訓(xùn)練振蕩。
(1)用遺傳算法優(yōu)化的BP網(wǎng)絡(luò)和單純的BP網(wǎng)絡(luò)相比,無論是在收斂速度還是在訓(xùn)練的穩(wěn)定性方面都表現(xiàn)出優(yōu)勢(shì)。
(2)將遺傳算法與BP神經(jīng)網(wǎng)絡(luò)的結(jié)合充分發(fā)揮了遺傳算法的全局搜索能力優(yōu)勢(shì)和BP神經(jīng)網(wǎng)絡(luò)的非線性映射能力和泛化能力的優(yōu)勢(shì),提高了網(wǎng)絡(luò)的性能,得到理想的實(shí)驗(yàn)效果,有效適用于對(duì)矮小兒童的智能診斷。
參考文獻(xiàn):
[1] 魏海坤. 神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計(jì)的理論與方法[M]. 北京:國(guó)防工業(yè)出版社, 2005.
[2] 祁建勤, 凌 星, 李亞玲, 等. 矮小兒童發(fā)病因素臨床分析[J]. 中國(guó)兒童保健雜志, 2006,14(1):94-95.
[3] 王 華,胡學(xué)鋼.醫(yī)學(xué)數(shù)據(jù)挖掘中的數(shù)據(jù)預(yù)處理與Apriori算法改進(jìn)[J]. 計(jì)算機(jī)系統(tǒng)與應(yīng)用,2009,9(1):94-97.
[4] P KAELO, M M ALI. Integrated crossover rules in real coded genetic algorithms[J]. European Journal of Operational Research, 2007, 7(6):60-76.
[5] ZHEN GUOTU,YONG LU. A robust stochastic genetic algorithm for global numerical optimization[J]. IEEE Transactions on Evolutionary Computation, 2004, 8(5): 456-470.
[6] 王 南,張京軍,高瑞貞. 基于改進(jìn)遺傳算法多體模型的汽車懸架參數(shù)優(yōu)化[J].遼寧工程技術(shù)大學(xué)學(xué)報(bào), 2007, 26(3):435-437.
[7] 張京軍,呂 品,高瑞貞,等. 單純同倫算法的改進(jìn)遺傳算法 [J].遼寧工程技術(shù)大學(xué)學(xué)報(bào), 2013,32(7):987-991.
[8] 熊 凌.基于遺傳算法的BP網(wǎng)絡(luò)全局收斂的混合智能學(xué)習(xí)算法[J].武漢科技大學(xué)學(xué)報(bào), 2000,23(2):45-47.