邵克勇,韓 巍,范 欣,劉遠紅
(大慶石油學院電氣信息工程學院,黑龍江 大慶 163318)
一種基于數據驅動的系統建模方法
邵克勇,韓 巍,范 欣,劉遠紅
(大慶石油學院電氣信息工程學院,黑龍江 大慶 163318)
提出了一種基于數據驅動的系統建模方法,采用減法聚類和模糊C-均值聚類相結合的模糊聚類算法進行前件RBF網絡辨識,自適應地獲得精確的聚類個數和隸屬度參數;用BP算法訓練后件網絡的權值,從而僅利用輸入輸出數據,就建立了T-S模糊神經網絡模型,在該過程中充分利用了BP神經網絡和RBF神經網絡的優點。最后用該模型對一個非線性系統進行辨識,用MATLAB進行仿真,結果表明,該方法具有可行性。
T-S模型;BP網絡;RBF網絡;模糊C-均值聚類
基于數據驅動(Data-driven)的控制方法是近年來出現的一種新的控制算法[1],該方法只利用已存儲的大量輸入輸出數據,在線學習計算與當前狀態相匹配的控制量,便可獲得系統所要求的各種動靜態品質。Takagi和Sugeno在1985年提出T-S模型,該模型可以直接從輸入輸出數據中提取模糊規則和辨識模糊參數[2],由于其缺乏自學習和自適應能力,有學者提出了基于T-S的模糊神經網絡[3],將模糊邏輯和神經網絡融合在一起,其中BP(back propagation)網絡和徑向基函數RBF(Radial Basis Function)神經網絡目前最為成熟、應用最廣泛。BP神經網絡是全局逼近網絡,可實現從輸入到輸出的任意復雜的非線性映射,并具有良好的泛化能力,但每一次樣本學習都要重新調整網絡的所有權值,尋優參數多,因此收斂速度慢。RBF網絡是局部逼近的網絡,可大大加快學習速度并避免局部極小,滿足實時控制的要求,但在訓練樣本增多時,RBF網絡的隱層神經元數遠遠高于BP網絡,這樣使得RBF 網絡的復雜度大大增加,結構過于龐大。由于模糊聚類算法可以把數據分成多個有意義的子類,這樣大大減少了隱層節點數,簡化了RBF網絡,特別適用于多變量系統。鑒于此,筆者基于數據驅動理論,綜合BP和RBF網絡的優點,建立了一種新的T-S模糊神經網絡。
首先定義一個多輸入多輸出系統P(U,Y),U是系統輸入,U∈Rm;Y是系統輸出,Y∈Rq。針對該系統,可以將其分解成q個MISO系統,第i條規則可寫為:


(1)

(2)


圖1 基于T-S模型的模糊神經網絡結構

(3)

2.1前件網絡

第1層為輸入層,該層的節點數為N1=m。


第2層為模糊化層(隸屬度函數層),隸屬度函數采用高斯函數,該層的節點數為N2=n×m。



第3層為規則層(RBF的輸出層),輸出層的權值相當于T-S模型的多項式參數,模糊規則的個數等于RBF網絡中心值個數。該層的節點數為N3=n。



第4層為模糊決策層,該層節點數為N4=n。


第5層與后件網絡的第4層共用。
2.2后件網絡
后件網絡近似為BP網絡,各層作用如下:







第4層為計算系統的總輸出,與前件網絡的第5層共用,即:



3.1前件網絡參數學習
模糊聚類算法包括模糊C-均值聚類算法和減法聚類算法,模糊C-均值聚類算法的優點是用隸屬度的方式表征數據點屬于某類的程度,但其對初值非常敏感,若在利用模糊C-均值聚類算法前先用減法聚類算法,這樣不但可以找到聚類初始中心,還可以根據數據的每一維對聚類中心的影響自動產生較好的聚類個數,不必事先確定聚類個數,而且能收斂到全局最優,提高聚類速度。模糊聚類算法用于RBF網絡隸屬度函數中心值和寬度的學習。具體的學習過程如下:
1)利用減法聚類確定聚類個數C和初始聚類中心:
①由減法聚類中的定義公式推導,數據點xi處的密度指標定義為:
(4)
常數ra是該點的鄰域半徑,半徑以外的數據點對該點的密度指標貢獻甚微。
②取max(Di)所對應的數據點為第一個聚類中心,令xc1為選中的點,Dc1為其密度指標。那么每個數據點xi的密度指標可用公式:
(5)
修正。常數rb定義了一個密度指標函數顯著減小的鄰域。為避免出現距離很近的聚類中心,一般取rb=1.5ra。修正了每個數據點的密度指標后,選定下一個聚類中心xc2,再次修正數據點所有密度指標。

