尹 健
(華能國際電力江蘇能源開發有限公司 南通電廠,江蘇 南通 226001)
由if-then規則描述的T-S模糊模型,其后件部分為線性表達式,在非線性系統的模糊模型辨識與控制方面具有較大的優勢[1]。模糊聚類是一種無監督學習算法,針對給定數據集,根據一定的尋優算法將數據自動分為若干類。因此,模糊聚類經常應用于T-S模糊模型的辨識,聚類數目即T-S模糊模型的規則數。其中,模糊C均值聚類(Fuzzy c-means,FCM)算法是應用較多的算法[2-4]。
由于一型模糊邏輯系統(Type-1 fuzzy logic systems,T1-FLS),其隸屬度函數的值為確定值,不能夠處理實際非線性系統的不確定特性。針對這一缺陷,Zadeh提出了一種新的模糊集合,即二型模糊集合(Type-2 fuzzy sets,T2-FS)[5]。二型模糊集合與傳統一型模糊結合的區別就在于隸屬度函數的描述方面,二型模糊集合的隸屬度由首隸屬度和次隸屬度構成。首隸屬度與傳統一型模糊集合一樣,是輸入變量的函數,一般可選擇三角函數、高斯函數等;次隸屬度由輸入變量和首隸屬度確定。
二型模糊集合分為區間二型模糊邏輯系統和普通二型模糊集合,區別在于兩者的次隸屬度函數。區間二型模糊集合的次隸屬度定義為1,而普通二型模糊集合的次隸屬度為函數。由于區間二型模糊集合的計算比較簡單,不僅在控制系統中得到了大量應用[6-8],也應用于區間二型模糊C均值聚類(Interval type-2 fuzzy c-means,IT2-FCM)算法[9]。區間二型模糊集合與傳統一型模糊集合的差別在于其存在一降階過程,一般采用Karnik-Mendel (KM)降階算法[10]。KM降階算法是一重復迭代過程,其計算過程耗時較多,不適用于實時控制系統。
為了克服傳統KM降階算法的缺陷,相關文獻中研究了多種提高KM降階效率的算法,比如EKM[11],IASC[12],EIASC[13]等。雖然這些算法提高了KM降階算法的效率,但其本質上也是迭代算法。本文采用一種直接降階算法BMM算法[14],并將其應用于IT2-FCM聚類算法的降階過程,避免了區間二型模糊集合降階過程中的迭代過程,提高了IT2-FCM聚類算法的降階效率。其次,根據IT2-FCM聚類算法對T-S模糊模型的輸入空間進行劃分,得到了區間二型T-S模糊模型,并進行前件參數的辨識。最后,利用最小二乘算法進行T-S模糊模型的后件參數辨識,通過兩個典型的非線性系統的辨識結果驗證了本文算法的有效性和實用性。
與傳統T-S模糊模型類似,區間二型T-S模糊模型也由if-then規則來描述。根據前件形式和后件形式的不同,區間二型T-S模糊模型有3種形式,分別為:前件為區間二型模糊子集,后件為確定值;前件為一型模糊子集,后件為區間值,以及前件為一型模糊子集,后件為區間值。本文采用第一種形式,則第i條模糊規則描述如下:

針對第k個采樣時刻的輸入向量xk,設第i條模糊規則的激發隸屬度高、低限分別為,則T-S模糊模型的輸出可根據KM降階算法得到。為了簡化,一般利用高、低限的平均值,表示如下:

其中:

模糊C均值(Fuzzy c-means,FCM)聚類算法是硬C均值聚類(Hard c-means,HCM)算法的拓展。將模糊隸屬度引入聚類算法,克服了傳統HCM聚類算法非0即1的缺陷,更符合實際人們的認知系統。FCM聚類算法定義了樣本屬于某一類別的隸屬度的概念,可用uik來表示,i表示聚類的標識,k表示樣本的標識。傳統模糊C均值聚類算法的目標函數如式(1)。

其中:dik為樣本xk到聚類中心θi的歐式距離;加權指數m是算法的關鍵參數,m取大于1的實數,一般m選擇2。聚類的最終結果是得出目標函數Jm的極小值,并滿足式(2)的約束條件。

根據拉格朗日乘子法,FCM樣本隸屬度和聚類算法中心的迭代計算公式如式(3)和式(4)。

區間二型模糊C均值聚類算法設置兩個m值,分別為m1和m2,其聚類目標是最小化如式(5)的兩個目標函數[9]。

區間二型模糊C均值聚類隸屬度的高、低限表示如式(6)和式(7)。

聚類中心θi則通KM降階算法得到,具體的算法流程可參考文獻[9]。
本文采用一種直接降階算法——BMM降階算法,避免了KM降階算法的迭代過程。將其應用于區間二型模糊C均值聚類算法的降階過程,聚類中心的計算過程如式(8)。


圖1 模糊模型與原始輸出曲線(實例1)Fig.1 Fuzzy model and original output curve (Example 1)
其中:0≤n≤1。
基于區間二型模糊C均值聚類算法的T-S模糊模型辨識流程描述如下:
1)針對N對訓練數據(xk,yk),設置聚類個數c(也即模糊規則數),參數m1、m2、n,算法結束閾值ε,算法的最多迭代次數rm,隨機初始化聚類中心θi0,設迭代計數器r=0。
2)根據式(6)和式(7)計算樣本隸屬于第i個聚類的隸屬度的高、低限。
3)根 據 式(8)計 算θi(r+1),如 果||θi(r+1)-θi(r)||或 者r>rm,則退出算法,執行步驟4),否則繼續執行步驟2)。
4)根據最小二乘算法計算T-S模糊模型的后件參數。
本例選取如下非線性方程:

該方程共有100組數據,前50組作為訓練數據,后50組作為驗證數據。辨識參數設置如下:模糊規則數c=6,m1=2,m2=3,n=0.2。圖1和圖2分別為辨識結果的輸出曲線和誤差曲線。

圖2 模糊模型與原始輸出誤差曲線(實例1)Fig.2 Fuzzy model and original output error curve (Example 1)
本例選取如下非線性離散模型:

該模型共產生1000組數據,前200組作為訓練數據,后800組作為驗證數據。辨識參數設置如下:模糊規則數目c=2,m1=2,m2=3.5,n=0.4。圖3和圖4分別為辨識結果的輸出曲線和誤差曲線。
區間二型模糊集合常用的KM降階算法,其計算過程繁瑣,并不適合于實時控制系統。目前,已有多種直接降階算法來代替KM降階算法。本文將BMM降階算法應用于區間二型模糊C均值聚類,提高了區間二型模糊C均值聚類算法的實時性。在此基礎上,利用區間二型模糊C均值聚類進行T-S模糊模型的輸入空間劃分,建立了區間二型T-S模糊模型。仿真實驗表明,本文算法的辨識精度較高,并可用于實時建模與控制。在實際應用的時候,可根據對象特性選擇合適的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)