胡紅萍, 崔霞霞, 續(xù) 婷, 白艷萍
(中北大學 理學院, 山西 太原 030051)
一類改進的人工蜂群算法
胡紅萍, 崔霞霞, 續(xù) 婷, 白艷萍
(中北大學 理學院, 山西 太原 030051)
對2005年Karaboga提出的模仿蜜蜂覓食行為的人工蜂群算法進行了研究, 將粒子群算法中的慣性權重引入到人工蜂群算法中, 提出了帶慣性權重的改進的人工蜂群算法(Improved artificial bee colony algorithm with inertia weight,ABCIW)的方法. 將ABCIW算法應用于求解基準函數的最小值問題, 進而應用于優(yōu)化BP神經網絡的參數, 對中國手足口病發(fā)病人數進行預測. 與基本人工蜂群算法、 快速人工蜂群算法和帶記憶的人工蜂群算法相比較, ABCIW算法更適合解決函數的優(yōu)化問題. 對中國手足口病發(fā)病人數的預測說明了ABCIW算法具有較好的預測結果和較高的穩(wěn)定性.
人工蜂群算法; 基準函數; 手足口?。?預測
2005年由Karaboga[1]提出的人工蜂群算法(Artificial bee colony algorithm, ABC)是一種模擬蜜蜂覓食行為的群智能算法. ABC 算法的優(yōu)點在于僅有三個可調節(jié)參數: 種群大小, 最大循環(huán)次數和搜索最大參數. 研究學者已經成功地將ABC算法應用于很多方面, 例如聚類[2], 函數優(yōu)化問題[3-6], 優(yōu)化神經網絡[7], 最優(yōu)能量流[8], 無線傳感網絡[9]和醫(yī)藥科學[10].
根據功能性的不同, ABC算法包括雇傭蜂, 跟隨蜂和偵查蜂三個階段. 許多學者集中在雇傭蜂和跟隨蜂的鄰域搜索和偵查蜂的探索參數limit. 現在已經存在很多改進的ABC算法, 例如由GABC[4], qABC[11], FABC[5], MuABC[12], ABCM[3].In ABC和大多數改進的ABC, 在鄰域搜索中采用輪盤賭選擇策略.
在神經網絡中, 好的權值和偏差能讓神經網絡運行得到好的結果. 因此, 許多研究人員提出許多優(yōu)化算法, 例如正交最小二乘法[13-15], 聚類算法[16], 遺傳算法(GA)[17-19], 蟻群優(yōu)化算法(ACO)[20-22], 粒子群算法[23-26]和人工蜂群算法(ABC)算法[7]. BP神經網絡是一種有效的反饋神經網絡, 經常用于預測應用[26]. 一般BP神經網絡包括輸入層, 隱含層和輸出層, 結構為r-h-s模型, 其中r表示輸入層中輸入節(jié)點的個數,h表示隱含層中節(jié)點的個數,s表示輸出層中節(jié)點的個數.
本文將粒子群算法(Particle swarm optimization, PSO)中的慣性權重引入到ABC算法, 得到新的算法, 命名為ABCIW算法. 引入4種慣性權重: 線性遞減慣性權重(LDIW)[27], 非線性遞減慣性權重(NDIW)[28], Sugeno函數慣性權重(SFIW)[29]和指數遞減慣性權重(EDIW)[30], 相應的ABCIW算法為ABCLDIW,ABCNDIW,ABCSFIW,ABCEDIW算法. 進而將ABCIW算法用于優(yōu)化BP神經網絡的權值和偏差來實現手足口病(HFMD)的發(fā)病人數預測, 得到ABC-BP ,ABCLDIW,ABCNDIW,ABCSFIW和ABCEDIW模型.
ABC算法根據功能不同包括雇傭蜂, 非雇傭蜂和食物源, 其中雇傭蜂與食物源相對應, 非雇傭蜂包括跟隨蜂和偵查蜂. 這樣, 種群就由雇傭蜂、 跟隨蜂和偵查蜂構成. 將一個食物源代表問題的一個可能解, 食物源的花蜜代表解對應的目標函數值. 這樣在雇傭蜂和食物源之間存在一一對應關系. 每只雇傭蜂在其鄰域內尋找新的食物源并利用輪盤賭方式選擇食物源. 與雇傭蜂不同, 按照一定的概率, 跟隨蜂根據花蜜質量選擇較好的食物源, 選擇的方式類似于雇傭蜂. 經過一定數量的選擇(控制參數limit),食物源的花蜜保持不變, 這時將拋棄該食物源, 相應的雇傭蜂變?yōu)閭刹榉洌?尋找新的食物源, 找到后此偵查蜂又變?yōu)楣蛡蚍?
在ABC算法中, 雇傭蜂的數量或跟隨蜂的數量等于食物源的個數, 因此ABC算法有3個參數: 食物源的個數SN, 最大迭代次數MCN, 控制參數limit. ABC算法具體描述如下.
1.1 初始化
ABC算法中, 第ith食物源是隨機產生的D維向量xi=(xi1,xi2,…,xiD) (i=1,2,…,SN), 其中
式中:rand(0,1)表示[0,1]中的隨機數, 其下界和上界分別為
1.2 雇傭蜂
每只雇傭蜂xi(i=1,2,…,SN)利用式(2)進行鄰域搜索產生新的食物源vi(i=1,2,…,SN).
式中:k是不同于i的任意數;φij是[-1,1]中的任意數.
若xi的花蜜優(yōu)于vi的花蜜, 則第i只雇傭蜂保持當前的食物源xi, 否則第i只雇傭蜂選擇新的食物源vi, 并拋棄舊的食物源xi.
1.3 概率計算
在所有的雇傭蜂完成鄰域搜索后, 跟隨蜂與雇傭蜂分享食物源. 跟隨蜂與雇傭蜂根據輪盤賭選擇食物源. 跟隨蜂選擇食物源xi的概率為
式中:fitness(i)表示第i個食物源的適應度值.
式中:fi是食物源xi的目標函數值.
1.4 跟隨蜂
按照上述所提到的概率pi, 每只跟隨蜂選擇與雇傭蜂分享的食物源, 其鄰域搜索的方式類似于雇傭蜂的搜索方式.
1.5 偵查蜂
當食物源被雇傭蜂和跟隨蜂多次訪問也沒有發(fā)生改進, 就拋棄了該食物源, 相應的雇傭蜂變?yōu)閭刹榉? 新的食物源由式(1)產生代替舊的食物源. 這樣偵查蜂變?yōu)楣蛡蚍?
1.6 基本ABC算法
ABC算法的步驟:
1) 給出參數: 食物源的個數SN, 最大循環(huán)次數MCN和控制參數limit;
2) 初始化種群;
3) 對于每只雇傭蜂xj完成其鄰域搜索, 由式(2)獲得新的食物源vj, 由輪盤賭選擇策略確定較好的雇傭蜂xj.
4) 根據式(3)計算食物源xi(i=1,2,…,SN)的概率pi, 根據概率從現有解的鄰域中搜索新的解并按照輪盤賭選擇策略進行選擇;
5) 判斷食物源的更新失敗次數是否超過了預先設定的控制參數limit, 若是, 就拋棄該食物源, 用式(1)產生新的食物源代替它;
6) 判斷循環(huán)是否達到MCN, 若是則終止, 否則返回步驟3.
2.1 由反向學習初始化
最后根據初始解和反向解的適應度值選擇前SN個解形成初始種群.
2.2 鄰域搜索
本文中, 雇傭蜂和跟隨蜂的鄰域搜索方式是由
確定的, 其中k是不同于i的任意數,φij是[-1,1]中的任意數,ω∈[0,1]是慣性權重. 當ω=1, 式(6)就是式(2), 當ω隨著迭代變化時, ABC算法就是動態(tài)ABC算法.
本文采用PSO算法中的四種慣性權重為
式中:t是目前的迭代次數;T是最大迭代次數;ωinitial是初始慣性權重;ωfinal是最終慣性權重;n是非線性指數;s是大于-1的常數;c>0是控制慣性權重收斂的控制參數. 相應的ABCIW算法就分別為ABCLDIW 算法, ABCNDIW 算法, ABCSFIW 算法和ABCEDIW算法.
2.3 偵查蜂
本文中, 偵查蜂尋找新的食物源是由
2.4ABCIW算法
ABCIW算法的步驟:
1) 初始化參數: ωinitial, ωfinal, c, n, SN, MCN, limit;
2) 基于反向學習初始化種群;
3) 對于每只雇傭蜂xj完成其鄰域搜索, 由式(6)獲得新的食物源vj, 由輪盤賭選擇策略確定較好的雇傭蜂xj;
4) 根據式(3)計算食物源xi(i=1,2,…,SN)的概率pi, 根據概率從現有解的鄰域中搜索新的解并按照輪盤賭選擇策略進行選擇;
5) 判斷食物源的更新失敗次數是否超過了預先設定的控制參數limit,若是, 就拋棄該食物源, 用式(11)產生新的食物源代替它;
6) 判斷循環(huán)是否達到MCN, 若是則終止, 否則返回步驟3).
本文利用ABC算法和ABCIW算法優(yōu)化BP神經網絡的權值和偏差, 建立了基于ABC算法和ABCIW算法的BP神經網絡模型, 即ABC-BP模型,ABCIW-BP模型. 根據慣性權重的不同,ABCIW算法又分為ABCLDIW,ABCNDIW,ABCSFIW和ABCEDIW算法. 相應地,ABCIW-BP模型又分為ABCLDIW-BP模型,ABCNDIW-BP模型,ABCSFIW-BP模型和ABCEDIW-BP模型.
上述模型的目標函數定義為
ABC-BP模型和ABCIW-BP模型的步驟:
1) 初始化參數: 非線性調節(jié)指數n, 控制參數c, 最初慣性權重ωinitial, 最終慣性權重ωfinal,limit和常數s, 最大迭代次數MCN, 和食物源的個數SN. 對于ABC-BP用式(4), 對于ABCIW-BP用式(8)初始化每個食物源.
2) 將輸入樣本歸一化.
3) 將每個食物源映射到BP神經網絡的參數.
4) 由式(12)計算每只雇傭蜂的目標函數和由式(4)計算每只雇傭蜂的適應度值. 選擇每只雇傭蜂的當前的適應度值作為其局部最優(yōu)值. 整個蜂群的適應度值的最小值作為全局最優(yōu)值.
5) 在ABC-BP模型中每只雇傭蜂利用式(2)實現鄰域搜索, 運用輪盤賭選擇策略產生新的食物源, 而在ABCIW-BP模型中每只雇傭蜂利用式(6)實現鄰域搜索, 運用輪盤賭選擇策略產生新的食物源. 將每個食物源映射到BP神經網絡的參數. 重新計算雇傭蜂的局部最優(yōu)質和全局最優(yōu)值.
6) 對于每只跟隨蜂, 在ABC-BP模型中利用式(2)實現鄰域搜索, 運用輪盤賭選擇策略產生新的食物源, 而在ABCIW-BP模型中利用式(6)實現鄰域搜索, 運用輪盤賭選擇策略產生新的食物源. 每個食物源映射到BP神經網絡的參數. 重新計算雇傭蜂的局部最優(yōu)質和全局最優(yōu)值.
7) 判斷食物源的更新失敗次數是否超過了預先設定的控制參數limit, 若是, 就拋棄該食物源, 用式(1)或式(11)產生新的食物源代替.
8) 迭代次數低于MCN, 轉步驟5).
4.1 優(yōu)化基準函數
本文選取表 1 中所示的4個基準函數驗證所提出的ABCIW算法的有效性, 并與基本ABC算法、 帶記憶的人工蜂群算法(ABCM算法)[3]和快速人工蜂群算法(qABC算法)[11]進行比較.
表 1 本文中所選取的4個基準函數
選擇食物源的數量SN=25, 最大迭代次數MCN=10 000, 偵查蜂的控制參數
非線性調節(jié)參數n=1.2, 常數s=0.3, 控制參數c=6, 最初慣性權重和最終慣性權重分別為ωinitial=0.9,ωfinal=0.2. 對于每個函數, 對立運行30次, 取均值, 得到表 2 的結果.
由表 2 可以看出, ABCLDIW, ABCNDIW和ABCSFIW算法比ABC, ABCM和qABC算法更適合解決函數f1,f2,f3,f4的優(yōu)化問題. 通過比較, ABCSFIW算法實現的函數f1和f4的最小值的平均值為3.23134e -16, ABC, ABCIW, ABCM和qABC算法實現的函數f2的最小值的平均值均為0, ABCNDIW和ABCSFIW算法實現的函數的最小值的平均值均為0. 因此 可以說明本文提出的ABCIW算法適合函數的優(yōu)化問題.
表 2 ABCIW, ABC, ABCM和qABC的比較
4.2 手足口病預測
本文選取中國2010年2月到2016年3月的手足口病的發(fā)病人數進行實時預測. 取5天的發(fā)病人數預測第6天的發(fā)病人數, 這樣建立了69組數據, 再取最后的8組數據作為測試數據, 其余數據作為訓練數據. 首先將這69組數據進行歸一化, 采用的方法為
式中:x為歸一化之前的原始數據;xmin和xmax分別表示歸一化之前原始數據的最小值和最大值;y為歸一化之后的結果;ymin和ymax分別表示歸一化后數據的最小值和最大值.
為了更準確地評估ABC-BP和ABCIW-BP模型的性能, 本文采用均方差(MSE)、 相對均方誤差(RMSE)、 平均絕對百分比誤差(MAPE)作為評價指標, 定義如下
通過大量的實驗和誤差分析, 選擇BP神經網絡的結構為5-10-1預測手足口病的發(fā)病人數. 因此, 在ABC-BP模型和ABCIW-BP模型中, 每個食物源的維數是71. 在ABC-BP模型和ABCIW-BP模型中, 參數n,c,ωinitial,ωfinal,s的選取與 4.1節(jié)中一致.
ABC-BP和ABCIW-BP模型對手足口病發(fā)病人數的網絡訓練輸出的 MSE、 RMSE和MAPE(%)3種評價指標結果如表 3 所示. 從表中可以看出, ABCNDIW-BP模型訓練輸出的3種評價指標 MSE(*e+9)、 RMSE和MAPE(%)的結果分別為4.015 7, 0.151 1, 0.318 8, 都是最小的.
表 3 ABC-BP和ABCIW-BP模型訓練輸出的手足口病發(fā)病人數的MSE, RMSE和MAPE(%)值
利用訓練好的 BP神經網絡對 2015年8月至2016年3月共8個月的中國手足口病發(fā)病人數進行預測, ABC-BP和ABCIW-BP模型的預測值如表 4 所示, 預測值與實際值之間的 MSE、 RMSE和 MAPE(%)這3種評價指標結果如表 5 所示.
由表 5 可以看出, ABCSFIW-BP模型的3種預測評價指標MSE、 RMSE和MAPE(%)的結果分別為 5.537 8, 0.327 8, 0.545 5, 都是最小的. 綜合表 3 和表 5 可以看出, ABCIW-BP模型的3種訓練和預測評價指標MSE、 RMSE和MAPE(%)均比ABC-BP模型小. 表明本文提出的ABCIW-BP模型適用于手足口病發(fā)病人數的預測.
表 4 手足口病發(fā)病人數的ABC-BP和ABCIW-BP模型預測結果
表 5 ABC-BP和ABCIW-BP模型預測輸出的手足口病發(fā)病人數的MSE, RMSE和MAPE(%)值
本文在ABC 算法基礎上對人工蜂群算法進行了改進, 采用基于反向學習的群體初始化方案, 使初始解盡可能均勻分布在搜索空間, 增強了初始群體的多樣性;在局部搜索中, 引入了4種遞減的慣性權重, 不斷增強了局部尋優(yōu)能力, 這就是帶有慣性權重的ABC算法——ABCIW算法, 并將其應用于優(yōu)化4個基準函數和優(yōu)化BP神經網絡的連接權值與偏差來實現手足口病發(fā)病人數的預測. 結果表明, ABCIW算法更適合解決函數的優(yōu)化問題, ABCIW-BP模型具有較好的預測結果和較高的穩(wěn)定性.
[1]Karaboga D. An idea based on honey bee swarm for numerical optimization[R]. Technical Report-TR06, 2005.
[2]Forsati R, Keikha A, Shamsfard M. An improved bee colony optimization algorithm with an application to document clustering[J]. Neurocomputing, 2015, 159: 9-26.
[3]Li Xianneng, Yang Guangfei. Artificial bee colony algorithm with memory[J]. Applied Soft Computing, 2016, 41: 362-372.
[4]Zhu Guopu, Sam Kwong. Gbest-guided artificial bee colony algorithm for numerical function optimization[J]. Applied Mathematics and Computation. 2010, 217 (7): 3166-3173.
[5]Phuc Nguyen Hong, Chang Wook Ahn. Fast artificial bee colony and its application to stereo correspondence[J]. Expert Systems with Applications, 2016, 45: 460-470.
[6]Anuar S, Selamat A, Sallehuddin R. A modified scout bee for artificial bee colony algorithm and its performance on optimization problems[J]. Journal of King Saud University-Computer and Information Sciences, 2016, 28(4): 395-406.
[7]Karaboga D. Artificial bee colony algorithm[J].Scholarpedia, 2010, 5(3): 6915.
[8]Jadhav H T, Bamane P D. Temperature dependent optimal power flow usingg-best guided artificial bee colony algorithm[J]. Electrical Power and Energy Systems, 2016, 77: 77-90.
[9]Hashim H A, Ayinde B O, Abido M A. Optimal placement of relay nodes in wireless sensor network using artificial bee colony algorithm[J]. Journal of Network and Computer Applications, 2016, 64: 239-248.
[10]JoséA.Delgado-Osuna, Manuel Lozano, Carlos García-Martínez. An alternative artificial bee colony algorithm with destructive -constructive neighborhood operator for the problem of composing medical crews[J]. Information Sciences, 2016, 326: 215-226.
[11]Karaboga D, Gorkemli B. A quick artificial bee colony (qABC) algorithm and its performance on optimization problems[J]. Applied Soft Computing, 2014, 23: 227-238.
[12]Gao Weifeng, Huang Lingling, Liu Sanyang, et al. Artificial bee colony algorithm with multiple search strategies[J]. Applied Mathematics and Computation, 2015, 271: 269-287.
[13]Chen S L, Cowan C N, Grant P M. Orthogonal least squares learning algorithm for radial basis function networks[J]. IEEE Transactions on Neural Networks, 1991, 2(3): 302-309.
[14]Tianshi Chen, Lennart Ljung. Implementation of algorithms for tuning parameters in regularized least squares problems in system identification[J].Automatica, 2013, 49: 2213-2220.
[15]Zhu Q M. An implicit least squares algorithm for nonlinear rational model parameter estimation[J]. Applied Mathematical Modeling, 2005, 29: 673-689.
[16] Grabusts P S. A study of clustering algorithm application in RBF neural networks[J]. Scientific Proceedings of Riga Technical University, 2001: 50-57.
[17]Soltanali S, Halladj R, Tayyebi S, et al. Neural network and genetic algorithm for modeling and optimization of effective parameters on synthesized ZSM-5particlesize[J].Materials Letters, 2014, 136: 138-140
[18]Maria Beatriz Takahashi, José Celso Rocha, Eutimio Gustavo Fernández Núez. Optimization of artificial neural network by genetic algorithm for describing viral production from uniform design data[J]. Process Biochemistry, 2016, 51: 422-430.
[19]Billings S A, Zheng G L. Radial basis function network configuration using genetic algorithms[J]. Neural Networks, 1995, 8(6): 877-890.
[20]Jie Zhang, Yiting Feng, Mahmood Hilal Al-Mahrouqi. Reliable optimal control of a fed-batch fermentation process using ant colony optimization and bootstrap aggregated neural network models[J]. Computer Aided Chemical Engineering, 2011, 29: 663-667.
[21]Lu Hungching, Liu Hsikuang. Ant colony fuzzy neural network controller for cruising vessel on river[J]. Applied Ocean Research, 2013, 42: 43-54.
[22]Man Chuntao, Li Xiaoxia, Zhang Liyong. Radial basis function neural network based on ant colony optimization[C]//Proceedings of the International Conference on Computational Intelligence and Security Workshops (CIS’07). Harbin, China, 2007: 59-62.
[23]Chen Sheng, Hong Xia, Bing Lam Luk, et al. Non-linear system identification using particle swarm optimization tuned radial basis function models[J]. International Journal of Bio-Inspired Computation, 2009, 1(4): 246-258.
[24]Wu Defeng, Warwick K, Ma Zi, et al. Prediction of parkinson’s disease tremor onset using a radial basis function neural network based on particle swarm optimization[J]. International Journal of Neural Systems, 2010, 20(2): 109-116.
[25]Ren Chao, An Ning, Wang Jianzhou, et al. Optimal parameters selection for BP neural network based on particle swarm optimization: a case study of wind speed forecasting[J]. Knowledge-Based Systems, 2014, 56: 226-239.
[26]Cheng Cheng, Cheng Xiaosheng, Dai Ning, et al. Prediction of facial deformation after complete denture prosthesis using BP neural network[J].Computers in Biology and Medicine, 2015, 66: 103-112.
[27]Shi Yuhui, Eberhart R. A modified particle swarm optimizer[C]. Proceedings of the 1998 IEEE International Conference on Evolutionary Computation (ICEC’98), 1998: 69-73.
[28]Chatterjee A, Siarry P. Nonlinear inertia weight variation for dynamic adaptation in particle swarm optimization[J]. Computers and Operations Research, 2006, 33(3): 859-871.
[29]Lei K, Qiu Y, He Y. A new adaptive well-chosen inertia weight strategy to automatically harmonize global and local search ability in particle swarm optimization[C]. First International Symposium on Systems and Control in Aerospace and Astronautics. 2003. ISSCAA 2006. Harbin: IEEE, 2006: 7.
[30]Lu Jinna, Hu Hongping, Bai Yanping. Radial basis function neural network based on an improved exponential decreasing inertia weight-particle swarm optimization algorithm for AQI prediction[EB/OL]. (2014-01-12)[2016-09-30]. http:∥dx.doi.org/10.1155/2014/17813.
A Kind of Improved Artificial Bee Colony Algorithm
HU Hong-ping, CUI Xia-xia, XU Ting, BAI Yan-ping
(School of Science, North University of China, Taiyuan 030051, China)
Artificial bee colony algorithm presented by Karaboga in 2005 is researched, which imitates the foraging behavior of honeybees. An inertia weight in particle swarm optimization is introduced into artificial bee colony algorithm, and an improved artificial bee colony algorithm with inertia weight(ABCIW) is proposed. Apply ABCIW algorithm to solve the minimum problems of benchmark functions and further to optimize the parameters of BP neural network for predicting the onset number of hand-foot-mouth disease in China. By comparison with basic artificial bee colony algorithm, quick artificial bee colony algorithm and artificial bee colony algorithm with memory, ABCIW algorithm is more suitable for solving the optimization problems of functions. The prediction results of the onset number of hand-foot-mouth disease in China show that ABCIW algorithm has good prediction results and higher stability.
artificial bee colony algorithm; benchmark function; hand-foot-mouth disease; prediction
1673-3193(2017)04-0397-07
2016-09-30
國家自然科學基金資助項目(61275120)
胡紅萍(1973-), 女, 副教授, 碩士生導師, 主要從事工程中的數學問題的研究.
TP301.6
A
10.3969/j.issn.1673-3193.2017.04.001