明飛
摘? ?要:針對T-S模糊模型參數(shù)辨識困難的問題,提出了一種基于細(xì)菌群體趨藥性算法的T-S模糊模型辨識算法。利用細(xì)菌軀體趨藥性算法的全局尋優(yōu)能力,極大減小了常規(guī)尋優(yōu)算法陷入局部最優(yōu)值得幾率。T-S模糊模型的后件參數(shù)采用最小二乘算法,簡化了辨識步驟。仿真實驗表明,本文提出的算法具有較高的辨識精度。
關(guān)鍵詞:T-S模糊模型? 非線性辨識? 細(xì)菌群體趨藥性? 最小二乘
T-S模糊模型能夠以任意精度逼近非線性系統(tǒng)[1],被廣泛應(yīng)用于非線性系統(tǒng)的辨識過程。T-S模糊模型可采用很多算法,其中應(yīng)用較多的是基于模糊聚類的T-S模糊模型辨識。T-S模糊模型是由一組if-then規(guī)則來描述,if部分描述的是前件參數(shù),then部分描述的是后件參數(shù)。T-S模糊模型的辨識包括結(jié)構(gòu)辨識和參數(shù)辨識,結(jié)構(gòu)辨識包括輸入變量的選擇,輸入變量模糊空間的劃分等。
FCM是應(yīng)用較為廣泛的聚類算法[2],其屬于無監(jiān)督學(xué)習(xí)算法,不需要先驗知識,通過實驗或者運(yùn)行數(shù)據(jù),自動進(jìn)行訓(xùn)練數(shù)據(jù)的分類。FCM聚類算法實現(xiàn)簡單,在T-S模糊模型的辨識中使用較多。FCM聚類算法的基本思路是將T-S模糊系統(tǒng)的前件部分統(tǒng)一為一個向量,可以避免對單個輸入變量進(jìn)行劃分。FCM聚類算法得到的中心即為前件參數(shù),訓(xùn)練數(shù)據(jù)的隸屬于第i類的隸屬度即為第i條模糊規(guī)則的激發(fā)隸屬度。不需要分別計算每個輸入變量的隸屬度,在進(jìn)行“乘積”或者“取小”推理,簡化了模型的辨識過程。通過模糊聚類確定T-S模糊模型的前件參數(shù),然后通過最小二乘確定后件參數(shù)。
但是FCM聚類算法是一牛頓迭代法,其在迭代過程中易于陷入局部極值點(diǎn),這樣沒有得到系統(tǒng)最優(yōu)值而提前退出迭代算法,影響了系統(tǒng)的辨識精度。很多文獻(xiàn)采用群體智能算法進(jìn)行FCM聚類算法的尋優(yōu),可在一定程度上降低FCM聚類算法早熟的幾率。常見的群體智能算法包括遺傳算法、粒子群優(yōu)化算法、蟻群優(yōu)化算法、細(xì)菌趨藥性優(yōu)化算法等。
最開始的細(xì)菌趨藥性算法與常見的智能尋優(yōu)算法類似,是從細(xì)菌行為中得到的一種優(yōu)化算法[3]。但其僅僅依賴于單個細(xì)菌的行動軌跡,具有較大的隨機(jī)性。文獻(xiàn)[4]對其做了改進(jìn),模擬粒子群等群體智能算法,提出了一種細(xì)菌群體趨藥性算法。該算法不僅繼承了傳統(tǒng)細(xì)菌趨藥性算法中利用自身運(yùn)動位置進(jìn)行函數(shù)優(yōu)化,其可以利用其他細(xì)菌的位置進(jìn)行尋優(yōu),避免了單個細(xì)菌個體的隨機(jī)性,大大提高了尋優(yōu)效率。文獻(xiàn)[4]指出,細(xì)菌軀體趨藥性算法能夠極大提高傳統(tǒng)細(xì)菌趨藥性算法的優(yōu)化能力,在某些場合,其收斂速度和優(yōu)化精度上還要優(yōu)于其他的群體智能算法。
本文提出一種基于細(xì)菌群體趨藥性算法的T-S名模糊模型辨識算法。該算法利用細(xì)菌群體趨藥性尋優(yōu)算法進(jìn)行FCM聚類算法的中心和求取,避免了FCM易于陷入局部最優(yōu)值的缺陷,提高了尋優(yōu)效果。確定了FCM聚類算法的中西即可得到每個輸入向量對每條規(guī)則的激發(fā)隸屬度,這樣T-S模糊模型的前進(jìn)參數(shù)也隨之確定,在通過最小二乘算法得到T-S模糊模型的后件參數(shù)。仿真實驗表明,本文提出的算法具有較高的辨識精度。
1? T-S模糊模型
T-S模糊模型由一組if-then規(guī)則來描述,每條規(guī)則代表了一個線性子系統(tǒng),第i條模糊規(guī)則可表示為[5]:
T-S模糊模型的前件參數(shù)的確定,如果采用單個變量的模式,那么每個輸入變量都得確定一個隸屬度函數(shù),假設(shè)采取高斯型隸屬度函數(shù)的話,那么每個輸入變量需要確定2個高斯隸屬度變量,這樣需要確定的前件參數(shù)個數(shù)為2×M×c個。前進(jìn)參數(shù)確定以后,那么每個輸入變量的隸屬度即可得到,每條規(guī)則的激發(fā)隸屬度通過輸入變量的隸屬度進(jìn)行模糊推理得到。
如果采用向量的模式,利用FCM聚類算法進(jìn)行前進(jìn)參數(shù)辨識的時候,那么總共需要確定的參數(shù)個數(shù)為M×c個。FCM聚類算法的隸屬度即為模糊規(guī)則的激發(fā)隸屬度。
由前描述,通過FCM聚類算法進(jìn)行T-S模糊模型的辨識,且利用輸入向量的模式,不僅僅前件參數(shù)數(shù)量上較少,模糊規(guī)則的激發(fā)隸屬度求取也較為簡單。
2? 細(xì)菌群體趨藥性算法
細(xì)菌群體趨藥性算法利用單個細(xì)菌移動軌跡的信息和感知到周圍同伴的位置信息,其具有普通細(xì)菌算法不易陷入局部極值的優(yōu)點(diǎn),也具有群體智能算法的全局搜索能力,能夠很快得到最優(yōu)值。
細(xì)菌群體趨藥性算法的具體描述如下[7]:
(1)確定細(xì)菌個數(shù),及計算的精度ε;
(2)初始化細(xì)菌群:根據(jù)變量范圍,隨機(jī)將細(xì)菌群體分布在不同的位置;
(3)根據(jù)式(2)-(4)確定算法參數(shù);
(4)對處在移動步數(shù)k的細(xì)菌i,感知其周圍更好位置的細(xì)菌,并確定它們的中心位置和一個假定的朝這個中心方向移動的長度,確定位置;
(5)對處在移動步數(shù)k的細(xì)菌i,同時根據(jù)它自己記憶的上幾步的位置信息按細(xì)菌趨藥性算法確定第k+1步新的位置;
(6)分別計算不同位置的目標(biāo)函數(shù)值,如果的目標(biāo)值小于的目標(biāo)值,那么細(xì)菌在第k+1步移到,否則移到;
(7)重復(fù)(3)-(6)步,直至精度滿足條件。
3? T-S模糊模型后件參數(shù)辨識
本文T-S模糊模型的后件參數(shù)通過最小二乘來計算。最小二乘(Least Squares, LS)法是一種根據(jù)實驗數(shù)據(jù)進(jìn)行參數(shù)估計的主要方法。
根據(jù)最小二乘算法,P的最小二乘估計為:
初始條件P0=0,S0=αI。α一般取大于10000的實數(shù),I是L×L的單位矩陣。
4? 仿真實例
本文選擇2個非線性系統(tǒng)進(jìn)行辨識,仿真實例1是一個2輸入、1輸出的非線性對象,仿真實例2是一個混沌時間序列。
4.1 仿真實例1
本例選擇雙輸入單輸出非線性對象(DISO),其輸入輸出方程如下:
選取50組輸入輸出數(shù)據(jù)用于本文算法的辨識,選擇的模糊規(guī)則數(shù)目c=6。圖1顯示了本文算法的模糊模型輸出和實際輸出的擬合曲線,圖2顯示了本文算法的模糊模型輸出和實際輸出的誤差曲線。由圖2可以看出,本文辨識算法的輸出值和實際的輸出值基本重合,擬合精度較高。圖2顯示的是采用50組訓(xùn)練數(shù)據(jù)時的辨識結(jié)果。
4.2 仿真實例2
本例選取Mackey-Glass混沌模型,表達(dá)式如下:
本文選取模糊模型為x(t+1)=f(x (t -1), x (t -2), x (t -3), x (t -4))來逼近Mackey-Glass混沌時間序列,x(0)~x(17)的初值為1.2。在t=124s和t=1123s之間采集1000個輸入輸出數(shù)據(jù)作為訓(xùn)練數(shù)據(jù)和驗證數(shù)據(jù),前200個數(shù)據(jù)作為訓(xùn)練數(shù)據(jù),后800個作為驗證數(shù)據(jù)。
選擇的模糊規(guī)則數(shù)目c=2。圖3顯示了本文算法的模糊模型輸出和實際輸出的擬合曲線,圖4顯示了本文算法的模糊模型輸出和實際輸出的誤差曲線。
5? 結(jié)語
本文利用細(xì)菌群體趨藥性算法進(jìn)行T-S模糊模型的辨識。T-S模糊模型的前件部分通過FCM聚類算法構(gòu)建,而原始的FCM聚類算法是一牛頓迭代算法,容易陷入局部最優(yōu)值而提早退出搜索。本文首先利用細(xì)菌群體趨藥性算法對FCM聚類算法進(jìn)行中心點(diǎn)的尋優(yōu),提高了聚類算法的精度。后件參數(shù)通過最小二乘算法確定。仿真實驗表明,本文提出的算法具有較高的辨識精度。
參考文獻(xiàn)
[1] Wang L X. A Course in Fuzzy Systems and Control[M]. Prentice-Hall: Englewood Cliffs, NJ, 1997.
[2] Bezdek J C. Pattern Recognition with Fuzzy Objective Function Algorithms[M]. New York: Plenum Press, 1981.
[3] Muller S D, Marchetto J, Airaghi S, et al. Optimization based on bacterial chemotaxis[J]. IEEE Transactions on Evolutionary Computation, 2002, 6(1):16-29.
[4] 李威武, 王慧, 鄒志君, 等. 基于細(xì)菌群體趨藥性的函數(shù)優(yōu)化方法[J]. 電路與系統(tǒng)學(xué)報, 2005,10(1):58-63.
[5] Takagi T, Sugeno M. Sugeno, M.Fuzzy Identification of Systems and its Applications to Modeling and Control[J]. IEEE Transactions on Systems, Man, and Cybernetics SMC-15(1), 116-132.
[6] Chen J Q, Xi Y G, Zhang Z J. A clustering algorithm for fuzzy model identification[J]. Fuzzy Sets and Systems, 1998, 98(3):319-329.
[7] 廖海亮.基于細(xì)菌群體趨藥性算法的可用輸電能力計算[D].東北電力大學(xué),2009.