江瓊琴,宋文廣
(長江大學(xué) 計算機(jī)科學(xué)學(xué)院,湖北 荊州 434023)
BP網(wǎng)絡(luò)是一種反向傳播的學(xué)習(xí)方法,其英文全稱為Back-Propagation Neural Network,簡稱為BP神經(jīng)網(wǎng)絡(luò)。該網(wǎng)絡(luò)模型是一種由多層感知器構(gòu)成的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),主要由三部分構(gòu)成:輸入層、隱藏層、輸出層。如下圖1所示。
圖1 原始的BP網(wǎng)絡(luò)模型結(jié)構(gòu)圖
由圖1可知,BP網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)為網(wǎng)狀結(jié)構(gòu),輸入層到隱藏層之間可以有很多條不同的通道,隱藏層到輸出層也有很多條不同的通道。其推理的基本思想是:如果在輸入層輸入a1,a2,…an等n個數(shù)據(jù)源,通過網(wǎng)絡(luò)算法推理在輸出層得到y(tǒng)1,y2,…yq等q個預(yù)測的結(jié)果數(shù)據(jù)。這q個預(yù)測結(jié)果數(shù)據(jù)與實際測量得到的c1,c2,…cq等q個數(shù)據(jù)之間的誤差盡可能的小。該實測結(jié)果數(shù)據(jù)是輸入數(shù)據(jù)的實測數(shù)據(jù)。利用這種思想,研究一套BP網(wǎng)絡(luò)建模的算法,結(jié)合計算機(jī)編程,利用計算機(jī)軟件實現(xiàn)當(dāng)輸入某些數(shù)據(jù)時,就能推理得到預(yù)測的結(jié)果數(shù)據(jù)與真實值比較接近。從而可以達(dá)到預(yù)測唇裂修復(fù)手術(shù)的結(jié)果圖。其BP網(wǎng)絡(luò)模型的建模過程如下所述。
第一步,設(shè)置BP網(wǎng)絡(luò)模型的初始搜索方向為負(fù)梯度方向,如式(1)。
式(1)中d0為BP網(wǎng)絡(luò)模型的搜索方向,
第二步,為了能讓網(wǎng)絡(luò)模型能在有限的時間內(nèi),準(zhǔn)確的推算出輸出結(jié)果數(shù)據(jù),則必須設(shè)置合適的學(xué)習(xí)速度 ak,ak的值如式(2)。
式(2)中 dk為搜索的方向,ω(k)的值如式(1)所述。
第三步,改進(jìn)的BP網(wǎng)絡(luò)模型梯度的搜索方向,設(shè)置為如式(3)。
式(3)中,的值如式(1)所述。
根據(jù)前面的建模過程,在Matlab 2010中進(jìn)行仿真測試,將預(yù)測結(jié)果值與實測值之間的誤差設(shè)置為10-5這個范圍內(nèi)時,其預(yù)測過程的步長為185,如下圖1所示。
圖2 改進(jìn)BP網(wǎng)絡(luò)模型算法的仿真
由圖2可知,在計算機(jī)內(nèi)存2G,主頻2.0G的主機(jī)下運(yùn)行此算法模型是沒有任何問題的,改進(jìn)的神經(jīng)網(wǎng)絡(luò)算法模型其計算推理的性能可以被客戶所接受。
通過對改進(jìn)BP網(wǎng)絡(luò)模型的研究,利用計算機(jī)混合編程的技術(shù),將Matlab 2010嵌入到Microsoft Visual Studio 2010中進(jìn)行軟件設(shè)計及編程實現(xiàn)。其利用Matlab 2010設(shè)計樣本數(shù)據(jù)的流程圖如3所示。
圖3 Matlab中BP樣本數(shù)據(jù)訓(xùn)練的流程圖
將訓(xùn)練樣本的計算模型,嵌入到Microsoft Visual Studio 2010中,其預(yù)測數(shù)據(jù)的輸入輸出端通過Microsoft Visual Studio 2010軟件界面來實現(xiàn),該軟件設(shè)計流程如圖4所示。
圖4 混合編程實現(xiàn)軟件設(shè)計流程圖
混合編程的實現(xiàn)過程如圖4所示,通過Microsoft Visual Studio 2010的軟件界面將預(yù)測的數(shù)據(jù)輸入到改進(jìn)BP網(wǎng)絡(luò)模型中,啟用Matlab 2010中BP樣本數(shù)據(jù)訓(xùn)練過的網(wǎng)絡(luò)模型,接著裝載樣本數(shù)據(jù),再找到樣本數(shù)據(jù)中的最大的P,T進(jìn)行樣本訓(xùn)練,對輸入的數(shù)據(jù)進(jìn)行歸一化的處理,得到預(yù)測的結(jié)果值。最后將預(yù)測結(jié)果值輸出。
根據(jù)BP網(wǎng)絡(luò)的算法設(shè)計思想,設(shè)定維持軟組織面結(jié)構(gòu)的結(jié)構(gòu)彈簧,防止軟組織過度彎曲的彎曲彈簧,模擬軟組織剪切性能的剪切彈簧,體現(xiàn)軟組織粘彈性的虛擬彈簧。為了簡化BP算法模型,采取現(xiàn)在虛擬手術(shù)中常用的擬線彈性模型。質(zhì)點(diǎn)彈簧模型的運(yùn)算在Microsoft Visual Studio 2010中事先實現(xiàn)。軟件設(shè)計流程如圖5所示。
圖5 BP神經(jīng)網(wǎng)絡(luò)模型仿真實現(xiàn)流程圖
根據(jù)軟件設(shè)計流程,通過編程實現(xiàn)的軟件界面如下圖6所示。
圖6 唇裂預(yù)測軟件主界面窗口
在預(yù)測系統(tǒng)軟件中,輸入患者的唇裂圖片就可以看到類似患者采用相同手術(shù)后實施手術(shù)前后的效果對比圖。這幫助了患者理解手術(shù)過程帶來的修復(fù)質(zhì)量,為患者手術(shù)預(yù)測提供了有利的依據(jù)。
通過對BP網(wǎng)絡(luò)模型的研究,利用計算機(jī)混合編程的技術(shù),將網(wǎng)絡(luò)訓(xùn)練樣本模型通過Matlab 2010實現(xiàn)后,嵌入到Microsoft Visual Studio 2010中進(jìn)行編程,實現(xiàn)一套唇裂修復(fù)預(yù)測軟件系統(tǒng)。在荊州中心醫(yī)院口腔科,將患者手術(shù)前的唇裂圖片掃描輸入到唇裂修復(fù)預(yù)測軟件系統(tǒng)中,啟動系統(tǒng),選擇相應(yīng)的唇裂手術(shù)來實施,系統(tǒng)可以自動的輸出得到唇裂修復(fù)后的效果圖。幫助唇裂患者進(jìn)行手術(shù)愈合的效果預(yù)測提供了直觀、有力的科學(xué)依據(jù),很好的協(xié)調(diào)了醫(yī)患關(guān)系。
文章創(chuàng)新之處在于提出了一種改進(jìn)的BP神經(jīng)網(wǎng)絡(luò)系統(tǒng)模型,結(jié)合計算機(jī)軟件通過混合編程的技術(shù)對模型進(jìn)行了仿真與實測,具有一定的研究參考價值。為唇裂手術(shù)預(yù)測修復(fù),解決醫(yī)患關(guān)系起到了重要作用,是唇裂手術(shù)預(yù)測修復(fù)中的一個創(chuàng)新。
[1]呂帥,劉磊,石蓮,等.基于自動推理技術(shù)的智能規(guī)劃方法[J].軟件學(xué)報,2011(5):1226-1238.
[2]Wenguang Song,The Tactics Analysis about Early Phase Ends of the Partial Distortion Search[C]//2008 IEEE.DOI 10.1109/WGEC,2008:324-327.
[3]孫娓娓,劉瓊蓀.BP神經(jīng)網(wǎng)絡(luò)的聯(lián)合優(yōu)化算法[J].計算機(jī)工程與應(yīng)用,2011(12):50-51,54.
[4]杜曉亮,蔣志方,譚業(yè)浩,基于樣本自組織聚類的BP神經(jīng)網(wǎng)絡(luò)預(yù)測模型[J].計算機(jī)工程與應(yīng)用,2011(21):167-170.
[5]Wenguang Song.The Research of One Self-Adapt Wireless Sensor Network Rate Flow Control[C]//NSWCTC 2009 Table of Contents Volume-2[EI],2009:267-269.
[6]宋文廣,Levenberg-Marquardt算法的建模及在水敏損害預(yù)測中應(yīng)用[J].化工自動化及儀表,2010,37(4):86-88.
[7]宋文廣,郭海敏,丁文波.Traingd算法模型在油田儲層損害中的應(yīng)用[J].化工自動化及儀表,2011,38(6):673-675.