趙曉丹
(復旦大學 附屬上海市第五人民醫院,上海 200233)
隨著經濟水平和生活水平的提高以及人口老齡化的加速,提高醫療保健水平成為當前研究的熱點問題。在“互聯網+”時代,遠程疾病診斷研究顯得格外迫切,通過患者身體狀況的在線監測,可以實現遠程醫院的診斷和監護,患者的自由沒有限制,生活也不受影響,患者在線監測結果可以本地存儲,也可以通過網絡傳輸到遠程醫療中心。遠程疾病診斷監控系統主要包括遠程監護中心、通信網絡系統和終端檢測設備,通過人體專用傳感器(終端檢測設備)采集人體生理信息和醫學信號,通過遠程通訊網絡(通信網絡系統)將采集獲取的信號傳送到遠端的醫療監護中心(遠程監護中心),在遠程監護中心端專業的醫護人員對采集獲取的信號進行處理并做出反應,給出及時準確的診斷信息[1]。
針對BP神經網絡的預測結果易受初始連接權值cj、ωij和閾值ε、θj的影響和陷入局部極值的問題,提出一種FOA優化BP神經網絡的遠程疾病診斷研究模型。在無線傳感網絡和ZigBee網絡的基礎上,通過FOA優化BP神經網絡初始連接權值和閾值,實現BP神經網絡初始連接權值和閾值的自適應最優選擇。
遠程疾病診斷網絡結構圖如圖1所示[2]。

圖1 遠程疾病診斷網絡結構
首先,由傳感器節點和監護相關設備構成微型監護網絡,主要作用是通過中央控制器控制采集人體生理信息和醫學信號;其次,通過Zigbee無線通信方式將采集獲取的信號傳送到遠端的醫療監護中心(遠程監護中心),如圖2所示。
最后,在遠程監護中心端專業的醫護人員對采集獲取的信號進行處理并做出反應,給出及時準確的診斷信息。救護車中的醫護人員還可通過GPRS 實時傳送急救病人情況,使得醫院搶救室及時地做好各項準備工作。由于醫療傳感器節點能夠根據實際需要進行設置,因此該系統具有靈活性大、擴展性強的優點,此外接入因特網,能夠形成更大的醫療監護網絡。

圖2 ZigBee無線網絡
果蠅優化算法(Fruit Fly Optimization Algorithm,FOA)是受果蠅覓食行為啟發所提出的一種群智能算法,其算法流程如下[3]:
(1) FOA參數初始化:果蠅群體規模N、最大迭代次數T,果蠅群體初始位置X_begin和Y_begin;
(2) 計算果蠅個體的尋優距離和隨機方向如式(1)、式(2)。
xi=X_begin+Value×rand()
(1)
yi=Y_begin+Value×rand()
(2)
式中,Value表示搜索距離;xi和yi表示果蠅個體的下一時刻位置的x坐標和y坐標。
(3) 計算果蠅個體距離原點之間的距離di,并計算果蠅個體的味道濃度si,如式(3)、式(4)。
(3)
(4)
(4) 味道濃度si代入式(5)味道濃度判定函數,計算當前位置的果蠅個體的味道濃度如式(5)。
Smelli=Function(si)
(5)
(5) 找到果蠅群體中最佳味道濃度值Smellb和最佳位置(xb,yb);
(6) 保留并記錄果蠅最佳位置(xb,yb)和最佳味道濃度Smellbest=Smellb,令X_begin=xb和Y_begin=yb,果蠅群體向該最佳位置尋優;
(7) 重復式(2)-式(5),判斷當前味道濃度是否優于前一迭代時刻的味道濃度;若滿足條件,則執行式(6)。
BP神經網絡是由輸入層、隱含層和輸出層組成的多層前饋神經網絡,3層典型BP神經網絡的結構模型圖如圖3所示。
圖3中,輸入維數和輸出維數分別為m和1,隱含層數為p,則BP神經網絡的映射數學表達式為[4-5],如式(6)。

