国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

PSO—BP算法在醫(yī)學(xué)中的應(yīng)用

2013-04-29 21:36:25葉財(cái)智唐德玉
電腦知識(shí)與技術(shù) 2013年7期
關(guān)鍵詞:粒子群算法

葉財(cái)智 唐德玉

摘要:粒子群優(yōu)化算法(PSO)是一種帶有全局隨機(jī)性質(zhì)的群體搜索演化算法, 魯棒性強(qiáng),通過微粒群優(yōu)化算法同BP算法的結(jié)合 ,解決BP算法收斂速度慢,容易陷入局部最小值的問題,并實(shí)驗(yàn)證明PSOBP算法其收斂性能,學(xué)習(xí)速度和穩(wěn)定性要優(yōu)于BP算法。再結(jié)合實(shí)際需求,以印第安人肝癌疾病為例對(duì)PSOBP算法在醫(yī)學(xué)中的應(yīng)用進(jìn)行探討。

關(guān)鍵詞: 粒子群算法;BP算法;PSOBP算法 ;印第安人肝癌;醫(yī)學(xué)應(yīng)用

中圖分類號(hào):TP301 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2013)07-1689-05

隨著醫(yī)療改革政策的出臺(tái),越來越多的政策惠及于民,老百姓看病難的問題漸漸得到解決,但是看病并不能幫助老百姓解決根本性的問題-看好病,能夠從根本上預(yù)防一些疾病,提前對(duì)疾病做出醫(yī)學(xué)療效的預(yù)測(cè),合理控制藥劑,藥量的使用 ,讓老百姓能夠遠(yuǎn)離疾病的折磨和困擾,從而提高醫(yī)療服務(wù)的質(zhì)量,降低患者的就醫(yī)成本和用藥成本,進(jìn)而保證百姓的身體健康,這樣才是百姓所需要的。在云計(jì)算和大數(shù)據(jù)的時(shí)代背景下,醫(yī)院存有患者的大量數(shù)據(jù),通過對(duì)海量數(shù)據(jù)的處理,建立預(yù)測(cè)模型,再對(duì)這個(gè)模型進(jìn)行測(cè)試訓(xùn)練,挖掘出數(shù)據(jù)中潛藏的有價(jià)值的信息或者診斷規(guī)則,得到合適的算法模型,輔助醫(yī)學(xué)診斷治療成為了可能。

該文簡(jiǎn)單介紹了BP算法和微粒群優(yōu)化算法,重點(diǎn)討論了兩種算法的結(jié)合,形成了PSOBP算法,并使用其優(yōu)化BP算法的初始權(quán)值和閾值,并實(shí)驗(yàn)驗(yàn)證其比BP算法更具優(yōu)越性,最后以印第安人肝癌疾病為醫(yī)學(xué)應(yīng)用事例,對(duì)PSOBP算法進(jìn)行應(yīng)用分析。

1 BP算法神經(jīng)網(wǎng)絡(luò)

BP神經(jīng)網(wǎng)絡(luò)(backpropagation,BP)是從仿生學(xué)的角度上模仿的生物智能科學(xué)行為,是基于誤差反向傳播的多層前向神經(jīng)網(wǎng)絡(luò),具有良好的自適應(yīng)、自組織和極強(qiáng)的學(xué)習(xí)、聯(lián)想、容錯(cuò)和抗干擾能力[1].BP神經(jīng)網(wǎng)絡(luò)能模擬任意線性與非線性函數(shù),因而具有良好的預(yù)測(cè)能力.其包含輸入層,隱含層,輸出層,各層都有一些神經(jīng)元,與相鄰層的所有各單元均互相連接,兩個(gè)單元間的連接強(qiáng)度稱為“權(quán)值”.主要步驟如下:

①確定BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)。根據(jù)研究的具體問題設(shè)置BP神經(jīng)網(wǎng)絡(luò)輸入層,隱含層,輸出層,各層的節(jié)點(diǎn)數(shù)

②初始化BP神經(jīng)網(wǎng)絡(luò)相關(guān)參數(shù),包括各連接層之間的權(quán)值和閾值,以及學(xué)習(xí)率

