張濤 張軒雄
摘要:模糊規(guī)則提取和隸屬度函數(shù)學習是模糊推理系統(tǒng)設計過程中重要而困難的問題。針對該問題,提出一種基于人工蜂群算法(ABC算法)訓練自適應神經(jīng)模糊推理系統(tǒng)(ANFIS)的新方法。神經(jīng)網(wǎng)絡采用5層ANFIS網(wǎng)絡結構,并且描述了基本思想和算法實現(xiàn)過程。在ANFIS中引入ABC算法進行參數(shù)訓練和優(yōu)化,該方法適用于非線性系統(tǒng)辨識。實驗結果表明,加入ABC算法之后,ANFIS訓練和參數(shù)優(yōu)化等取得了良好效果。
關鍵詞:人工蜂群算法;群體智能;自適應神經(jīng)模糊推理系統(tǒng);均方根誤差
Research on ANFIS Based on Artificial Bee Colony Algorithm
ZHANG Tao, ZHANG Xuan?xiong
(School of Optical?Electrical and Computer Engineering,
University of Shanghai for Science and Technology, Shanghai 200093,China)
Abstract:The extraction of fuzzy rules and the study of membership function are important and difficult problems in the design process of fuzzy inference system. To solve this problem, a new method of training adaptive neural fuzzy inference system (ANFIS) is introduced, which is a branch of swarm intelligence: artificial bee colony algorithm. The neural network adopts five layers of ANFIS network structure, and explains the basic idea and the realization process of the algorithm. In the adaptive neural fuzzy inference system, artificial bee colony algorithm is introduced to carry out parameter training and optimization. The proposed method is suitable for nonlinear system identification. The experimental results show that after the ABC algorithm is added, good results are obtained for ANFIS training and parameter optimization.
Key Words:artificial bee colony; swarm intelligence; ANFIS; RMSE
0?引言
自適應神經(jīng)模糊推理系統(tǒng)(Adaptive Network Fuzzy Inference System,ANFIS)是一種將模糊系統(tǒng)與神經(jīng)網(wǎng)絡結合起來的新型模糊推理系統(tǒng)結構。它建立在模糊推理系統(tǒng)基本模型基礎上,混合最小二乘法以及反向傳播算法進行參數(shù)調(diào)整,并且能夠自動產(chǎn)生if-then規(guī)則。一直以來,ANFIS參數(shù)的更新和訓練都是重要難題之一。
近年來,許多新方法被用于優(yōu)化隸屬度函數(shù)。Shoorehdeli等[1]提出用于ANFIS訓練的不同混合方法,結合粒子群算法、遞歸最小二乘法和擴展卡爾曼濾波用于其訓練。Chatterjee等[2]描述了Takagi-Sugeno型模糊神經(jīng)系統(tǒng)的發(fā)展過程,并將其用粒子群優(yōu)化之后用于機器人動態(tài)建模。Chen[3]介紹了一種用于商業(yè)問題預測的混合ANFIS模型,結合粒子群算法與減法聚類。Turki等[4]提出一種用粒子群算法優(yōu)化模糊神經(jīng)系統(tǒng)的參數(shù),通過使用粒子群算法調(diào)整與優(yōu)化前提參數(shù)以及結論參數(shù)。Zangench等[5]提出一種用差分進化算法訓練ANFIS的新方法。Catalao等[6]介紹了一種混合小波、粒子群優(yōu)化以及ANFIS的方法用于短期電費預測。Gunesekaran 等[7]整合人工免疫算法和ANFIS,預測了印度國家證券交易所的預期指標值。Lin等[8]提出一種基于模糊熵聚類、改進粒子群算法以及遞歸奇異值分解的新的混合學習算法。
粒子群算法的局部尋優(yōu)能力較差,需要較長的計算時間,而且容易陷入局部最優(yōu),不能絕對保證搜索到全局最優(yōu)解,容易陷入局部最優(yōu)解,穩(wěn)定性較差。DE算法對參數(shù)設置的依賴性過強,設置不當會加長尋優(yōu)時間,并容易陷入局部最優(yōu)解。而人工蜂群算法參數(shù)較少,對于初始值的設置無特殊要求,算法適應性更強,可以采用串行和并行等多種方式實現(xiàn),能夠更好地與實際問題相結合。因此,本文提出一種利用人工蜂群算法訓練ANFIS的新方法。該方法可以將ANFIS的參數(shù)訓練過程近似轉(zhuǎn)換為人工蜂群算法尋找最優(yōu)解過程,通過人工蜂群算法調(diào)整訓練參數(shù),使ANFIS訓練達到更好效果。該方法被應用于非線性系統(tǒng)辨識中,并且使ANFIS訓練取得了良好效果。
1?自適應神經(jīng)模糊推理系統(tǒng)
自適應神經(jīng)模糊推理系統(tǒng)(ANFIS)是Jang[9]在1993年提出的。在復雜系統(tǒng)建模和控制方面,ANFIS效果相當不錯,目前在許多方面已經(jīng)有了成功應用,如函數(shù)擬合、控制系統(tǒng)辨識、模式識別、自適應噪聲消除等。如謝苗等[10]介紹了一種基于改進型ANFIS的礦用空壓機故障診斷系統(tǒng),蔣磊磊等[11]介紹了一種基于Sugeno模糊模型的ANFIS應用于手勢識別中。
1.1?表示形式
在模糊系統(tǒng)中,模糊模型的表示主要有兩種:①模糊規(guī)則的后件是輸出量的某一模糊集合,稱為模糊系統(tǒng)的標準模型,即Mamdani模型;②模糊規(guī)則的后件是輸入語言變量函數(shù),典型情況是輸入變量的線性組合,稱為模糊系統(tǒng)的Takagi?Sugeno模型。與Mamdani型相比,Takagi?Sugeno型模糊推理具有利于分析、計算簡單的優(yōu)點,且容易與PID控制方法以及自適應方法結合,從而實現(xiàn)具有優(yōu)化與自適應能力的控制器或模糊建模工具。Takagi?Sugeno模糊模型主要由兩部分組成:前提部分和結論部分,兩部分彼此之間通過模糊規(guī)則相互聯(lián)系。ANFIS的訓練和更新主要針對該兩部分。ANFIS結構由5部分組成,假設所考慮的模糊推理系統(tǒng)有2個輸入和1個輸出,則模糊規(guī)則形式為:
規(guī)則1:如?果x是A?1并且y是A?2,那么f?1=p?ix+q?1y+r?1。
規(guī)則2:如果x是A?2并且y是B?2,那么f?2=p?2x+q?2y+r?2?。
1.2?模型結構
該模型的等效結構如圖1所示。
第一層為模糊化層,它為每一個輸入產(chǎn)生隸屬度函數(shù)。隸屬度函數(shù)可以是高斯函數(shù)或三角形函數(shù)等類型,如果為高斯函數(shù),隸屬度函數(shù)的兩個可調(diào)參數(shù)分別為MF的中心c和寬度σ。該層的可調(diào)參數(shù)被稱為前提參數(shù)。高斯函數(shù)公式如式(1)所示。
第二層為規(guī)則層,可以取任意的模糊T范式函數(shù),一般情況下取所有輸入信號的乘積。具體如式(2)所示。
第三層為歸一化層。具體如式(3)所示。
第四層為去模糊化層,每一個節(jié)點是一個有節(jié)點函數(shù)的自適應節(jié)點,參數(shù)被稱為結論參數(shù)。具體如式(4)所示。
第五層為輸出層,計算所有輸入信號的和。具體如式(5)所示。
總輸出=∑w?if?i(5)
2?人工蜂群算法
2.1?算法簡介
近年來,隨著群體智能的發(fā)展,遺傳算法、粒子群算法等相關算法被廣泛用于解決各類問題,并進入許多學者的研究領域。人工蜂群算法(Artificial Bee Colony Algorithm,ABC算法)是Karaboga[12]在2005年根據(jù)蜜蜂覓食行為提出的優(yōu)化算法,具有自適應、自組織、自學習等特征,并且被應用于函數(shù)優(yōu)化[13-16]、組合優(yōu)化、神經(jīng)網(wǎng)絡訓練等多個領域。人工蜂群算法的提出和改進,為其進一步發(fā)展和使用發(fā)揮了十分關鍵的作用。寧愛平等[17]利用隨機過程理論,給出ABC算法的Markov鏈模型定義等相關理論,并根據(jù)隨機算法的收斂準則,驗證了人工蜂群算法的全局收斂性。很多群體智能算法開始提出時,理論基礎薄弱,因此從理論上分析和證明群體智能算法的收斂性是至關重要的,也有利于更好地推進算法改進和后續(xù)進一步提高性能。
自然界中的蜂群有雇傭蜂和非雇傭蜂兩種,雇傭蜂也被稱為采蜜蜂,而非雇傭蜂可以分為偵察蜂和跟隨蜂。雇傭蜂和跟隨蜂的主要任務是開采食物源,而偵察蜂的主要任務是尋找新的食物源。人工蜂群算法是根據(jù)自然界中不同蜂群的功能及其相互轉(zhuǎn)換關系設計的一種新型群體智能迭代算法。在蜂群算法中,采蜜蜂數(shù)量是群體總量的一半,另一半是觀察蜂。每一處食物源對應一個采蜜蜂,即采蜜蜂與食物源的數(shù)量相等。
ABC算法中的每一個循環(huán)搜索過程都有以下3個步驟:①將采蜜蜂、觀察蜂和蜜源一一對應,并計算蜜源的豐富程度;②確定偵察蜂;③蜜蜂根據(jù)自身或者外界信息搜索蜜源。
種群參數(shù)有以下3個:①蜜蜂總數(shù)N(一般定義采蜜蜂和觀察蜂的數(shù)量相等,即都為N/2);②最大迭代次數(shù)maxCycle(每次迭代中都有一次全局搜索和局部搜索);③蜜源停留最大限制搜索次數(shù)Limit(局部搜索Limit次,蜜源未更新,則采蜜蜂、觀察蜂轉(zhuǎn)化為偵察蜂)。
2.2?算法流程
(1)初始化。
(2)重復以下過程:①將采蜜蜂與蜜源一一對應,并且確定蜜源的花蜜量;②觀察蜂根據(jù)采蜜蜂所提供的信息選擇蜜源,同時確定蜜源的花蜜量;③確定偵察蜂,然后搜索新的蜜源;④記憶到目前為止最好的蜜源。
(3)判斷條件是否成立。
在初始化階段,食物源是根據(jù)每個給定邊界范圍的參數(shù)隨機產(chǎn)生的。偵察蜂搜索新蜜源的操作如式(6)所示。
其中,?k為不同于i的蜜源,j為隨機選擇的下標,?ij為[-1,1]之間的隨機數(shù),它控制著x?ij鄰域內(nèi)蜜源的隨機位置,稱之為人工蜂群算法的搜索方程。在算法的每一次迭代過程中,每一個采蜜蜂通過式(6)選?出與目前食物源位置最近的食物源,并且從原蜜源位置產(chǎn)生一個新的候選位置。
在某只采蜜蜂的位置周圍,當搜索次數(shù)達到一定閾值Limit且還沒找到更好的位置時,就會重新隨機初始化采蜜蜂位置。隨機初始化公式如式(7)所示。
式(7)中,?i=1…SN,j=1…PN。SN是食物源的數(shù)量,PN是優(yōu)?化參數(shù)的數(shù)量。
觀察蜂主要根據(jù)適應度函數(shù)值的大小選擇蜜源,適應度函數(shù)如式(8)所示。
當前蜜源位置經(jīng)過采蜜蜂和觀察蜂多次循環(huán)搜索之后,若沒有提高效率,就會被蜜蜂放棄。此時,采蜜蜂就會轉(zhuǎn)換為偵察蜂,然后隨機搜索一個新的蜜源替換原來的蜜源。ABC算法主要包含4個過程:①觀察蜂根據(jù)一定的選擇概率選擇蜜源,稱為全局選擇過程;②采蜜蜂與觀察蜂結合局部信息在鄰域搜索并產(chǎn)生候選位置,稱為局部選擇過程;③所有人工蜂對于新舊兩種蜜源進行對比,保存優(yōu)質(zhì)蜜源;④偵察蜂搜索新蜜源,稱為隨機選擇過程。
3?基于ABC算法的ANFIS
ANFIS有兩種類型參數(shù):前提參數(shù)和結論參數(shù)。其中,前提參數(shù)屬于隸屬度函數(shù)參數(shù),其總參數(shù)是所有隸屬度函數(shù)的參數(shù)總和;結論參數(shù)用的是ANFIS的解模糊化層參數(shù)。
在ABC算法中,蜜源位置就是優(yōu)化問題的一個可能解,每個解是一個D維向量,D是優(yōu)化問題參數(shù)的個數(shù)。也就是說,每一個食物源的變量個數(shù)依賴于每一個輸入輸出的隸屬度函數(shù)參數(shù)個數(shù)。其中,雙邊高斯型隸屬度函數(shù)用于輸入層,線性隸屬度函數(shù)用于輸出層。當使用ABC算法對這些參數(shù)進行訓練時,采用均方根誤差作為訓練效果的評價指標?;贏BC算法的ANFIS要求其結構的均方根誤差最小。均方根誤差計算如式(9)所示。
其中,?y?1i是模糊模型的預測值,y?2i是觀測值,s是輸?入訓練數(shù)據(jù)對數(shù)?;贏BC算法的ANFIS模型如圖2所示。
4?實驗仿真及結果
在ABC算法控制參數(shù)的選取上:種群規(guī)模大小為20,食物源數(shù)量等于種群規(guī)模大小的一半,也就是10。Limit設置為100,也就是說,若某個雇傭蜂采蜜的食物源位置經(jīng)過100次迭代后都沒有進行更新獲得改進,即該花蜜處的食物源花蜜數(shù)量都未獲得改善,此時雇傭蜂放棄當前食物源,并且變成偵察蜂重新搜索新的食物源。將最大循環(huán)迭代次數(shù)設置為2 000。在本文中,采用單輸入單輸出訓練數(shù)據(jù)集進行ANFIS?ABC算法的數(shù)據(jù)處理及仿真,并且驗證算法的可行性。訓練數(shù)據(jù)集由式(10)定義,定義輸入變量?x?的取值范圍為[-1,1],并且隨機產(chǎn)生50組訓練數(shù)據(jù)集和50組檢驗數(shù)據(jù)集。
ABC算法應用于5個隸屬度函數(shù),5個隸屬度函數(shù)都采用雙邊高斯型隸屬度函數(shù)。經(jīng)過ANFIS?ABC算法進行2 000次迭代訓練之后,均方根誤差(RMSE)的變化趨勢如圖3所示,訓練數(shù)據(jù)和檢驗數(shù)據(jù)在輸入空間上進行均勻采樣的輸出曲線如圖4所示。
本文利用ANFIS?ABC算法對輸入輸出數(shù)據(jù)集進行訓練,以RMSE作為評價標準,ANFIS?ABC把訓練過程轉(zhuǎn)化為尋找最優(yōu)解的過程。使用ANFIS?ABC的RMSE訓練結果為0.000 879,而使用ANFIS的RMSE訓練結果為0.001 786。使用ANFIS?ABC的RMSE預測結果為0.000 853,而ANFIS的RMSE預測結果為0.001 705。均方根誤差顯著減小,表明ABC算法在對ANFIS優(yōu)化中的擬合能力和預測能力有顯著提高,而加入ABC算法之后ANFIS在時間效率上低于ANFIS,如何提高效率是算法改進的重點。
5?結語
本文將人工蜂群算法用于自適應神經(jīng)模糊推理系統(tǒng)參數(shù)的訓練和更新。結合模糊推理系統(tǒng)及神經(jīng)網(wǎng)絡各自屬性的自適應神經(jīng)模糊推理系統(tǒng)在智能預測以及參數(shù)優(yōu)化等方面有著廣泛應用。為了解決模糊規(guī)則提取和隸屬函數(shù)學習難題,引入人工蜂群算法在優(yōu)化以及訓練方面的優(yōu)點。通過基礎理論分析以及仿真實現(xiàn)驗證,成功地將人工蜂群算法用于自適應神經(jīng)模糊推理系統(tǒng),并且取得了良好效果,充分證明了ANFIS?ABC算法的可行性及有效性。
參考文獻:
[1]
SHOOREHDELI M A, TESHNEHLABM,SEDIGH AK. Training ANFIS as an identifier with intelligent hybrid stable learning algorithm based on particle swarm optimization and extended Kalman filter [J]. Fuzzy Sets and Systems, 2009,160:922?948.
[2]?CHATTERJEE A,WATANABE K. An optimized Takagi?Sugeno type neuro?fuzzy system for modeling robot manipulators [J]. Neural Computing & Applications, 2006,15(1):55?61.
[3]?CHEN M Y. A hybrid ANFIS model for business failure predictionutilizing particle swarm optimization and subtractive clustering [J]. Information Sciences, 2013(220):180?195.
[4]?TURKI M, BOUZAIDA S, SAKLY A, et al. Adaptive control of nonlinear system using neuro?fuzzy learning by PSO algorithm[C]. 2012 16th IEEE Mediterranean, 2012:519?523.
[5]?ZANGENCH A Z, MANSOURI M, TESHNEHLAB M, et al. Training ANFIS system with DE algorithm [C]. IEEE 2011 Fourth International Workshop, 2011:308?314.
[6]?CATALAO J P S, POUSINHO H M I, MENDES V M F. Hybrid wavelet?PSO?ANFIS approach for short?term electricity prices forecasting [J]. IEEE Transactions on Power Systems, 2011,26(1):137?144.
[7]?GUNASEKARAN M, RAMASWAMI K S. A fusion model integrating ANFIS and artificial immune algorithm for forecasting indian stock market [J]. Journal of Applied Sciences, 2011,11:3028?3033.
[8]?LIN C J, HONG S J. The design of neuro?fuzzy networks using particle swarm optimization and recursive singular value decomposition[J]. Neurocomputing, 2007,71(1):297?310.
[9]?JANG JSR. ANFIS adaptive?network?based fuzzy inference system[J]. IEEE Trans on Smc, 1993,23(3):665?685.
[10]?謝苗,劉治翔,毛君.基本改進型ANFIS的礦用空壓機故障診斷系統(tǒng)[J].電子測量與儀器學報,2015(4):500?507.
[11]?蔣磊磊,秦麗娟,李武舉.基于Sugeno模糊模型的ANFIS在手勢識別中的應用[J].微型機與應用,2016(24):50?53.
[12]?KARABOGA D. An idea based on honey bee swarm for numerical optimization [R]. Kayseri, Turkey: Erciyes University, 2005.
[13]?KARABOGA D, BASTURK B. A powerful and efficient algorithm for numerical function optimization: artificial bee colony (ABC) algorithm [J]. Journal of Global Optimization, 2007,39(3):459?471.
[14]?KARABOGA D, BASTURK B. A comparative study of artificial bee colony algorithm [J]. Applied Mathematics and Computation, 2009,214(1):108?132.
[15]?KARABOGA D, AKAY B. Artificial bee colony (ABC), harmony search and bees algorithms on numerical optimization [C]. Proc of Innovative Production Machines and System Virtual Conference,2009.
[16]?KARABOGA D, BASTURK B. On the performance of artificial bee colony (ABC) algorithm [J]. Applied Soft Computing, 2010,8(1):687?697.
[17]?寧愛平,張雪英.人工蜂群算法的收斂性分析[J].控制與決策,2013(10):1554?1558.