2)用式(6)進行修正,得到最終的聚類中心vk:

(6)
3)隸屬度函數的寬度值σk與其中心值有關,可以通過式(7)計算出來:
(7)
4)用下式修正隸屬度矩陣U(l):
(8)
5)用一個矩陣范數‖·‖比較U(l)和U(l+1)。對給定的εgt;0,‖U(l+1)-U(l)‖≤ε則停止迭代,否則取l=l+1,并轉向步驟2),最終得到的vk(k=1,2,…,C)、σk分別為RBF網絡的基函數的中心和寬度。
3.2后件網絡連接權值的學習
BP算法僅需訓練后件網絡第2層的連接權值。根據梯度下降法[3],權值的學習算法步驟如下:
(9)
從而可得:
(10)
2)取誤差代價函數為:
(11)



(12)
式中,η為學習速率,η=[0,1]。
則k+1時刻網絡的權值為:
(13)
如果步長較小時,在誤差曲面較平坦的地區,收斂速度慢;步長較大時,又會引起震蕩,附加動量因子γ∈[0,1]是考慮上次變化對本次變化的影響,使參數的調節向著底部的平均方向變化,起到了緩沖平滑的作用,相當于阻尼項,從而加速了收斂,有效的抑制了局部極小。此時的權值為:

(14)
3)返回步驟2)重復,直至誤差滿足要求為止。
為方便比較,選用如下一個經典的非線性系統作為仿真對象:
y(k+1)=g[y(k),y(k-1)]+u(k)
(15)
其中:

1)產生訓練數據。采樣時間取1ms,對象的輸入信號為u(k)=sin(2πk/30)。在Matlab中進行編程,神經網絡的輸入為3個,即u(k)、y(k)和y(k-1),可以得到1000組輸入輸出數據,其中,t∈[0,1],y(0)=0,y(1)=0。
2)用T-S模糊神經網絡模型代替非線性函數式(15),仿真時選擇迭代次數為100,迭代誤差為0.00001,ra=0.4。利用減法聚類算法對所得數據進行聚類,規則組數為6,即采用6個模糊集進行模糊化,再通過模糊C-均值聚類算法求出數據的聚類中心和寬度,構成T-S模糊神經的前件網絡結構。

通過仿真計算得到,T-S模糊神經網絡模型的均方差為0.00114,常規模糊神經網絡模型的均方差為0.0139,可以看出利用模糊聚類訓練RBF參數的方法建模精度要高于常規模糊神經網絡,即基于數據驅動的建模方法具有很好的逼近能力,能夠擬合出系統的輸出特性。因此,筆者提出的建模方法計算過程中只有少量的規則參與,辨識參數少,辨識精度比較高。
依據一種基于數據驅動的系統建模思路,提出了一 種新的自動生成模糊系統規則庫的設計方法,將BP網絡和RBF網絡結合,充分利用了BP 網絡學習規則簡單、有較強的非線性擬合能力和RBF網絡訓練速度快及不會陷入局部最優的特點。利用減法聚類對模糊C-均值聚類算法進行初始化,確定了模糊C-均值聚類的聚類個數和初始中心位置,這樣加快了模型收斂速度,然后進行模糊C-均值聚類,得到RBF網絡的中心值和寬度,再利用BP算法得到對T-S模型的后件網絡參數,這樣僅利用輸入輸出數據就得到復雜系統的模糊模型。仿真結果表明,T-S模糊神經網絡模型計算結果和實際數據誤差較小,完全可以滿足實際要求,適用于非線性系統的在線辨識。

圖2 常規模糊神經網絡模型仿真結果 圖3 T-S模糊神經網絡模型仿真結果
[1]Rhodes C,Morari M,Tsimring L S.Data-based control trajectory planning for nonlinear systems[J].Physical Review E, 1997,6(3): 2398~2406.
[2]Takagi T,Sugeno M.Fuzzy Identification of Systems and its Applications to Modeling and Control[J].IEEE Trans.SMC ,1985,(15):116~132.
[3]丁衛平. 基于BP神經網絡改進算法的數據壓縮方案[J]. 湖南理工學院學報(自然科學版), 2009,22(4):35~38.
[編輯] 李啟棟
TP273
A
1673-1409(2010)01-N063-05