③根據(jù)隱含層輸出H和預(yù)測(cè)誤差O,計(jì)算網(wǎng)絡(luò)輸出誤差

④判斷誤差是否符合要求,不滿足的話。根據(jù)誤差,調(diào)整各層誤差, 更新網(wǎng)絡(luò)連接權(quán)值和閾值。

⑤判斷迭代是否結(jié)束,若沒有結(jié)束,返回③。

2 粒子群優(yōu)化(PSO)算法

粒子群優(yōu)化(Particle Swarm Optimization, PSO)算法微粒群算法(PSO ) 是由Kennedy 和Eberhart等[2,3] 于1995 年開發(fā)的一種演化計(jì)算技術(shù), 來源于對(duì)一個(gè)簡(jiǎn)化社會(huì)模型的模擬。通過群體中個(gè)體之間協(xié)作和信息的共享來搜索全局的最優(yōu)解,其追隨兩個(gè)最優(yōu)位置運(yùn)行的信息共享原理為優(yōu)化算法設(shè)計(jì)提供了嶄新的思路. 這兩個(gè)位置中的一個(gè)是粒子目前找到的最優(yōu)解gbest,另一個(gè)是鄰域內(nèi)的個(gè)體目前找到的最優(yōu)解 Pbest[4].

在微粒群算法中,粒子是D維搜索空間里沒有質(zhì)量和體積,帶有位置和速度信息的微粒,并且在搜索空間里以變動(dòng)的速度飛行,該飛行速度根據(jù)個(gè)體的飛

行經(jīng)驗(yàn)和群體的飛行經(jīng)驗(yàn)進(jìn)行動(dòng)態(tài)調(diào)整[5]。設(shè)搜索空間里存在n個(gè)微粒,則第i個(gè)微粒個(gè)體的位置可表示為Xi=(Xi1,Xi2,, Xi3,Xi4,.....Xin);飛行速度Vi=(Vi1,Vi2,, Vi3,Vi4,.....Vin);微粒i所經(jīng)歷的最好適應(yīng)值的位置為Pi=(Pi1,Pi2,, Pi3,Pi4,.....Pin);微粒群體經(jīng)歷的最優(yōu)位置為Pg=(Pg1,Pg2,, Pg3,Pg4,.....Pgn);

微粒的位置和速度通過以下公式進(jìn)行更新[6]

其中:W是慣性系數(shù),表示的微粒的歷史速度對(duì)當(dāng)前速度的影響;c1和c2表示加速因子,c1調(diào)節(jié)微粒飛向自身最優(yōu)位置,c2調(diào)節(jié)微粒飛向全局最優(yōu)位置,通常可以取c1=c2=2[6];rand1和rand2為均勻分布的隨機(jī)數(shù),范圍在0到1之間,包括0和1,xidk為第k 次迭代粒子i 位置矢量的第d 維分量[7];速度公式(1)的第二項(xiàng)表明微粒個(gè)體的認(rèn)知能力;第三項(xiàng)表明社會(huì)認(rèn)知能力。基于公式(1)、(2)的微粒群算法稱作基本微粒群算法[8]。

標(biāo)準(zhǔn)PSO 的算法流程圖如圖1所示。

3 基于PSOBP算法的研究

粒子群優(yōu)化算法高效,結(jié)構(gòu)簡(jiǎn)單,收斂速度快,容易實(shí)現(xiàn),性能穩(wěn)定,通過粒子群算法去優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值比BP神經(jīng)網(wǎng)絡(luò)算法隨機(jī)產(chǎn)生權(quán)值和閾值獲得的結(jié)構(gòu)更具穩(wěn)定性和優(yōu)越性。

PSOBP算法步驟如下:

Step1:通過訓(xùn)練樣本確定BP神經(jīng)網(wǎng)絡(luò)輸入層,隱含層 ,輸出層各層的節(jié)點(diǎn)數(shù)。

