蘭 潔
改進(jìn)蟻群算法對TSK-FLS的參數(shù)設(shè)計(jì)
蘭 潔
(遼寧工業(yè)大學(xué) 理學(xué)院,遼寧 錦州 121001)
模糊邏輯系統(tǒng)(FLS)是被證實(shí)行之有效的估計(jì)器,有其他系統(tǒng)不可比擬的優(yōu)越性,但存在著參數(shù)選取以及規(guī)則數(shù)等難以獲取的缺點(diǎn)。蟻群算法(ACO)是一種基于局部更新信息素搜索尋優(yōu)的策略,在此算法基礎(chǔ)上改進(jìn)全局信息素更新設(shè)計(jì)改進(jìn)蟻群算法(IACO)。它不僅繼承蟻群算法可以解決隨機(jī)擇路的復(fù)雜優(yōu)化問題,同時(shí)克服候選解隨機(jī)搜索空間大,反復(fù)迭代效率低的缺點(diǎn)。將此改進(jìn)的優(yōu)化蟻群算法用于TSK-FLS的參數(shù)調(diào)整和規(guī)則篩選,設(shè)計(jì)一種智能優(yōu)化的模糊邏輯系統(tǒng),并將改進(jìn)蟻群算法優(yōu)化后的模糊邏輯系統(tǒng)應(yīng)用于國際油價(jià)預(yù)測。通過數(shù)值預(yù)測仿真結(jié)果以及對比結(jié)果可以看出,該改進(jìn)算法在TSK-FLS的參數(shù)設(shè)計(jì)的有效性和可靠性,并縮小了傳統(tǒng)蟻群算法的搜索空間并提高計(jì)算效率。
改進(jìn)ACO;TSK-FLS;參數(shù)設(shè)計(jì)
模糊邏輯系統(tǒng)能夠基于邏輯和主觀經(jīng)驗(yàn)對信息進(jìn)行感知和決策,廣泛應(yīng)用于人工智能控制、圖像處理、語言識別、智能決策等前沿領(lǐng)域。模糊邏輯系統(tǒng)設(shè)計(jì)中最重要部分是基于模糊規(guī)則以及系統(tǒng)參數(shù)的模糊推理機(jī),規(guī)則數(shù)篩選以及系統(tǒng)參數(shù)的獲取是一個(gè)重要問題[1]。反向傳播(BP)算法設(shè)計(jì)可將系統(tǒng)分解的低階子系統(tǒng),通過設(shè)計(jì)虛擬控制,反推到整個(gè)系統(tǒng)的控制性能實(shí)現(xiàn)規(guī)則的篩選及參數(shù)選取,但只能實(shí)現(xiàn)局部收斂;最小二乘法廣泛用于已有測量數(shù)據(jù)來估計(jì)未知參數(shù)解決構(gòu)造模型最優(yōu)解問題,但存在選取粗糙很難實(shí)現(xiàn)精準(zhǔn)設(shè)計(jì)需求。模糊邏輯系統(tǒng)在人工智能領(lǐng)域的重要位置,利用智能算法[2]的高性能和全局收斂性,使得應(yīng)用智能算法優(yōu)化模糊邏輯系統(tǒng)設(shè)計(jì)受到越來越多學(xué)者的密切關(guān)注和研究。目前已經(jīng)有許多算法被用于模糊邏輯系統(tǒng)的優(yōu)化設(shè)計(jì),如蟻群、蜂群、粒子群[3]、遺傳算法[4]等。
蟻群算法[5]是一種源于自然界仿生的分布式隨機(jī)正反饋搜索算法。通過對候選解的組成群體進(jìn)行隨機(jī)優(yōu)化來尋求最優(yōu)解,從而逐漸實(shí)現(xiàn)全局最優(yōu)。隨機(jī)搜索算法在擴(kuò)大搜索范圍以及提高算法效率之間存在矛盾,因此產(chǎn)生了一些改進(jìn)算法,如精英蟻群策略[6]、最大-最小螞蟻系統(tǒng)、排序蟻群系統(tǒng)。精英蟻群策略和基于測序的蟻群系統(tǒng)都側(cè)重減少搜索空間。不同之處在于,精英蟻群策略是一種格外強(qiáng)化當(dāng)前最優(yōu)解路徑選擇,用指數(shù)冪強(qiáng)化此路徑信息素,進(jìn)一步迭代出最短路徑;排序蟻群系統(tǒng)將每次迭代產(chǎn)生的路徑降序排列,并賦予降序權(quán)重。但這2種算法的效率并沒有提高,很可能陷入局部最優(yōu)解,從而系統(tǒng)停滯,不再繼續(xù)迭代搜索最優(yōu)解。通過設(shè)置信息素大小值的最大-最小蟻群算法雖然可以有效解決局部最優(yōu)解問題,但并不能顯著提高算法的效率。
基于算法存在問題的進(jìn)一步研究,構(gòu)建一種利用全局信息素更新的改進(jìn)蟻群算法,可有效壓縮搜索空間并可以提升算法效率。模糊邏輯系統(tǒng)因其良好的估計(jì)特性受到控制領(lǐng)域的廣泛應(yīng)用[7-9],特別是一型FLS針對未知的非線性的估計(jì)。將此進(jìn)化搜索改進(jìn)優(yōu)化蟻群智能算法使用在對TSK-FLS的參數(shù)調(diào)整和規(guī)則篩選具有很廣泛的實(shí)際意義,并進(jìn)一步將此算法對國際油價(jià)的數(shù)值仿真預(yù)測,證實(shí)了該算法的有效性。
圖1 模糊神經(jīng)網(wǎng)絡(luò)路徑圖
其次,隨機(jī)分配只螞蟻到每個(gè)節(jié)點(diǎn)處,并建立對應(yīng)的禁忌表,以防止螞蟻重復(fù)訪問同一節(jié)點(diǎn),過早陷入局部最優(yōu)解;螞蟻根據(jù)式(2)計(jì)算的概率選擇下一個(gè)訪問的節(jié)點(diǎn)。螞蟻攜帶一定濃度量的信息素,并在經(jīng)過的路徑上遺留信息素。螞蟻會依據(jù)所感知的信息素濃度判定下一步行動路徑,一般會選擇信息素濃度高的方向,進(jìn)一步強(qiáng)化該路徑的選擇以及信息素濃度。
其中,表示螞蟻所攜帶的信息素總量,E表示螞蟻訪問過的節(jié)點(diǎn)構(gòu)成的TSK-FLS的均方根誤差RMSE。
其中,E表示局部參數(shù)最優(yōu)時(shí)刻的均方根誤差。
該算法具有以下優(yōu)點(diǎn):(1)全局信息更新時(shí)只對當(dāng)前最優(yōu)路徑信息的跡更新,跡越多濃度越大,螞群訪問的概率就越大,從而縮小了蟻群的搜索空間;(2)最優(yōu)路徑信息素的跡增加越快,越吸引蟻群逼近最優(yōu)路徑,從而更新全局信息素跡,增加算法收斂的速度。
設(shè)置3種情況為改進(jìn)算法的結(jié)束條件:(1)設(shè)置終止迭代次數(shù),運(yùn)行到此迭代次數(shù)結(jié)束運(yùn)算;
(2)設(shè)置誤差,滿足誤差條件,結(jié)束運(yùn)算;(3)最優(yōu)路徑的選取不再發(fā)生變化,算法已實(shí)現(xiàn)收斂時(shí),算法結(jié)束。
在本文中TSK-FLS:單點(diǎn)模糊化,多輸入單輸出的模糊規(guī)則庫,構(gòu)建高斯型隸屬函數(shù)的乘積范數(shù)下的模糊推理機(jī),利用中心降型解模糊化這4部分構(gòu)成的系統(tǒng)[15]。TSK-FLS的第條規(guī)則:
將模糊邏輯系統(tǒng)設(shè)計(jì)成網(wǎng)層結(jié)構(gòu),構(gòu)建一個(gè)5層的模糊神經(jīng)網(wǎng)絡(luò)系統(tǒng)。
第一層:輸入層,將規(guī)則數(shù)以及參數(shù)選取作為輸入。
第四層:權(quán)重層,計(jì)算每條規(guī)則的權(quán)重:
第五層:輸出層,輸出為:
(1)利用BP算法,求出可能候選參數(shù)及規(guī)則數(shù)生成路徑的最大值和最小值。按照圖1構(gòu)造螞蟻搜索路徑圖和路徑矩陣。
(2)定義變量。隨機(jī)分配螞蟻在各個(gè)節(jié)點(diǎn),在TSK-FLS中螞蟻指的是參數(shù)及規(guī)則,并且構(gòu)建相應(yīng)的禁忌表,防止重復(fù)訪問同一節(jié)點(diǎn)。
(4)當(dāng)所有螞蟻訪問每個(gè)節(jié)點(diǎn)時(shí),根據(jù)式(4)更新全局信息素,并找出當(dāng)前最優(yōu)參數(shù)和規(guī)則選取,計(jì)算由最優(yōu)參數(shù)組成的RMSE。
(5)清空禁忌表,在循環(huán)數(shù)上加1,根據(jù)以上3種方法中的任何一種結(jié)束算法。
(6)輸出結(jié)果。
設(shè)計(jì)國際油價(jià)的數(shù)值預(yù)測,選取248個(gè)數(shù)據(jù),采用前件124個(gè)數(shù)據(jù)進(jìn)行參數(shù)訓(xùn)練,后件124個(gè)數(shù)據(jù)用于系統(tǒng)測試。改進(jìn)蟻群算法對模糊邏輯系統(tǒng)的規(guī)則參數(shù)選取,采用輸入訓(xùn)練對進(jìn)行預(yù)測,3個(gè)數(shù)據(jù)預(yù)測下一個(gè)數(shù)據(jù)的方式。設(shè)計(jì)TSK模糊邏輯系統(tǒng),對于規(guī)則的每一個(gè)前件取2個(gè)模糊集,這樣就有23=8個(gè)模糊規(guī)則。模糊規(guī)則形式如下:
運(yùn)用改進(jìn)蟻群算法對模糊邏輯系統(tǒng)的參數(shù)和規(guī)則調(diào)節(jié),因?yàn)楹蠹?個(gè)待調(diào)節(jié)的參數(shù),總共有8條規(guī)則,這樣就有32個(gè)待調(diào)節(jié)參數(shù),也就是需要找出32個(gè)最優(yōu)參數(shù),這樣需要構(gòu)造一個(gè)32×32維的路徑矩陣。這里設(shè)置路徑矩陣是一個(gè)對稱的無向圖,并且規(guī)定自身和自身距離為零。每個(gè)參數(shù)等分為最大值和最小值之間的15個(gè)值,共有32×15=480個(gè)待選參數(shù)。通過BP算法分別得到每個(gè)參數(shù)的最大值和最小值,初始參數(shù)選取如下:
通過對前件124個(gè)數(shù)據(jù)訓(xùn)練,對TSK-FLS中的參數(shù)和規(guī)則選取,優(yōu)化參數(shù)選取后的預(yù)測結(jié)果如圖2所示,可以看出,經(jīng)過數(shù)據(jù)訓(xùn)練改進(jìn)蟻群算法對TSK-FLS的預(yù)測模型與實(shí)際輸出擬合效果較好,預(yù)測是比較可行、有效。
圖3中,后件的124個(gè)數(shù)據(jù)用于測試系統(tǒng)預(yù)測國際石油走勢效果,可以看出測試數(shù)據(jù)取得了理想的預(yù)測效果,展示了很好的數(shù)據(jù)擬合結(jié)果。圖4中,最小二乘法,改進(jìn)蟻群算法與樣本數(shù)據(jù)值進(jìn)行比較,可以看出改進(jìn)算法預(yù)測效果與測試數(shù)據(jù)的圖像擬合效果更好,相對誤差更小。
為了驗(yàn)證利用全局信息素更新優(yōu)化后的蟻群算法具有更好的性能(圖5),在進(jìn)一步數(shù)據(jù)仿真中設(shè)置100次迭代,通過對TSK-FLS參數(shù)設(shè)計(jì)的預(yù)測效果的比較可以看出更新全局信息素的改進(jìn)蟻群算法篩選規(guī)則和參數(shù)確定的TSK-FLS在預(yù)測上面有更好的性能。
圖2 改進(jìn)蟻群對TSK-FLS參數(shù)優(yōu)化訓(xùn)練
圖3 測試預(yù)測國際石油走勢效果圖
圖4 比較改進(jìn)蟻群算法與經(jīng)典算法的預(yù)測效果
設(shè)置迭代次數(shù)為100,不同算法下設(shè)計(jì)的TSK-FLS預(yù)測的均方根誤差RMSE結(jié)果如表1。蟻群算法下FLS的預(yù)測輸出誤差是1.42,改進(jìn)蟻群算法下的FLS的預(yù)測輸出誤差是1.28,都小于最小二乘法的預(yù)測誤差1.57;進(jìn)一步表明該改進(jìn)算法縮小隨機(jī)搜索空間,預(yù)測效果可更快接近設(shè)置誤差,同時(shí)也說明仿生進(jìn)化式搜索尋優(yōu)算法比傳統(tǒng)的經(jīng)典算法具有更高的精度性能。
圖5 比較改進(jìn)蟻群與經(jīng)典蟻群的預(yù)測效果
表1 算法預(yù)測的RMSE
應(yīng)用TSK-FLS,利用進(jìn)化算法優(yōu)化系統(tǒng)中參數(shù)選取以及規(guī)則篩選,不但可以通過候選解尋求最優(yōu)解處理參數(shù)設(shè)計(jì)問題,還進(jìn)一步解決蟻群算法的隨機(jī)搜索中的空間較大、效率較低的缺點(diǎn),并將此優(yōu)化后的模糊邏輯系統(tǒng)預(yù)測國際油價(jià)。數(shù)值仿真的結(jié)果說明,改進(jìn)的TSK-FLS模型預(yù)測具有更好的效果,可以有效提高優(yōu)化算法的效率,尤其針對系統(tǒng)中具有不確定的非線性的智能控制器設(shè)計(jì),具有較強(qiáng)的魯棒性,進(jìn)一步可用于多重目標(biāo)決策和多目標(biāo)控制等問題,特別是針對多智能體編隊(duì)控制中優(yōu)化路徑規(guī)劃,提高軌跡跟蹤,對避障避撞有一定的應(yīng)用前景,可以進(jìn)一步探索。
[1] Juang C F, Lo C. Fuzzy systems design by clustering-aided ant colony optimization for plant control[J]. International Journal of General Systems, Dec. 2007, 36(6): 623-641.
[2] Takagi T, Sugeno M. Fuzzy identification of systems and its applications to modeling and control[J]. IEEE transactions on systems, man, and cybernetics, 1985(1): 116-132.
[3] Juang C F, Hung C W, Hsu C H. Rule-based cooperative continuous ant colony optimization to improve the accuracy of fuzzy system design[J]. IEEE Transaction on Fuzzy Systems, 2014, 22(4): 723-735.
[4] Dorigo M, Birattari M, Stutzle T. Ant colony optimization [J]. IEEE Computational Intelligence Magazine, 2006, 1(4): 28-39.
[5] Sim K M, Sun W H. Ant colony optimization for routing and load-balancing: survey and new directions[J]. IEEE Transactions on Systems, Man, and Cybernetics-Part A: Systems and Humans, 2003, 33(5): 560-572.
[6] Socha K, Dorigo M. Ant colony optimization for continuous domains[J]. European Journal of Operational Research, 2008, 185(3): 1155-1173.
[7] Yu J P, Zhao L, Yu H S, et al. Fuzzy finite-time command filtered control of nonlinear systems with input saturation[J]. IEEE Transactions on Cybernetics, 2018, 48(8): 2378-2387.
[8] Wang M, Chen B, Liu X P, et al. Adaptive fuzzy tracking control for a class of perturbed strict-feedback nonlinear time-delay systems[J]. Fuzzy Sets and Systems, 2008, 159(8): 949-967.
[9] Lan J, Liu Y J, Liu L, et al. Adaptive output feedback tracking control for a class of nonlinear time-varying state constrained systems with fuzzy dead-zone input[J]. IEEE Transactions on Fuzzy Systems, 2021, 29(7): 1841-1852.
[10] Juang C F, Chang P H. Designing fuzzy-rule-based systems using continuous ant-colony optimization[J]. IEEE Transactions on Fuzzy Systems, 2009, 18(1): 138-149.
[11] Ma X J, Sun Z Q, He Y Y. Analysis and design of fuzzy controller and fuzzy observer[J]. IEEE Transactions on Fuzzy Systems, 1998, 6(1): 41-51.
[12] Yuan X, Zhang C, Ren Y. Generalized fuzzy groups and many-valued implications[J]. Fuzzy Sets and Systems, 2003, 138(1): 205-211.
[13] Castillo O, Lizárraga E, Soria J, et al. New approach using ant colony optimization with ant set partition for fuzzy control design applied to the ball and beam system[J]. Information Sciences, 2015, 294: 203-215.
[14] Bououden S, Chadli M, Karimi H R. An ant colony optimization-based fuzzy predictive control approach for nonlinear processes[J]. Information Sciences, 2015, 299: 143-158.
[15] Mendel J M. General type-2 fuzzy logic systems made simple: a tutorial[J]. IEEE Transactions on Fuzzy Systems, 2013, 22(5): 1162-1182.
Improved Ant Colony Algorithm for TSK-FLS Parameter Design
LAN Jie
(College of Science, Liaoning University of Technology, Jinzhou 121001, China)
Fuzzy logic system (FLS) is proved to be an effective estimator, but it has some disadvantages such as parameter selection and rule number difficult to obtain. Ant Colony Algorithm (ACO) is an optimization strategy based on local update pheromone search. Based on this algorithm, the global pheromone update design, improved ant colony algorithm (IACO) is improved. The method inherits the advantages of ant colony algorithm to solve the complex optimization problem of random routing, but also overcome the shortcoming of large random search space and low repeated iteration efficiency of candidate solutions. The improved ant colony algorithm is applied to the parameter adjustment and rule selection of TSK-FLS, and an intelligent and optimized fuzzy logic system is designed. Further, TSK- FLS optimized parameters by IACO is applied to the international oil price prediction. Through data simulation results and comparison results, it can be seen that the improved algorithm is effective and reliable in the parameter design of TSK-FLS, and can reduce the search space of traditional ant colony algorithm and improve computational efficiency.
IACO; TSK-FLS; parameter design
10.15916/j.issn1674-3261.2021.05.007
O159
A
1674-3261(2021)05-0307-05
2021-05-29
遼寧省教育廳科研基金(JJL202015407)
蘭潔(1982-),女,吉林長春人,講師,碩士。
責(zé)任編輯:孫 林