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

?

基于PSO-BP的銀屑病中醫(yī)證型預(yù)測模型的構(gòu)建

2022-05-25 04:48詹秀菊
現(xiàn)代計算機 2022年6期
關(guān)鍵詞:適應(yīng)度證型慣性

詹秀菊

(廣州中醫(yī)藥大學(xué)醫(yī)學(xué)信息工程學(xué)院,廣州 510006)

0 引言

PSO算法主要思想來源于對鳥類行為的研究,因流程簡單、易于實現(xiàn)、參數(shù)少和無需梯度信息等特點,在解決各種復(fù)雜優(yōu)化問題時取得較好的成績,已經(jīng)被廣泛應(yīng)用于數(shù)據(jù)分類、模式識別和信號處理等方面。基于BP神經(jīng)網(wǎng)絡(luò)的銀屑病中醫(yī)證型預(yù)測模型,其拓撲結(jié)構(gòu)為34-6-1,經(jīng)MATLAB2015a仿真后,得到BP神經(jīng)網(wǎng)絡(luò)的3次平均預(yù)測準確率82.95%。本研究以銀屑病BP神經(jīng)網(wǎng)絡(luò)模型結(jié)構(gòu)為基礎(chǔ)引入PSO算法,利用PSO優(yōu)化BP神經(jīng)網(wǎng)絡(luò)初始權(quán)值和閾值,構(gòu)建新的銀屑病中醫(yī)證型預(yù)測模型。論文主要針對PSO-BP實現(xiàn)的過程、PSO參數(shù)選擇進行相關(guān)研究,以確定PSO-BP神經(jīng)網(wǎng)絡(luò)預(yù)測模型的性能。

1 PSO-BP算法運算過程

粒 子 群 算 法(particle swarm optimization,PSO)是一種智能優(yōu)化算法,在算法中,每個優(yōu)化問題的解表示搜索空間中一個粒子的狀態(tài),目標函數(shù)計算的適應(yīng)度值代表每個粒子,粒子的速度決定它們飛翔的方向和距離。PSO優(yōu)化BP神經(jīng)網(wǎng)絡(luò)過程中,將每個最優(yōu)的粒子位置向量值賦予BP神經(jīng)網(wǎng)絡(luò)中的權(quán)值和閾值,每個粒子的維度可根據(jù)BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)計算而得到。粒子群的適應(yīng)函數(shù)可由神經(jīng)網(wǎng)絡(luò)各神經(jīng)元的均方誤差計算得到,根據(jù)適應(yīng)函數(shù)計算每個粒子的適應(yīng)值。本研究利用基本PSO算法和權(quán)重線性遞減的PSO算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值,算法流程如圖1所示,其步驟可總結(jié)如下:

圖1 PSO-BP算法流程圖

(1)確定BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),確定神經(jīng)網(wǎng)絡(luò)各層的神經(jīng)元個數(shù)。

(2)初始化BP神經(jīng)網(wǎng)絡(luò)的參數(shù),確定種群的規(guī)模(popsize)以及最大迭代數(shù)(maxgen),初始化種群(pop)。

(3)計算每個粒子的適應(yīng)度值(fitness),存儲每個粒子的最好位置和適應(yīng)度值,并從種群中篩選出適應(yīng)度值最好的位置作為種群的位置。

(4)更新粒子的速度和位置。

(5)判斷粒子群優(yōu)化算法是否滿足終止條件,如果是,則停止迭代,并將每個粒子的個體最優(yōu)值和全局最優(yōu)值賦予BP神經(jīng)網(wǎng)絡(luò)權(quán)值和閾值,使其獲得最優(yōu)權(quán)值和閾值;如果否,則返回步驟(3),繼續(xù)進行迭代。

(6)計算誤差,更新權(quán)值和閾值,檢查是否滿足條件,如果滿足,則輸出結(jié)果;如果不滿足,則重新計算誤差。

2 參數(shù)確定

PSO算法的搜索能力取決于全局搜索能力和局部改良能力的平衡,在較大的程度上依賴于算法的參數(shù),如種群規(guī)模、最大速度、最大迭代數(shù)、慣性權(quán)重值和學(xué)習(xí)因子等。本論文主要針對慣性權(quán)重值和學(xué)習(xí)因子兩個參數(shù)進行研究。

2.1 慣性權(quán)重確定

慣性權(quán)重作為PSO算法最為重要的參數(shù)之一,分為固定權(quán)重和時變權(quán)重。固定權(quán)重是在整個優(yōu)化迭代過程中保持不變的常數(shù)權(quán)重值;時變權(quán)重是在迭代過程中按照一定的規(guī)律變化的權(quán)重值。慣性權(quán)重使粒子保持運動慣性,進而有擴展搜索空間的趨勢以及探索新區(qū)域的能力。慣性權(quán)重值較小時具有較強的局部收斂能力,較大時具有較強的全局收斂能力,因此設(shè)置合適的慣性權(quán)重值能改善PSO算法的性能。本研究先比較不同固定慣性權(quán)重值時,PSO算法的性能,選出最優(yōu)固定慣性權(quán)重。再將最優(yōu)固定慣性權(quán)重值和時變慣性權(quán)重值引入PSO算法中,比較兩者對PSO算法的影響。