Step2:根據(jù)Step1中確定好的BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),建立關(guān)于BP神經(jīng)網(wǎng)絡(luò)權(quán)值和閾值同微粒群粒子維度空間的映射關(guān)系,即神經(jīng)網(wǎng)絡(luò)連接權(quán)值和閾值的總數(shù)目等于微粒群的維數(shù),初始化微粒群的有關(guān)參數(shù):慣性權(quán)值W,加速常數(shù)C1和C2以及初始位置X和初始速度V,設(shè)置最大最小速度,種群規(guī)模以及進(jìn)化代數(shù)。

Step3: 設(shè)置[error=i=1i=n|Oi預(yù)測(cè)-Oi實(shí)際|]即訓(xùn)練誤差和函數(shù)作為BP神經(jīng)網(wǎng)絡(luò)適應(yīng)度評(píng)價(jià)函數(shù),當(dāng)error的值最小時(shí),微粒群粒子的適應(yīng)度達(dá)到最高,此時(shí)問題獲得最優(yōu)解。Oi預(yù)測(cè)為神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)輸出,Oi實(shí)際 為神經(jīng)網(wǎng)絡(luò)的實(shí)際輸出。

Step4: 根據(jù)BP神經(jīng)網(wǎng)絡(luò)的訓(xùn)練誤差和Step3計(jì)算微粒群粒子的適應(yīng)度值。

Step5: 比較各個(gè)粒子的適應(yīng)度值與其歷史最優(yōu)位置的優(yōu)劣,如果更好,則更新該粒子的適應(yīng)度值作為粒子的最優(yōu)位置,即Pbest 。

Step6: 比較各個(gè)粒子的適應(yīng)度值同群體的歷史最佳位置g best的優(yōu)劣, 若更優(yōu),則更新gbest.

Step7: 根據(jù)2中公式1和公式2調(diào)整微粒的速度,更新微粒的位置

Step8: 根據(jù)種群的最優(yōu)位置調(diào)整BP神經(jīng)網(wǎng)絡(luò)的相關(guān)參數(shù),主要是連接權(quán)值和閾值。

Step9:對(duì)更新的粒子群進(jìn)行適應(yīng)度評(píng)價(jià),判斷迭代次數(shù)是否達(dá)到結(jié)束條件,如果滿足結(jié)束條件,則算法停止,則如果不滿足,則應(yīng)該轉(zhuǎn)入Step5繼續(xù)迭代,直至滿足結(jié)束條件為止。

4 PSOBP算法與BP算法的實(shí)驗(yàn)對(duì)比

Matlab是一種高性能的可視化科學(xué)和工程計(jì)算軟件,它提供了完備的神經(jīng)網(wǎng)絡(luò)工具箱.可以大大節(jié)省對(duì)神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)算法編程的時(shí)間,同時(shí)也提高了網(wǎng)絡(luò)輸出的精度.使建立起的網(wǎng)絡(luò)更加可靠有效[9]。所以實(shí)驗(yàn)是在matlab的環(huán)境下進(jìn)行的。