圖3 BP網絡結構圖
(6)
其中,f表示隱含層激勵函數;ε表示輸出層的閾值;cj、bj分別表示隱含層到輸出層的連接權值和隱含層節點的輸出。一般地,BP神經網絡的轉移函數選擇Sigmoid函數,其公式如下[6-7],如式(7)、式(8)。
(7)
因此,BP神經網絡的隱含層節點的輸出可表示為[8]:
(8)
其中,ωij表示輸入層到隱含層的連接權值;θj表示隱含層節點的閾值。
由于BP神經網絡的預測結果易受初始連接權值cj、ωij和閾值ε、θj的影響,以及其容易陷入局部極值的問題,本文運用FOA優化BP神經網絡初始連接權值和閾值。
基于FOA_BP的遠程疾病診斷流程歸納如下:
Step1:初始化BP神經網絡模型,確定網絡結構。根據數據樣本確定BP神經網絡的層數、傳遞函數和訓練函數類型以及各層節點數;
Step2:編碼。FOA算法采用實數編碼,將連接權值cj、ωij和閾值ε、θj進行整體編碼,算法的搜索空間維數為m,假如輸入層、隱含層和輸出層節點數分別為R、S1、S2,則編碼長度S可表示為式(9)。
S=RS+S1S2+S1+S2
(9)
Step3:FOA算法參數初始化。設定種群規模N、最大迭代次數T;
Step4:確定FOA算法優化BP神經網絡的適應度函數。為描述種群個體的優劣程度,選擇均方誤差為適應度函數,其如公式(10)所示,尋找果蠅個體和全局最優果蠅的位置和最優值,如式(10)。
(10)

Step5:更新果蠅的位置;
Step6:計算果蠅個體適應度并更新果蠅的位置;
Step7:判定FOA算法終止條件,若滿足則輸出最優解;反之,執行Step4;
Step8:輸出全局最優解,將最優解對應的連接權值cj、ωij和閾值ε、θj作為BP神經網絡的初始連接權值和閾值,訓練BP神經網絡并進行疾病診斷。
為了驗證本文算法的有效性,以威斯康幸大學醫學院的乳腺癌數據集為研究對象[9-10],選擇200個病例,其中良性100例,惡性100例,每個病例數據包含8個特征值,將200個病例分為訓練集和測試集,其中,訓練集包括80個良性和80個惡性病例,測試集包括20個良性和20個惡性病例,病例類型采用整數編碼,良性編碼為0,惡性編碼為1。
為了說明不同方法的疾病診斷結果的好壞,選擇準確率(Accuracy Rate,AR)作為評價指標,其公式為式(11)。
(11)
其中,A為總樣本數量;B為正確分類的樣本數量。
FOA算法參數設置如下:種群規模N=10,最大迭代次數T=100搜索區間[-1,1]。BP神經網絡參數設置如下[11]:輸入層節點數inputnum=8、隱含層節點數hiddennum=16和輸出層節點數outputnum=1,BP神經網絡最大訓練次數為1 000,隱含層和輸出層傳遞函數為logsig和purelin,訓練函數為trainlm,學習速率為0.01,訓練誤差目標為0.001。FOA-BP的訓練集和測試集預測結果如圖4所示。

(a) 訓練集

(b) 測試集
圖4 FOA-BP預測結果
為了驗證FOA-BP算法的優越性,將FOA-BP與PSO-BP、GA-BP、DE-BP和BP相比,種群規模10,最大迭代次數100,搜索區間[-1,1],PSO算法[12]學習因子c1=c2=2,GA算法[13]交叉概率0.7,變異概率0.1;DE算法[14]縮放因子0.5,交叉概率0.7,不同算法預測結果分別如圖5-圖8和表2所示。
由圖4-圖8和表2分類準確率對比圖可知,FOA-BP在訓練集和測試集上的分類準確率分別為99.375%和100%,優于PSO-BP、GA-BP、DE-BP和BP;BP的分類準確率最低,分別為95%和87.5%。FOA-BP、PSO-BP、GA-BP和DE-BP診斷精度優于BP,主要原因在于群智能算法FOA、PSO、GA和DE對BP模型的參數進行了最優化選擇,提高了BP模型的疾病診斷精度。收斂速度對比圖可知,如圖9所示。
與PSO、GA和DE算法相比較,FOA算法具有更快的收斂速度,效果較好。通過對比發現,本文算法FOA-BP可以有效提高疾病診斷的準確率。
針對BP神經網絡的預測結果易受初始連接權值cj、ωij和閾值ε、θj的影響,以及其容易陷入局部極值的問題,提出一種FOA優化BP神經網絡的遠程疾病診斷研究模型。在無線傳感網絡和ZigBee網絡的基礎上,通過FOA優化BP神經網絡初始連接權值和閾值,實現BP神經網絡初始連接權值和閾值的自適應最優選擇。與PSO、GA和DE算法相比較,研究結果表明,FOA-BP可以有效提高疾病診斷的準確率,收斂速度快,具有較好的工程應用前景和價值。

(a) 訓練集

(b) 測試集
圖5 PSO-BP預測結果

(a) 訓練集

(b) 測試集
圖6 GA-BP預測結果

(a) 訓練集

(b) 測試集
圖7 DE-BP預測結果

(a) 訓練集

(b) 測試集
圖8 BP預測結果

表2 疾病診斷結果對比

圖9 收斂速度對比圖