PSO算法的參數(shù)最大迭代數(shù)設(shè)置為200,種群規(guī)模為40,粒子的速度區(qū)間設(shè)置為[-1,1],位置區(qū)間設(shè)置為[-3,3]。學(xué)習(xí)因子和暫設(shè)置為2,設(shè)置固定慣性權(quán)重值分別為0、0.7和1.4。經(jīng)MATLAB2015a仿真,結(jié)果如圖2所示。

圖2 不同參數(shù)的PSO算法適應(yīng)曲線

從圖2可以看出,當?shù)螖?shù)為60左右、慣性權(quán)重值為0時,PSO算法的適應(yīng)度值趨向于一個穩(wěn)定值,在之后迭代中基本沒有變化,慣性權(quán)重值為0.7的PSO算法性能優(yōu)于為1.4;隨著迭代的進行,PSO算法的適應(yīng)度值一直在減少,直到迭代次數(shù)為200時,慣性權(quán)重為1.4的PSO算法適應(yīng)度優(yōu)于為0.7。由此可推出,當為0、迭代次數(shù)為60時,PSO算法陷入局部最優(yōu),隨著迭代次數(shù)增加,不能擺脫早熟現(xiàn)象,從數(shù)學(xué)公式方面解釋,因慣性權(quán)重為0,粒子的慣性行為為零,粒子運動速度由粒子的“認知”行為和粒子的“社會”行為決定,影響粒子不具備全局收斂能力。為0.7和1.4時,有效改善該缺陷,增加慣性權(quán)重值,使得PSO算法不易陷入局部最優(yōu),提高算法的性能。從精度的角度考慮,固定慣性權(quán)重值暫定為1.4。

針對PSO算法的早熟問題,引入線性變化的權(quán)重,讓慣性權(quán)重從最大值0.9線性減少到最小值0.4,實現(xiàn)權(quán)重線性遞減的PSO算法(SAPSO),之后與固定權(quán)重值為1.4的基本PSO算法對比,結(jié)果如圖3所示。當?shù)螖?shù)為200時,SAPSO算法適應(yīng)度值和固定慣性權(quán)重值為1.4的基本PSO算法處于最優(yōu)狀態(tài),從圖3可以看出,SAPSO算法在收斂方面和精度方面優(yōu)于PSO算法。由此可推斷,PSO算法加入線性變化的權(quán)重,可以調(diào)節(jié)算法的全局和局部搜索能力,有效克服PSO陷入早熟現(xiàn)象,提高PSO算法的性能。因此,本文以加入線性變化的權(quán)重PSO算法為基礎(chǔ)進行研究。

圖3 SAPSO算法和PSO算法適應(yīng)曲線

2.2 學(xué)習(xí)因子確定

學(xué)習(xí)因子是影響PSO算法性能的參數(shù),學(xué)習(xí)因子和分別調(diào)節(jié)粒子向個體最優(yōu)和群體最優(yōu)的方向的最大步長,決定粒子個體經(jīng)驗和群體經(jīng)驗對粒子自身運行軌跡的影響。當學(xué)習(xí)因子過小時,可能使粒子遠離目標區(qū)域;當學(xué)習(xí)因子較大時,可能使得粒子快速向目標區(qū)域移動,甚至越過目標區(qū)域。本研究設(shè)置不同學(xué)習(xí)因子,比較結(jié)果對性能的影響。

慣性權(quán)重設(shè)置為=0.9-*(0.9-0.5)/max,最大迭代數(shù)設(shè)置為200,種群規(guī)模為40,粒子的速度區(qū)間設(shè)置為[-1,1],位置區(qū)間設(shè)置為[-3,3]。學(xué)習(xí)因子和設(shè)置為兩種組 合:==2,==0.5+log(2),經(jīng)Matlab 2015a仿真,結(jié)果如圖4所示。

圖4 不同學(xué)習(xí)因子PSO算法適應(yīng)曲線

從圖4可以看出,學(xué)習(xí)因子對PSO性能有影響。當?shù)螖?shù)為60左右時,學(xué)習(xí)因子==0.5+log(2)的PSO算法進入穩(wěn)定狀態(tài),取得最優(yōu)適應(yīng)度值。而學(xué)習(xí)因子==2的PSO算法在迭代次數(shù)為10左右時快速進入目標區(qū)域,隨著迭代的進行,當?shù)螖?shù)為180左右時,粒子飛躍出目標區(qū)域,進入新的最優(yōu)狀態(tài)。由此可推斷,學(xué)習(xí)因子較大時,粒子迅速向目標區(qū)域移動,隨著迭代次數(shù)增加,越過目標區(qū)域。學(xué)習(xí)因子==0.5+log(2)的PSO算法在收斂方面和精度方面優(yōu)于學(xué)習(xí)因子==2,因此PSO算法中學(xué)習(xí)因子設(shè)置為0.5+log(2)。