通過隨機(jī)產(chǎn)生1900組關(guān)于函數(shù)z=x^2+y^2(-5

BP算法實(shí)驗(yàn)結(jié)果如圖2:

PSOBP算法的實(shí)驗(yàn)結(jié)果如圖3:

通過圖3和圖 4比較,可以發(fā)現(xiàn)PSOBP算法在迭代次數(shù)上明顯優(yōu)于BP算法,BP算法需要1000epochs,PSOBP算法只需要epochs,BP算法和PSOBP算法在誤差(MSE)訓(xùn)練數(shù)據(jù)和測(cè)試數(shù)據(jù)的擬合程度較高,但是PSOBP算法誤差程度比BP算法更小。BP算法的的誤差是5.0598E-006,PSOBP算法的誤差是1.0454E-007.

由于醫(yī)學(xué)上對(duì)于預(yù)測(cè)要求較高,預(yù)測(cè)的不穩(wěn)定對(duì)于醫(yī)學(xué)的診斷結(jié)果影響較大,所以我們重復(fù)了20次試驗(yàn) 分別記錄下了BP算法和PSOBP算法的的誤差,獲得了PSOBP算法誤差與BP算法誤差曲線分布情況如圖4。

由圖4可以看出BP算法的誤差波動(dòng)大,不穩(wěn)定,PSOBP算法的誤差相對(duì)穩(wěn)定,波動(dòng)小,BP算法誤差大部分范圍都比PSOBP算法大了幾個(gè)級(jí)數(shù)。由于PSOBP算法的穩(wěn)定性更好和誤差更小,作為醫(yī)學(xué)實(shí)驗(yàn)的預(yù)測(cè)算法從效果上和準(zhǔn)確性上來說會(huì)明顯要優(yōu)于BP算法。(注:粗線表示BP算法所得誤差,細(xì)線表示PSOBP算法所得誤差)

5 PSOBP算法在醫(yī)學(xué)中的應(yīng)用

5.1印第安人肝癌數(shù)據(jù)集

為了驗(yàn)證提出的PSOBP算法在醫(yī)學(xué)中應(yīng)用的有效性和可行性,采用UCI機(jī)器學(xué)習(xí)數(shù)據(jù)庫網(wǎng)站提供的關(guān)于印第安人肺癌數(shù)據(jù)集作為實(shí)驗(yàn)的樣本集。所使用的實(shí)驗(yàn)材料來自于 Bendi Venkata Ramana等教授于2012年5月21日所建立的Indian Liver Patient Dataset ,該數(shù)據(jù)集主要是針對(duì)印第安人肝癌患者記錄,共有583條記錄樣本,9個(gè)輸入屬性為連續(xù)性數(shù)值屬性,1個(gè)輸入屬性為非數(shù)值屬性,一個(gè)類別標(biāo)記屬性“是否肝臟患者”(或稱為輸出屬性),“是否肝臟患者”屬性數(shù)值有1 和2兩種,當(dāng)“是否肝臟患者”屬性值為1時(shí),表示為印第安肝癌患者,數(shù)值值為2時(shí),表示非印第安肝癌患者,該樣本包含441個(gè)男性記錄,142個(gè)女性記錄。416個(gè)肝癌患者記錄,167個(gè)非肝癌患者記錄。

樣本集屬性說明如下:患者年齡,性別,總膽紅素,結(jié)合膽紅素,Alkphos 堿性磷酸酶,谷丙轉(zhuǎn)氨酶,谷草轉(zhuǎn)氨酶,總蛋白,白蛋白,白蛋白與球蛋白的比率,是否肝癌患者

5.2實(shí)驗(yàn)結(jié)果與分析

首先對(duì)數(shù)據(jù)集進(jìn)行預(yù)處理,將性別非數(shù)值屬性轉(zhuǎn)換為數(shù)值屬性男性用數(shù)值1表示,女性用數(shù)值0表示,處理完成后,選取前570條記錄作為訓(xùn)練集,后13條記錄作為測(cè)試集。通過PSOBP算法對(duì)前570記錄進(jìn)行訓(xùn)練,得到訓(xùn)練好的神經(jīng)網(wǎng)絡(luò),然后通過訓(xùn)練好的網(wǎng)絡(luò)對(duì)13條記錄進(jìn)行測(cè)試,獲得測(cè)試后的結(jié)果,由于輸出屬性實(shí)際數(shù)值為1,2整數(shù),預(yù)測(cè)結(jié)果是非整數(shù)值,所以采用四舍五入的取整處理。

通過30次重復(fù)實(shí)驗(yàn),發(fā)現(xiàn)印第安肝癌患者通過PSOBP算法的獲得預(yù)測(cè)曲線穩(wěn)定在以下兩種情況。

如圖5和圖6所示。

實(shí)際數(shù)值曲線為:

通過圖5,圖6同圖7進(jìn)行比較,結(jié)合表1可以發(fā)現(xiàn),前期由于實(shí)際數(shù)值的波動(dòng)性較小,數(shù)值穩(wěn)定,所以能夠較好的預(yù)測(cè)到結(jié)果,而后期由于數(shù)值有較大波動(dòng),預(yù)測(cè)結(jié)果有所差異,但整體的預(yù)測(cè)準(zhǔn)確率穩(wěn)定在85%,對(duì)于醫(yī)學(xué)診斷預(yù)測(cè)能夠具有良好的輔助作用,當(dāng)準(zhǔn)確率提高時(shí),有利于增加醫(yī)學(xué)預(yù)測(cè)診斷的實(shí)效性。

6 結(jié)束語

印第安人肝癌疾病實(shí)驗(yàn)事例證明了PSOBP算法能夠應(yīng)用于醫(yī)學(xué)預(yù)測(cè)診斷中,預(yù)測(cè)準(zhǔn)確度較高且穩(wěn)定,能夠很好的服務(wù)于醫(yī)學(xué)領(lǐng)域,在醫(yī)學(xué)行業(yè)中有很大的發(fā)展前景,相信隨著PSOBP的各類改進(jìn)算法的涌現(xiàn)和算法同各種醫(yī)學(xué)信息的磨合,一定可以為百姓帶來更多的方便,為社會(huì)和經(jīng)濟(jì)帶來更大的效益。

參考文獻(xiàn):

[1] 張卉.基于粒子群優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的房?jī)r(jià)預(yù)測(cè)[J].價(jià)值工程,2012(14).

