趙曉丹
(復(fù)旦大學(xué) 附屬上海市第五人民醫(yī)院,上海 200233)
隨著經(jīng)濟(jì)水平和生活水平的提高以及人口老齡化的加速,提高醫(yī)療保健水平成為當(dāng)前研究的熱點(diǎn)問題。在“互聯(lián)網(wǎng)+”時(shí)代,遠(yuǎn)程疾病診斷研究顯得格外迫切,通過患者身體狀況的在線監(jiān)測(cè),可以實(shí)現(xiàn)遠(yuǎn)程醫(yī)院的診斷和監(jiān)護(hù),患者的自由沒有限制,生活也不受影響,患者在線監(jiān)測(cè)結(jié)果可以本地存儲(chǔ),也可以通過網(wǎng)絡(luò)傳輸?shù)竭h(yuǎn)程醫(yī)療中心。遠(yuǎn)程疾病診斷監(jiān)控系統(tǒng)主要包括遠(yuǎn)程監(jiān)護(hù)中心、通信網(wǎng)絡(luò)系統(tǒng)和終端檢測(cè)設(shè)備,通過人體專用傳感器(終端檢測(cè)設(shè)備)采集人體生理信息和醫(yī)學(xué)信號(hào),通過遠(yuǎn)程通訊網(wǎng)絡(luò)(通信網(wǎng)絡(luò)系統(tǒng))將采集獲取的信號(hào)傳送到遠(yuǎn)端的醫(yī)療監(jiān)護(hù)中心(遠(yuǎn)程監(jiān)護(hù)中心),在遠(yuǎn)程監(jiān)護(hù)中心端專業(yè)的醫(yī)護(hù)人員對(duì)采集獲取的信號(hào)進(jìn)行處理并做出反應(yīng),給出及時(shí)準(zhǔn)確的診斷信息[1]。
針對(duì)BP神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)結(jié)果易受初始連接權(quán)值cj、ωij和閾值ε、θj的影響和陷入局部極值的問題,提出一種FOA優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的遠(yuǎn)程疾病診斷研究模型。在無線傳感網(wǎng)絡(luò)和ZigBee網(wǎng)絡(luò)的基礎(chǔ)上,通過FOA優(yōu)化BP神經(jīng)網(wǎng)絡(luò)初始連接權(quán)值和閾值,實(shí)現(xiàn)BP神經(jīng)網(wǎng)絡(luò)初始連接權(quán)值和閾值的自適應(yīng)最優(yōu)選擇。
遠(yuǎn)程疾病診斷網(wǎng)絡(luò)結(jié)構(gòu)圖如圖1所示[2]。
圖1 遠(yuǎn)程疾病診斷網(wǎng)絡(luò)結(jié)構(gòu)
首先,由傳感器節(jié)點(diǎn)和監(jiān)護(hù)相關(guān)設(shè)備構(gòu)成微型監(jiān)護(hù)網(wǎng)絡(luò),主要作用是通過中央控制器控制采集人體生理信息和醫(yī)學(xué)信號(hào);其次,通過Zigbee無線通信方式將采集獲取的信號(hào)傳送到遠(yuǎn)端的醫(yī)療監(jiān)護(hù)中心(遠(yuǎn)程監(jiān)護(hù)中心),如圖2所示。
最后,在遠(yuǎn)程監(jiān)護(hù)中心端專業(yè)的醫(yī)護(hù)人員對(duì)采集獲取的信號(hào)進(jìn)行處理并做出反應(yīng),給出及時(shí)準(zhǔn)確的診斷信息。救護(hù)車中的醫(yī)護(hù)人員還可通過GPRS 實(shí)時(shí)傳送急救病人情況,使得醫(yī)院搶救室及時(shí)地做好各項(xiàng)準(zhǔn)備工作。由于醫(yī)療傳感器節(jié)點(diǎn)能夠根據(jù)實(shí)際需要進(jìn)行設(shè)置,因此該系統(tǒng)具有靈活性大、擴(kuò)展性強(qiáng)的優(yōu)點(diǎn),此外接入因特網(wǎng),能夠形成更大的醫(yī)療監(jiān)護(hù)網(wǎng)絡(luò)。
圖2 ZigBee無線網(wǎng)絡(luò)
果蠅優(yōu)化算法(Fruit Fly Optimization Algorithm,F(xiàn)OA)是受果蠅覓食行為啟發(fā)所提出的一種群智能算法,其算法流程如下[3]:
(1) FOA參數(shù)初始化:果蠅群體規(guī)模N、最大迭代次數(shù)T,果蠅群體初始位置X_begin和Y_begin;
(2) 計(jì)算果蠅個(gè)體的尋優(yōu)距離和隨機(jī)方向如式(1)、式(2)。
xi=X_begin+Value×rand()
(1)
yi=Y_begin+Value×rand()
(2)
式中,Value表示搜索距離;xi和yi表示果蠅個(gè)體的下一時(shí)刻位置的x坐標(biāo)和y坐標(biāo)。
(3) 計(jì)算果蠅個(gè)體距離原點(diǎn)之間的距離di,并計(jì)算果蠅個(gè)體的味道濃度si,如式(3)、式(4)。
(3)
(4)
(4) 味道濃度si代入式(5)味道濃度判定函數(shù),計(jì)算當(dāng)前位置的果蠅個(gè)體的味道濃度如式(5)。
Smelli=Function(si)
(5)
(5) 找到果蠅群體中最佳味道濃度值Smellb和最佳位置(xb,yb);
(6) 保留并記錄果蠅最佳位置(xb,yb)和最佳味道濃度Smellbest=Smellb,令X_begin=xb和Y_begin=yb,果蠅群體向該最佳位置尋優(yōu);
(7) 重復(fù)式(2)-式(5),判斷當(dāng)前味道濃度是否優(yōu)于前一迭代時(shí)刻的味道濃度;若滿足條件,則執(zhí)行式(6)。
BP神經(jīng)網(wǎng)絡(luò)是由輸入層、隱含層和輸出層組成的多層前饋神經(jīng)網(wǎng)絡(luò),3層典型BP神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)模型圖如圖3所示。
圖3中,輸入維數(shù)和輸出維數(shù)分別為m和1,隱含層數(shù)為p,則BP神經(jīng)網(wǎng)絡(luò)的映射數(shù)學(xué)表達(dá)式為[4-5],如式(6)。
圖3 BP網(wǎng)絡(luò)結(jié)構(gòu)圖
(6)
其中,f表示隱含層激勵(lì)函數(shù);ε表示輸出層的閾值;cj、bj分別表示隱含層到輸出層的連接權(quán)值和隱含層節(jié)點(diǎn)的輸出。一般地,BP神經(jīng)網(wǎng)絡(luò)的轉(zhuǎn)移函數(shù)選擇Sigmoid函數(shù),其公式如下[6-7],如式(7)、式(8)。
(7)
因此,BP神經(jīng)網(wǎng)絡(luò)的隱含層節(jié)點(diǎn)的輸出可表示為[8]:
(8)
其中,ωij表示輸入層到隱含層的連接權(quán)值;θj表示隱含層節(jié)點(diǎn)的閾值。
由于BP神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)結(jié)果易受初始連接權(quán)值cj、ωij和閾值ε、θj的影響,以及其容易陷入局部極值的問題,本文運(yùn)用FOA優(yōu)化BP神經(jīng)網(wǎng)絡(luò)初始連接權(quán)值和閾值。
基于FOA_BP的遠(yuǎn)程疾病診斷流程歸納如下:
Step1:初始化BP神經(jīng)網(wǎng)絡(luò)模型,確定網(wǎng)絡(luò)結(jié)構(gòu)。根據(jù)數(shù)據(jù)樣本確定BP神經(jīng)網(wǎng)絡(luò)的層數(shù)、傳遞函數(shù)和訓(xùn)練函數(shù)類型以及各層節(jié)點(diǎn)數(shù);
Step2:編碼。FOA算法采用實(shí)數(shù)編碼,將連接權(quán)值cj、ωij和閾值ε、θj進(jìn)行整體編碼,算法的搜索空間維數(shù)為m,假如輸入層、隱含層和輸出層節(jié)點(diǎn)數(shù)分別為R、S1、S2,則編碼長度S可表示為式(9)。
S=RS+S1S2+S1+S2
(9)
Step3:FOA算法參數(shù)初始化。設(shè)定種群規(guī)模N、最大迭代次數(shù)T;
Step4:確定FOA算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的適應(yīng)度函數(shù)。為描述種群個(gè)體的優(yōu)劣程度,選擇均方誤差為適應(yīng)度函數(shù),其如公式(10)所示,尋找果蠅個(gè)體和全局最優(yōu)果蠅的位置和最優(yōu)值,如式(10)。
(10)
Step5:更新果蠅的位置;
Step6:計(jì)算果蠅個(gè)體適應(yīng)度并更新果蠅的位置;
Step7:判定FOA算法終止條件,若滿足則輸出最優(yōu)解;反之,執(zhí)行Step4;
Step8:輸出全局最優(yōu)解,將最優(yōu)解對(duì)應(yīng)的連接權(quán)值cj、ωij和閾值ε、θj作為BP神經(jīng)網(wǎng)絡(luò)的初始連接權(quán)值和閾值,訓(xùn)練BP神經(jīng)網(wǎng)絡(luò)并進(jìn)行疾病診斷。
為了驗(yàn)證本文算法的有效性,以威斯康幸大學(xué)醫(yī)學(xué)院的乳腺癌數(shù)據(jù)集為研究對(duì)象[9-10],選擇200個(gè)病例,其中良性100例,惡性100例,每個(gè)病例數(shù)據(jù)包含8個(gè)特征值,將200個(gè)病例分為訓(xùn)練集和測(cè)試集,其中,訓(xùn)練集包括80個(gè)良性和80個(gè)惡性病例,測(cè)試集包括20個(gè)良性和20個(gè)惡性病例,病例類型采用整數(shù)編碼,良性編碼為0,惡性編碼為1。
為了說明不同方法的疾病診斷結(jié)果的好壞,選擇準(zhǔn)確率(Accuracy Rate,AR)作為評(píng)價(jià)指標(biāo),其公式為式(11)。
(11)
其中,A為總樣本數(shù)量;B為正確分類的樣本數(shù)量。
FOA算法參數(shù)設(shè)置如下:種群規(guī)模N=10,最大迭代次數(shù)T=100搜索區(qū)間[-1,1]。BP神經(jīng)網(wǎng)絡(luò)參數(shù)設(shè)置如下[11]:輸入層節(jié)點(diǎn)數(shù)inputnum=8、隱含層節(jié)點(diǎn)數(shù)hiddennum=16和輸出層節(jié)點(diǎn)數(shù)outputnum=1,BP神經(jīng)網(wǎng)絡(luò)最大訓(xùn)練次數(shù)為1 000,隱含層和輸出層傳遞函數(shù)為logsig和purelin,訓(xùn)練函數(shù)為trainlm,學(xué)習(xí)速率為0.01,訓(xùn)練誤差目標(biāo)為0.001。FOA-BP的訓(xùn)練集和測(cè)試集預(yù)測(cè)結(jié)果如圖4所示。
(a) 訓(xùn)練集
(b) 測(cè)試集
圖4 FOA-BP預(yù)測(cè)結(jié)果
為了驗(yàn)證FOA-BP算法的優(yōu)越性,將FOA-BP與PSO-BP、GA-BP、DE-BP和BP相比,種群規(guī)模10,最大迭代次數(shù)100,搜索區(qū)間[-1,1],PSO算法[12]學(xué)習(xí)因子c1=c2=2,GA算法[13]交叉概率0.7,變異概率0.1;DE算法[14]縮放因子0.5,交叉概率0.7,不同算法預(yù)測(cè)結(jié)果分別如圖5-圖8和表2所示。
由圖4-圖8和表2分類準(zhǔn)確率對(duì)比圖可知,F(xiàn)OA-BP在訓(xùn)練集和測(cè)試集上的分類準(zhǔn)確率分別為99.375%和100%,優(yōu)于PSO-BP、GA-BP、DE-BP和BP;BP的分類準(zhǔn)確率最低,分別為95%和87.5%。FOA-BP、PSO-BP、GA-BP和DE-BP診斷精度優(yōu)于BP,主要原因在于群智能算法FOA、PSO、GA和DE對(duì)BP模型的參數(shù)進(jìn)行了最優(yōu)化選擇,提高了BP模型的疾病診斷精度。收斂速度對(duì)比圖可知,如圖9所示。
與PSO、GA和DE算法相比較,F(xiàn)OA算法具有更快的收斂速度,效果較好。通過對(duì)比發(fā)現(xiàn),本文算法FOA-BP可以有效提高疾病診斷的準(zhǔn)確率。
針對(duì)BP神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)結(jié)果易受初始連接權(quán)值cj、ωij和閾值ε、θj的影響,以及其容易陷入局部極值的問題,提出一種FOA優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的遠(yuǎn)程疾病診斷研究模型。在無線傳感網(wǎng)絡(luò)和ZigBee網(wǎng)絡(luò)的基礎(chǔ)上,通過FOA優(yōu)化BP神經(jīng)網(wǎng)絡(luò)初始連接權(quán)值和閾值,實(shí)現(xiàn)BP神經(jīng)網(wǎng)絡(luò)初始連接權(quán)值和閾值的自適應(yīng)最優(yōu)選擇。與PSO、GA和DE算法相比較,研究結(jié)果表明,F(xiàn)OA-BP可以有效提高疾病診斷的準(zhǔn)確率,收斂速度快,具有較好的工程應(yīng)用前景和價(jià)值。
(a) 訓(xùn)練集
(b) 測(cè)試集
圖5 PSO-BP預(yù)測(cè)結(jié)果
(a) 訓(xùn)練集
(b) 測(cè)試集
圖6 GA-BP預(yù)測(cè)結(jié)果
(a) 訓(xùn)練集
(b) 測(cè)試集
圖7 DE-BP預(yù)測(cè)結(jié)果
(a) 訓(xùn)練集
(b) 測(cè)試集
圖8 BP預(yù)測(cè)結(jié)果
表2 疾病診斷結(jié)果對(duì)比
圖9 收斂速度對(duì)比圖