王 林, 王宏偉,2*, 柴秀俊
(1.新疆大學電氣工程學院, 烏魯木齊 830047; 2.大連理工大學控制科學與工程學院, 大連 116024)
切換系統(tǒng)是由一系列有限個子系統(tǒng)和決定子系統(tǒng)之間相互聯(lián)系的規(guī)律(切換規(guī)律)組成的混雜系統(tǒng)。作為一類非常重要的混雜系統(tǒng),切換系統(tǒng)廣泛存在于人們的生活中。比如汽車的變速箱系統(tǒng)中,加速、減速、勻速等對應(yīng)發(fā)動機輸出的轉(zhuǎn)速比是不同的,即不同運動階段汽車的動力系統(tǒng)模型不同。此外,電力系統(tǒng)[1]、機器人控制系統(tǒng)[2]、溫度控制系統(tǒng)、攪拌反應(yīng)釜系統(tǒng)[3]、復雜網(wǎng)絡(luò)同步系統(tǒng)[4]、多智能體系統(tǒng)[5-9]等依然存在著大量的切換系統(tǒng)。
對于切換系統(tǒng)辨識,一般需要利用采樣數(shù)據(jù)辨識切換規(guī)律和系統(tǒng)參數(shù)。由于切換規(guī)律作用,切換系統(tǒng)數(shù)據(jù)通常是混雜的,采樣數(shù)據(jù)與各個子系統(tǒng)的對應(yīng)關(guān)系通常是未知的,普通辨識方法很難保證切換規(guī)律辨識的準確率和參數(shù)辨識算法的魯棒性。為解決上述問題,學者們進行了多方面研究,在切換線性系統(tǒng)情況下,Sadeghi等[10]引入了引力搜索法、Juloski等[11-12]引入了貝葉斯算法、Wang等[13]提出了增益重置策略、Borges等[14]引入了投影子空間法、Bako[15]提出了凸優(yōu)化法、Ma等[16]提出了混合整數(shù)規(guī)劃法、Sefidmazgi等[17]提出了聚類法。
以上研究主要集中于線性系統(tǒng)領(lǐng)域,由于非線性系統(tǒng)本身具有非線性、復雜性和多樣性,采用線性辨識方法一般不能解決切換非線性系統(tǒng)的辨識問題。因此,一些學者展開了此方面的研究。Zhang等[18]對于連續(xù)電機伺服轉(zhuǎn)臺系統(tǒng),提出了一種切換非線性自回歸滑動平均(nonlinear auto regressive moving averagee xogenous,NARMAX)模型,將轉(zhuǎn)臺NARMAX模型的切換規(guī)律和參數(shù)辨識轉(zhuǎn)化為約束多目標優(yōu)化問題(constrained multiobjective optimization problem,CMOP),并提出使用Pareto最優(yōu)多目標粒子群優(yōu)化算法解決上述CMOP問題。Bianchi等[19]引入范疇分布和伯努利分布,通過調(diào)整每個子系統(tǒng)模型的概率分布,逐步獲得趨向整體混合模型的極限分布,最終獲取最優(yōu)切換模型。此算法在模式分配和模型識別方面都有很好的表現(xiàn),但存在因陷入局部問題而造成模式識別不匹配現(xiàn)象。Bianchi等[20]又針對一類切換非線性自回歸模型提出了一種兩階段黑箱迭代辨識法,在第一階段中,假設(shè)模式切換只能在預(yù)定義的時刻發(fā)生,而在第二階段中通過細化候選切換時間的數(shù)量和位置,最終估計實際模式切換。然而,這種方法精確估計的前提是需預(yù)先知道大致切換時間。
上述文獻提出的辨識方法中存在切換規(guī)律識別有一些失配情況以及對切換時間存在要求,而一般情況下切換規(guī)律識別錯誤率越高,系統(tǒng)辨識結(jié)果準確度越差?;谏鲜鲇懻?,針對切換非線性系統(tǒng)切換規(guī)律和參數(shù)難于辨識的問題,現(xiàn)提出基于BP神經(jīng)網(wǎng)絡(luò)和折息遞推辨識算法辨識切換非線性系統(tǒng)模型的方法。此方法引入標簽函數(shù)標簽化所有子系統(tǒng),利用系統(tǒng)采樣的混雜數(shù)據(jù),通過BP算法對神經(jīng)網(wǎng)絡(luò)進行訓練,從而建立非線性系統(tǒng)切換規(guī)律的神經(jīng)網(wǎng)絡(luò)預(yù)測模型,利用神經(jīng)網(wǎng)絡(luò)預(yù)測模型對切換規(guī)律進行預(yù)報,目的是提高預(yù)報質(zhì)量,降低識別錯誤率;然后,使用折息遞推辨識算法和關(guān)鍵項分離法在線辨識非線性系統(tǒng)中各子系統(tǒng)的參數(shù),進而解決各子非線性系統(tǒng)的參數(shù)辨識問題;最后,給出非線性系統(tǒng)辨識仿真和結(jié)論。
一類Hammerstein-Wiener切換非線性系統(tǒng)模型如圖1所示。在第k時刻,切換規(guī)律σ(k)控制系統(tǒng)切換至第i個子系統(tǒng),此時刻系統(tǒng)輸出y(k)由第i個子系統(tǒng)決定,由此完成當前時刻系統(tǒng)運行。
NL1i、NL2i分別為第i個子系統(tǒng)輸入端非線性環(huán)節(jié)、輸出端非線性環(huán)節(jié);Lineari為中間動態(tài)線性環(huán)節(jié);σ(·)為該系統(tǒng)切換規(guī)律,σ(k)為第k時刻的切換規(guī)律;u(k)、y(k)分別為系統(tǒng)輸入和輸出信號圖1 Hammerstein-Wiener切換非線性系統(tǒng)模型Fig.1 Hammerstein-Wiener switching nonlinear system model
在圖1中,考慮如下Hammerstein-Wiener切換非線性系統(tǒng)模型:
v(k)=Fσ(k)[u(k)]
(1)
x(k)=Gσ(k)(z-1)v(k)
(2)
y(k)=Hσ(k)[x(k)]
(3)
式中:σ(k)為滿足σ(k)∈i={1,2,…,I}的分段切換函數(shù);Fσ(k)(·)、Hσ(k)(·)為系統(tǒng)輸入端非線性函數(shù)、輸出端非線性函數(shù);Gσ(k)(z-1)為系統(tǒng)中間動態(tài)線性環(huán)節(jié)的傳遞函數(shù);v(k)、x(k)分別為第一、二個非線性系統(tǒng)的輸出信號,v(k)∈R,x(k)∈R;u(k)∈R、y(k)∈R且分別為非線性系統(tǒng)的輸入和輸出信號。
在σ(k)切換規(guī)律的控制作用下,第i個子系統(tǒng)被激活,第i個子系統(tǒng)中的輸入和輸出非線性函數(shù)都用已知的非線性基函數(shù)的線性組合來描述,此時被激活的非線性子系統(tǒng)為
(4)
(5)
(6)
式中:
(7)
式中:e(k)為均值為零、方差為δ2的噪聲。
整理式(7)可得
(8)
定義兩向量即參數(shù)集乘積項向量?i和信息向量φi(k),形式如下:
(9)
(10)
(11)
(12)
(13)
(14)
對于切換系統(tǒng)[式(14)]的辨識任務(wù)為兩個,即切換規(guī)律σ(k)的確定和模型中參數(shù)的辨識。系統(tǒng)切換方式,文獻[13]認為有三種,即周期切換、不定期切換和隨機切換。在上述切換方式作用下,在工作時間內(nèi)系統(tǒng)會形成切換序列[σ(1),σ(2),σ(3),…,σ(k),…]。切換規(guī)律辨識任務(wù):估計當前采樣時刻系統(tǒng)要切換到哪個子系統(tǒng)和在這個子系統(tǒng)上駐留的時間?;谳斎?輸出采樣數(shù)據(jù),建立切換規(guī)律σ(k)的神經(jīng)網(wǎng)絡(luò)預(yù)測模型和辨識模型[式(14)]中的參數(shù)。
在切換系統(tǒng)辨識中,切換規(guī)律有時有些經(jīng)驗數(shù)據(jù),通過對經(jīng)驗數(shù)據(jù)的訓練和分類建立神經(jīng)網(wǎng)絡(luò)預(yù)測模型,從而實現(xiàn)對未知切換的子系統(tǒng)、切換時刻、每次切換駐留時間等信息進行預(yù)測。
為更好預(yù)測,同時便于跟蹤和分析每個子系統(tǒng)特征,首先引入標簽,統(tǒng)一子系統(tǒng)標識。在切換系統(tǒng)中,每個子系統(tǒng)都是獨立且唯一的,因此每個子系統(tǒng)標簽也必須唯一。將第i個子系統(tǒng)標簽定義為δi,形式為
δi=[01,…,0i-1,1i,0i+1,…,0I]T
(15)
具體的,δi共有I位(I為切換子系統(tǒng)總數(shù)),當切換至第i個子系統(tǒng)時,第i位置1,其余位置0,表示該子系統(tǒng)的標簽被啟用。當系統(tǒng)第k時刻切換至第i個子系統(tǒng)時,標簽可表示為
δ(k)=[01,…,0i-1,1i,0i+1,…,0I]T。將標簽引入后,系統(tǒng)切換規(guī)律可以用式(16)描述,即
σ(·)=δ(·)=[δ(1),δ(2),δ(3),…,
δ(k),…]
(16)
BP神經(jīng)網(wǎng)絡(luò)是一種多層前向神經(jīng)網(wǎng)絡(luò),含有單個隱含層的BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示,其擁有R個輸入神經(jīng)元、M個輸出神經(jīng)元和O個隱含層神經(jīng)元。在第k次迭代時,輸入層第r個神經(jīng)元、隱含層第o個神經(jīng)元輸出分別為x′r(k)、p′o(k),輸出層第m個神經(jīng)元的實際輸出、期望輸出分別表示為z′m(k)、y′m(k),輸出層第r個神經(jīng)元與隱含層第o個神經(jīng)元之間連接的權(quán)值為w′ro,隱含層第o個神經(jīng)元與輸出層第m個神經(jīng)元之間連接的權(quán)值為s′om。
圖2 BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.2 BP neural network structure diagram
在預(yù)測切換系統(tǒng)切換規(guī)律之前,首先要對BP神經(jīng)網(wǎng)絡(luò)進行訓練,建立切換規(guī)律的神經(jīng)網(wǎng)絡(luò)預(yù)測模型。選取時間段[0,K]內(nèi)各個子系統(tǒng)的狀態(tài)數(shù)據(jù)組成訓練集N=[X,Y],由式(9)、式(14)、式(16)構(gòu)成輸入數(shù)據(jù)集X:
(17)
構(gòu)成實際期望輸出數(shù)據(jù)集Y:
(18)
(19)
網(wǎng)絡(luò)中隱含層激活函數(shù)、輸出層激活函數(shù)分別選取logsig函數(shù)、softmax函數(shù)作為激活函數(shù),它們函數(shù)形式如下:
(20)
(21)
(1)給定網(wǎng)絡(luò)的訓練樣本N(樣本形式)和切換規(guī)律數(shù)據(jù),設(shè)置網(wǎng)絡(luò)參數(shù),包括:隱含層數(shù)目O、學習率ζ、訓練誤差E′及網(wǎng)絡(luò)訓練次數(shù)M。
(2)初始化網(wǎng)絡(luò)權(quán)值等參數(shù)。
(3)計算輸出層輸出z′m(k)以及輸出層實際輸出與期望輸出的均方誤差E(k)。
(4)判斷誤差精度是否達到要求,若沒達到,進行步驟(4);否則,保存各項參數(shù),算法結(jié)束。
(5)更新隱含層與輸出層間的權(quán)值s′om、輸入層與隱含層間的權(quán)值w′ro、輸入層與隱含層間的閾值εo(k)、隱含層與輸出層間的閾值ζm(k)。
(6)判斷是否達到設(shè)置的最大網(wǎng)絡(luò)訓練次數(shù)M,若沒達到,轉(zhuǎn)回步驟(3);否則,算法停止。
系統(tǒng)參數(shù)辨識方法有多種,比如最小二乘法、遺忘因子最小二乘法、加權(quán)最小二乘法等。與這些方法相比,現(xiàn)使用含有遺忘因子和加權(quán)因子的折息遞推辨識算法(recursive method with discounted measurements,RDM)辨識參數(shù),它具有時變跟蹤能力即動態(tài)特性,同時還能保持區(qū)間內(nèi)系統(tǒng)數(shù)據(jù)的平均特性。
(22)
考慮最小二乘辨識模型[式(14)],對第i個子系統(tǒng)選取準則函數(shù)為
(23)
(24)
則可推導出k時刻第i個子系統(tǒng)參數(shù)估計值為
(25)
定義協(xié)方差矩陣ψi(k)為
(26)
定義增益矩陣?i(k)為
?(k)=ηi(k)ψi(k)φi(k)
(27)
由式(25)~式(27)推導,可得如下折息遞推辨識算法:
(28)
(29)
(30)
(31)
(32)
(33)
(34)
(35)
通過以上公式,對于第i個系統(tǒng),在第k次迭代中,系統(tǒng)辨識參數(shù)結(jié)果為
(36)
基于折息遞推辨識算法的參數(shù)估計步驟如下:
(3)由訓練后的BP神經(jīng)網(wǎng)絡(luò)輸出δ(k),通過δ(k)預(yù)測當前子系統(tǒng)i。
(6)若k未達到最大值,則k=k+1,轉(zhuǎn)到步驟(2);否則,結(jié)束算法。
考慮如下由3個Hammerstein-Wiener非線性系統(tǒng)結(jié)構(gòu)組成的切換非線性系統(tǒng):
子系統(tǒng)1:
其中系統(tǒng)參數(shù):a1=[1,-0.34,-0.5]T,b1=[1,-0.3,-0.2]T,c1=[0.26,-0.1,-0.96]T,d1=0.25,0.35,1.05]T。
子系統(tǒng)2:
其中系統(tǒng)參數(shù):a2=[1,-0.21,0.25]T,b2=[1,0.44,-0.9]T,c2=[0.78,0.12,0.61]T,d2=[0.51,-0.9,-0.12]T。
子系統(tǒng)3:
e(k)。
其中系統(tǒng)參數(shù):a3=[1,0.53,0.75]T,b3=[1,-0.6,-0.2]T,c3=[0.14,0.42,-1.01]T,d3=[-0.6,0.8,0.41]T。
在仿真中,輸入u(k)為零均值、單位方差的高斯白噪聲序列,噪聲信號e(k)為零均值、方差δ2為0.001的高斯白噪聲序列,輸入信號和輸出信號的噪信比為SNR=0.13%。同時,加權(quán)因子取η1=η2=η3=0.999,遺忘因子取ρ1=ρ2=ρ3=0.999。
系統(tǒng)采用隨機切換方式,每50個樣本周期性等概率隨機在子系統(tǒng){1,2,3}中切換,產(chǎn)生10 000個已知切換規(guī)律的訓練數(shù)據(jù),經(jīng)過神經(jīng)網(wǎng)絡(luò)訓練建立神經(jīng)網(wǎng)絡(luò)預(yù)測模型。另外,在線對2 000個未知切換規(guī)律的測試數(shù)據(jù)進行切換規(guī)律預(yù)測。BP神經(jīng)網(wǎng)絡(luò)初始參數(shù)設(shè)置中,所有閾值、權(quán)值初始值為0,訓練誤差E′=10-10,學習率ζ=0.000 1,輸入層、輸出層神經(jīng)元數(shù)目分別為19和3。由式(29)確定隱含層數(shù)目大致范圍為[5,15],為選取更合適的隱含層數(shù)目,將隱含層數(shù)目范圍擴大至[4,70],并取其中的偶數(shù)。在訓練時,每個隱含層數(shù)目進行100次實驗,統(tǒng)計訓練時間及切換規(guī)律預(yù)測正確率,并觀察正確率分布情況。不同隱含層數(shù)目正確率中位數(shù)和正確率均值變化圖如圖3所示,不同隱含層數(shù)目訓練平均時間和正確率標準差變化圖如圖4所示。
圖3 不同隱含層數(shù)目正確率中位數(shù)和正確率均值變化圖Fig.3 Variation plot of the median of the correct rate and the mean of the correct rate under different numbers of hidden layers
圖4 不同隱含層數(shù)目訓練平均時間和正確率標準差變化圖Fig.4 Variation plot of the training average time and variation plot of the standard deviation of correct rate under different numbers of hidden layers
從圖3、圖4可看出,不同隱含層數(shù)目在100次實驗中,隱含層數(shù)目為34時,切換規(guī)律預(yù)測正確率較高且波動較小,同時訓練時間較為合適。通過對比可以看出,選取34作為隱含層數(shù)目,對切換非線性系統(tǒng)進行切換規(guī)律預(yù)測。切換非線性系統(tǒng)實際切換規(guī)律如圖5所示,通過神經(jīng)網(wǎng)絡(luò)預(yù)測得到的切換規(guī)律如圖6所示,預(yù)測得到的切換規(guī)律正確率為99.900%,兩條曲線基本接近,可將預(yù)測規(guī)律近似為實際切換規(guī)律。在此基礎(chǔ)上,通過100次重復實驗,將本文方法與投影子空間法[14]、支持向量機(support vector machine,SVM)法進行對比,統(tǒng)計得到不同方法切換規(guī)律預(yù)測錯誤率的箱形圖,如圖7所示。從圖7可以看出,本文方法分類錯誤率主要集中在0~4%,低于其他兩種算法。
圖5 切換非線性系統(tǒng)實際切換規(guī)律Fig.5 The actual switching rules of switching nonlinear systems
圖6 系統(tǒng)切換規(guī)律的預(yù)測Fig.6 Prediction of system switching rules
圖7 不同方法切換規(guī)律預(yù)測錯誤率的箱形圖Fig.7 Box plot of prediction error rate of switching rules under different methods
在上述預(yù)測模型基礎(chǔ)上,不同算法辨識統(tǒng)計結(jié)果如表1所示,其中err為各個子系統(tǒng)參數(shù)辨識結(jié)果最終的總體相對誤差。第一組為通過遞推最小二乘算法(recursive least squares,RLS)獲得的參數(shù)辨識結(jié)果,第二組為加權(quán)最小二乘算法(recursive weighted least squares,RWLS)獲得的參數(shù)辨識結(jié)果,第三組為遺忘因子最小二乘算法(recursive forgetting factor,RFF)獲得的參數(shù)辨識結(jié)果,第四組為折息遞推辨識算法獲得的參數(shù)辨識結(jié)果。四種方法參數(shù)辨識總體相對誤差曲線如圖8所示。
表1 不同辨識算法的統(tǒng)計結(jié)果
圖8 RLS、RFF、RWLS、RDM參數(shù)辨識總體相對誤差曲線Fig.8 RLS, RFF, RWLS and RDM parameter identification overall relative error curve
以上仿真結(jié)果表明:
(1)BP神經(jīng)網(wǎng)絡(luò)對于切換非線性系統(tǒng)具有良好的擬合性,神經(jīng)網(wǎng)絡(luò)經(jīng)過訓練后建立的預(yù)測模型,能夠較為準確地在線預(yù)測出系統(tǒng)的切換規(guī)律。
(2)對于有噪聲存在的切換非線性系統(tǒng)參數(shù)辨識,折息遞推辨識算法具有的動態(tài)特性和平均特性,充分利用了系統(tǒng)數(shù)據(jù)信息,使參數(shù)辨識精度較高、效果更好。
針對Hammerstein-Wiener切換非線性系統(tǒng),提出了BP神經(jīng)網(wǎng)絡(luò)和折息遞推辨識算法對Hammerstein-Wiener切換非線性系統(tǒng)的切換規(guī)律和參數(shù)進行辨識。仿真實驗結(jié)果表明,通過訓練后的BP神經(jīng)網(wǎng)絡(luò)能夠較為準確地預(yù)測切換規(guī)律,結(jié)合折息遞推辨識算法可以比較準確地辨識切換非線性系統(tǒng)參數(shù)。對于切換規(guī)律未知的切換非線性系統(tǒng)辨識還是比較困難的,它將是今后這類系統(tǒng)辨識研究的重點,研究者將進一步探索。