3 模型的建立及結(jié)果分析

PSO算法的慣性權(quán)重采用=0.9-*(0.9-0.5)/max,學(xué)習(xí)因子和分別為0.5+log(2),最大迭代數(shù)設(shè)置為200,種群規(guī)模為40,粒子的速度區(qū)間設(shè)置為[-1,1],位置區(qū)間設(shè)置為[-3,3]。因BP神經(jīng)網(wǎng)絡(luò)的拓撲結(jié)構(gòu)為34-6-1,所以粒子維數(shù)為217(34×6+6+6×1+1),權(quán)值的個數(shù)為210(34×6+6×1),閾值個數(shù)7(6+1),基于此構(gòu)建PSO-BP預(yù)測模型。與BP神經(jīng)網(wǎng)絡(luò)中醫(yī)證候模型操作相同,將訓(xùn)練好的樣本數(shù)據(jù)輸入PSO-BP神經(jīng)網(wǎng)絡(luò)證候預(yù)測模型,用Matlab 2015進行3次仿真,得出預(yù)測模型的3次準確率分別為87.5%、82.95%和85.22%?,F(xiàn)以第一次仿真結(jié)果進行說明,如圖5所示,隨迭代次數(shù)的不斷增加,粒子的適應(yīng)度值逐漸變小,反之,個體的適應(yīng)度值也會增加。當粒子的迭代次數(shù)為200時,粒子的最優(yōu)適應(yīng)度值為9.8。PSO-BP網(wǎng)絡(luò)證型預(yù)測模型的實際值和預(yù)測值如圖6所示,其中星號實線代表證型的實際值,圓虛線代表預(yù)測值。從圖6可以看出,證型的實際值與預(yù)測值大部分重合。PSO-BP證候預(yù)測模型輸出的結(jié)果中有77個預(yù)測值與實際值相等,其準確率為87.5%。結(jié)果表明,PSO算法對BP神經(jīng)網(wǎng)絡(luò)性能具有一定的優(yōu)化作用,驗證PSO-BP神經(jīng)網(wǎng)絡(luò)預(yù)測模型在銀屑病研究中是可行的。

圖5 PSO適應(yīng)度曲線

圖6 證型的預(yù)測值和實際值曲線

4 結(jié)語

基于BP神經(jīng)網(wǎng)絡(luò)、PSO-BP神經(jīng)網(wǎng)絡(luò)構(gòu)建的銀屑病中醫(yī)證型預(yù)測模型,其平均準確率分別為82.95%和85.22%,結(jié)果表明兩種預(yù)測模型可應(yīng)用于銀屑病中醫(yī)證型研究。BP神經(jīng)網(wǎng)絡(luò)實質(zhì)上是梯度下降法,其所優(yōu)化的問題又非常復(fù)雜,因此會出現(xiàn)“鋸齒形現(xiàn)象”,從而導(dǎo)致BP神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)速度慢。從數(shù)學(xué)的角度看,BP神經(jīng)網(wǎng)絡(luò)為一種局部搜索的優(yōu)化方式,因此在求解復(fù)雜非線性問題的全局極值時易陷入局部極值。實驗結(jié)果表明,PSO算法具有較快的逼近最優(yōu)解的速度,對BP神經(jīng)網(wǎng)絡(luò)權(quán)值和閾值進行優(yōu)化,克服BP神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)慢的缺陷,提高BP神經(jīng)網(wǎng)絡(luò)預(yù)測模型的準確率。

猜你喜歡
適應(yīng)度證型慣性
啟發(fā)式搜索算法進行樂曲編輯的基本原理分析
基于改進演化算法的自適應(yīng)醫(yī)學(xué)圖像多模態(tài)校準
嶺南地區(qū)冠心病中醫(yī)證型及證素分布的地域性特征研究
膝骨性關(guān)節(jié)炎的證候分析及辨證用藥研究進展
不同證型慢性支氣管炎穴位貼敷的療效比較
基于人群搜索算法的上市公司的Z—Score模型財務(wù)預(yù)警研究
無處不在的慣性
對慣性的認識誤區(qū)
178例新診斷2型糖尿病中醫(yī)證型及流行病學(xué)調(diào)查
無處不在的慣性
磐安县| 六盘水市| 长葛市| 顺平县| 密云县| 革吉县| 平原县| 大安市| 房产| 晋江市| 宁晋县| 渝北区| 明星| 丹东市| 中牟县| 慈利县| 托里县| 赣榆县| 鱼台县| 丘北县| 萨嘎县| 建水县| 泾阳县| 裕民县| 西平县| 宁国市| 娄烦县| 吴忠市| 遂平县| 伊金霍洛旗| 襄汾县| 焉耆| 汾阳市| 台南县| 仙游县| 富源县| 靖宇县| 虞城县| 沙雅县| 临夏县| 资阳市|