尹 健
(華能國際電力江蘇能源開發(fā)有限公司 南通電廠,江蘇 南通 226001)
由if-then規(guī)則描述的T-S模糊模型,其后件部分為線性表達(dá)式,在非線性系統(tǒng)的模糊模型辨識與控制方面具有較大的優(yōu)勢[1]。模糊聚類是一種無監(jiān)督學(xué)習(xí)算法,針對給定數(shù)據(jù)集,根據(jù)一定的尋優(yōu)算法將數(shù)據(jù)自動分為若干類。因此,模糊聚類經(jīng)常應(yīng)用于T-S模糊模型的辨識,聚類數(shù)目即T-S模糊模型的規(guī)則數(shù)。其中,模糊C均值聚類(Fuzzy c-means,F(xiàn)CM)算法是應(yīng)用較多的算法[2-4]。
由于一型模糊邏輯系統(tǒng)(Type-1 fuzzy logic systems,T1-FLS),其隸屬度函數(shù)的值為確定值,不能夠處理實際非線性系統(tǒng)的不確定特性。針對這一缺陷,Zadeh提出了一種新的模糊集合,即二型模糊集合(Type-2 fuzzy sets,T2-FS)[5]。二型模糊集合與傳統(tǒng)一型模糊結(jié)合的區(qū)別就在于隸屬度函數(shù)的描述方面,二型模糊集合的隸屬度由首隸屬度和次隸屬度構(gòu)成。首隸屬度與傳統(tǒng)一型模糊集合一樣,是輸入變量的函數(shù),一般可選擇三角函數(shù)、高斯函數(shù)等;次隸屬度由輸入變量和首隸屬度確定。
二型模糊集合分為區(qū)間二型模糊邏輯系統(tǒng)和普通二型模糊集合,區(qū)別在于兩者的次隸屬度函數(shù)。區(qū)間二型模糊集合的次隸屬度定義為1,而普通二型模糊集合的次隸屬度為函數(shù)。由于區(qū)間二型模糊集合的計算比較簡單,不僅在控制系統(tǒng)中得到了大量應(yīng)用[6-8],也應(yīng)用于區(qū)間二型模糊C均值聚類(Interval type-2 fuzzy c-means,IT2-FCM)算法[9]。區(qū)間二型模糊集合與傳統(tǒng)一型模糊集合的差別在于其存在一降階過程,一般采用Karnik-Mendel (KM)降階算法[10]。KM降階算法是一重復(fù)迭代過程,其計算過程耗時較多,不適用于實時控制系統(tǒng)。
為了克服傳統(tǒng)KM降階算法的缺陷,相關(guān)文獻中研究了多種提高KM降階效率的算法,比如EKM[11],IASC[12],EIASC[13]等。雖然這些算法提高了KM降階算法的效率,但其本質(zhì)上也是迭代算法。本文采用一種直接降階算法BMM算法[14],并將其應(yīng)用于IT2-FCM聚類算法的降階過程,避免了區(qū)間二型模糊集合降階過程中的迭代過程,提高了IT2-FCM聚類算法的降階效率。其次,根據(jù)IT2-FCM聚類算法對T-S模糊模型的輸入空間進行劃分,得到了區(qū)間二型T-S模糊模型,并進行前件參數(shù)的辨識。最后,利用最小二乘算法進行T-S模糊模型的后件參數(shù)辨識,通過兩個典型的非線性系統(tǒng)的辨識結(jié)果驗證了本文算法的有效性和實用性。
與傳統(tǒng)T-S模糊模型類似,區(qū)間二型T-S模糊模型也由if-then規(guī)則來描述。根據(jù)前件形式和后件形式的不同,區(qū)間二型T-S模糊模型有3種形式,分別為:前件為區(qū)間二型模糊子集,后件為確定值;前件為一型模糊子集,后件為區(qū)間值,以及前件為一型模糊子集,后件為區(qū)間值。本文采用第一種形式,則第i條模糊規(guī)則描述如下:
針對第k個采樣時刻的輸入向量xk,設(shè)第i條模糊規(guī)則的激發(fā)隸屬度高、低限分別為,則T-S模糊模型的輸出可根據(jù)KM降階算法得到。為了簡化,一般利用高、低限的平均值,表示如下:
其中:
模糊C均值(Fuzzy c-means,F(xiàn)CM)聚類算法是硬C均值聚類(Hard c-means,HCM)算法的拓展。將模糊隸屬度引入聚類算法,克服了傳統(tǒng)HCM聚類算法非0即1的缺陷,更符合實際人們的認(rèn)知系統(tǒng)。FCM聚類算法定義了樣本屬于某一類別的隸屬度的概念,可用uik來表示,i表示聚類的標(biāo)識,k表示樣本的標(biāo)識。傳統(tǒng)模糊C均值聚類算法的目標(biāo)函數(shù)如式(1)。
其中:dik為樣本xk到聚類中心θi的歐式距離;加權(quán)指數(shù)m是算法的關(guān)鍵參數(shù),m取大于1的實數(shù),一般m選擇2。聚類的最終結(jié)果是得出目標(biāo)函數(shù)Jm的極小值,并滿足式(2)的約束條件。
根據(jù)拉格朗日乘子法,F(xiàn)CM樣本隸屬度和聚類算法中心的迭代計算公式如式(3)和式(4)。
區(qū)間二型模糊C均值聚類算法設(shè)置兩個m值,分別為m1和m2,其聚類目標(biāo)是最小化如式(5)的兩個目標(biāo)函數(shù)[9]。
區(qū)間二型模糊C均值聚類隸屬度的高、低限表示如式(6)和式(7)。
聚類中心θi則通KM降階算法得到,具體的算法流程可參考文獻[9]。
本文采用一種直接降階算法——BMM降階算法,避免了KM降階算法的迭代過程。將其應(yīng)用于區(qū)間二型模糊C均值聚類算法的降階過程,聚類中心的計算過程如式(8)。
圖1 模糊模型與原始輸出曲線(實例1)Fig.1 Fuzzy model and original output curve (Example 1)
其中:0≤n≤1。
基于區(qū)間二型模糊C均值聚類算法的T-S模糊模型辨識流程描述如下:
1)針對N對訓(xùn)練數(shù)據(jù)(xk,yk),設(shè)置聚類個數(shù)c(也即模糊規(guī)則數(shù)),參數(shù)m1、m2、n,算法結(jié)束閾值ε,算法的最多迭代次數(shù)rm,隨機初始化聚類中心θi0,設(shè)迭代計數(shù)器r=0。
2)根據(jù)式(6)和式(7)計算樣本隸屬于第i個聚類的隸屬度的高、低限。
3)根 據(jù) 式(8)計 算θi(r+1),如 果||θi(r+1)-θi(r)||或 者r>rm,則退出算法,執(zhí)行步驟4),否則繼續(xù)執(zhí)行步驟2)。
4)根據(jù)最小二乘算法計算T-S模糊模型的后件參數(shù)。
本例選取如下非線性方程:
該方程共有100組數(shù)據(jù),前50組作為訓(xùn)練數(shù)據(jù),后50組作為驗證數(shù)據(jù)。辨識參數(shù)設(shè)置如下:模糊規(guī)則數(shù)c=6,m1=2,m2=3,n=0.2。圖1和圖2分別為辨識結(jié)果的輸出曲線和誤差曲線。
圖2 模糊模型與原始輸出誤差曲線(實例1)Fig.2 Fuzzy model and original output error curve (Example 1)
本例選取如下非線性離散模型:
該模型共產(chǎn)生1000組數(shù)據(jù),前200組作為訓(xùn)練數(shù)據(jù),后800組作為驗證數(shù)據(jù)。辨識參數(shù)設(shè)置如下:模糊規(guī)則數(shù)目c=2,m1=2,m2=3.5,n=0.4。圖3和圖4分別為辨識結(jié)果的輸出曲線和誤差曲線。
區(qū)間二型模糊集合常用的KM降階算法,其計算過程繁瑣,并不適合于實時控制系統(tǒng)。目前,已有多種直接降階算法來代替KM降階算法。本文將BMM降階算法應(yīng)用于區(qū)間二型模糊C均值聚類,提高了區(qū)間二型模糊C均值聚類算法的實時性。在此基礎(chǔ)上,利用區(qū)間二型模糊C均值聚類進行T-S模糊模型的輸入空間劃分,建立了區(qū)間二型T-S模糊模型。仿真實驗表明,本文算法的辨識精度較高,并可用于實時建模與控制。在實際應(yīng)用的時候,可根據(jù)對象特性選擇合適的m1,m2以及n值,以得到較好的辨識效果。
圖3 模糊模型與原始輸出曲線(實例2)Fig.3 Fuzzy model and original output curve (Example 2)
圖4 模糊模型與原始輸出誤差曲線(實例2)Fig.4 Fuzzy model and original output error curve (Example 2)