[2] Kennedy J , Eberhart R. Part icle sw arm op t im izat ion[A]. P roc IE E E Int Conf on N eu ral N etw orks [C].Perth, 1995. 194221948.

[3] Eberhart R, Kennedy J. A new op t im izer using part iclesw arm theory [A]. P roc 6th Int S ymposium on MicroMachine and H um an Science[C ]. Nagoya, 1995. 39243.

[4] 謝曉鋒,張文俊,楊之廉.微粒群算法綜述[J].控制與決策,2003(2):129-131.

[5] 劉宇,覃征,史哲文,簡(jiǎn)約粒子群優(yōu)化算法[J].西安交通大學(xué)學(xué)報(bào),2006(8):883-887.

[6] 袁代林,程世娟,陳虬.一種新形式的微粒群算法[J].計(jì)算機(jī)工程與應(yīng)用,2008,44(33):57-59.

[7] 王安娜,陶子玉,姜茂發(fā),等.基于PSO和BP網(wǎng)絡(luò)的LF爐鋼水溫度智能預(yù)測(cè)[J].控制與決策,2006,21(7):814-817.

[8] 王輝.一種新型的多種群微粒群算法[J].計(jì)算機(jī)工程與應(yīng)用,2010(35):45-48.

[9] 王鈺,郭其一,李維剛.基于改進(jìn)BP神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)模型及其應(yīng)用[J].計(jì)算機(jī)測(cè)量與控制,2005(5):39-42.

猜你喜歡
粒子群算法
幾種改進(jìn)的螢火蟲算法性能比較及應(yīng)用
基于支持向量機(jī)的短期電力負(fù)荷預(yù)測(cè)
基于云計(jì)算平臺(tái)的資源調(diào)度優(yōu)化研究
一種基于高維粒子群算法的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)優(yōu)化研究
基于PSODE混合算法優(yōu)化的自抗擾控制器設(shè)計(jì)
蟻群算法的運(yùn)用及其優(yōu)化分析
電力市場(chǎng)交易背景下水電站優(yōu)化調(diào)度研究
基于粒子群算法的產(chǎn)業(yè)技術(shù)創(chuàng)新生態(tài)系統(tǒng)運(yùn)行穩(wěn)定性組合評(píng)價(jià)研究
無線傳感器網(wǎng)絡(luò)聯(lián)盟初始結(jié)構(gòu)生成研究
交通堵塞擾動(dòng)下多車場(chǎng)車輛路徑優(yōu)化
商(2016年5期)2016-03-28 18:10:26
故城县| 丹江口市| 托克托县| 霍邱县| 龙泉市| 嘉荫县| 抚远县| 镇巴县| 全州县| 土默特右旗| 罗定市| 佳木斯市| 重庆市| 北京市| 东台市| 通山县| 广宗县| 泰兴市| 宁都县| 保靖县| 波密县| 永兴县| 彭水| 绍兴县| 通辽市| 枞阳县| 德清县| 溧水县| 固安县| 谢通门县| 凌云县| 牙克石市| 兴隆县| 丰宁| 汤阴县| 汉沽区| 贵德县| 深州市| 衡水市| 大安市| 湖州市|