祝徐軒 仲國民 何熊熊
(浙江工業(yè)大學(xué)信息工程學(xué)院 杭州 310023)
系統(tǒng)的建模是許多控制系統(tǒng)分析與設(shè)計的基礎(chǔ)[1],目前,對于定常系統(tǒng)的辨識問題已經(jīng)具有較為完備的理論基礎(chǔ),然而實際控制系統(tǒng)中存在更多的是時變系統(tǒng),因此,研究時變系統(tǒng)的辨識問題具有重要意義。
本文主要研究多輸入單輸出(multiple input single output,MISO)時變輸出誤差模型(output error model,OE)的參數(shù)辨識問題。多輸入多輸出(multiple input multiple output,MIMO)系統(tǒng)在諸如電氣、機械、化學(xué)工程和通信工程等實際過程中具有廣泛的應(yīng)用[2-4],它可以分解為多個MISO子系統(tǒng),且一旦分別識別每個子系統(tǒng),就可以獲得MIMO系統(tǒng)的參數(shù)估計。因此,研究MISO系統(tǒng)的參數(shù)估計具有意義,并且大量已經(jīng)開展的工作為進一步研究多輸入系統(tǒng)奠定了基礎(chǔ)。張余等人[5]針對無線傳感器網(wǎng)絡(luò)中能量有限和能耗不均衡問題,提出了一種基于協(xié)同MIMO的無線傳感器網(wǎng)絡(luò)傳輸方案。Khandaker等人[6]研究了MISO多系統(tǒng)中的同步無線信息和功率傳輸問題。
對于MISO定常OE模型的參數(shù)辨識,識別的難點之一在于識別模型中的信息矢量包含未知的中間變量。迭代搜索已被廣泛應(yīng)用于具有未知內(nèi)部變量的系統(tǒng)識別[7,8]。Liu和Lu[9]為多速率系統(tǒng)提供了基于最小二乘的迭代識別。劉毅男等人[10]結(jié)合迭代搜索原理和約簡技術(shù),提出了一種顯著提高跟蹤精度的在線自適應(yīng)迭代簡約最小二乘支持向量機。Jin 等人[11]提出了一種基于輔助模型的區(qū)間變化最小二乘識別方法,用于具有稀缺測量的多變量OE系統(tǒng)辨識。Ding等人[12]提出了基于輔助模型的遞推最小二乘辨識算法,其基本思想是將未知的內(nèi)部變量替換為由輔助模型計算的估計值。該算法不僅簡單還易于實現(xiàn),可以獲得噪聲模型的參數(shù)估計,但是在處理時變系統(tǒng)時,不具備跟蹤能力。而帶遺忘因子的輔助模型遞推最小二乘算法,由于在修正項中引入了遺忘因子,使其具備了跟蹤時變參數(shù)的能力,但是算法在跟蹤突變的時變參數(shù)時,跟蹤能力有限。
學(xué)習(xí)辨識[13,14]基于系統(tǒng)重復(fù)運行的特點構(gòu)造算法,許多學(xué)者都提出了相應(yīng)的辨識方法。孫明軒和畢宏博[13]針對有限區(qū)間上重復(fù)運行的時變系統(tǒng),提出了迭代學(xué)習(xí)最小二乘算法用于系統(tǒng)的時變參數(shù)估計,并分析了算法的收斂性。侯忠生等人[15]利用交通流的重復(fù)性特征,設(shè)計了基于迭代學(xué)習(xí)的辨識算法。Jia 等人[16]提出了一種具有模型識別和動態(tài)R參數(shù)的集成迭代學(xué)習(xí)控制策略使零誤差跟蹤成為可能。
本文考慮有限區(qū)間上重復(fù)運行的多輸入單輸出輸出誤差模型,推導(dǎo)了迭代學(xué)習(xí)隨機梯度算法和迭代學(xué)習(xí)最小二乘算法。通過系統(tǒng)的重復(fù)運行,在每步迭代運行過程中,充分利用了系統(tǒng)的輸入輸出數(shù)據(jù),仿真結(jié)果表明迭代學(xué)習(xí)最小二乘算法能夠獲得多輸入單輸出系統(tǒng)中時變參數(shù)的一致估計。本文其他部分組織如下,第1節(jié)給出了系統(tǒng)的定義并討論了多輸入單輸出OE時變系統(tǒng)的辨識模型。第2節(jié)中給出了用于辨識多輸入單輸出時變OE系統(tǒng)基于輔助模型的隨機梯度算法。第3節(jié)推導(dǎo)出基于輔助模型的迭代學(xué)習(xí)最小二乘算法。第4節(jié)提供了說明性的算例,用于演示所提算法的有效性。最后,在第5節(jié)中給出了相關(guān)結(jié)論。
考慮如下多輸入單輸出輸出誤差模型描述的時變隨機系統(tǒng):
(1)
式中,t表示時間,k表示重復(fù)次數(shù),i表示輸入序列的排序,uik(t)表示模型第k次重復(fù)t時刻序號為i的系統(tǒng)的輸入序列,yk(t)為模型第k次重復(fù)t時刻的系統(tǒng)的輸出序列,vk(t)為0均值不相關(guān)隨機噪聲序列(不可測),A(q-1,t)、Bi(q-1,t)分別是階次為na、nb后移位算子q-1的多項式,具體定義如下:
其中a1(t)、a2(t)、 …、ana(t)、bi1(t)、bi2(t)、 …、binb(t)為未知時變參數(shù),且對于固定的時刻,它們沿重復(fù)軸是恒定不變的。
本文的目標(biāo)是,針對重復(fù)時變系統(tǒng),利用系統(tǒng)的輸入輸出數(shù)據(jù),首先推導(dǎo)出一種基于輔助模型的迭代學(xué)習(xí)隨機梯度算法,然后給出一種基于輔助模型的迭代學(xué)習(xí)最小二乘算法,通過仿真實例,分析2種學(xué)習(xí)算法的性能。在重復(fù)持續(xù)激勵條件下,基于輔助模型的最小二乘學(xué)習(xí)算法可以有效提高參數(shù)估計的精度,說明了學(xué)習(xí)算法在重復(fù)時變系統(tǒng)參數(shù)估計方面的有效性和優(yōu)越性。
定義中間變量為
(2)
則由式(2)可得:
xk(t)=(1-A(q-1,t))xk(t)
(3)
定義信息矩陣φk(t)和待辨識參數(shù)θk(t)如下:
φk(t)=[-xk(t-1), -xk(t-2),…,
-xk(t-na),u1k(t-1),u1k(t-2),
…,u1k(t-nb), …,urk(t-1),
urk(t-2),…,urk(t-nb)]Τ
θk(t)=[a1(t),a2(t),…,ana(t),b11(t),
b12(t),…,b1nb(t),…,br1(t),br2(t),
…,brnb(t)]Τ
將式(3)帶入式(1)可得:
定義準(zhǔn)則函數(shù):
則可得到模型參數(shù)的辨識算法為
(4)
(5)
(6)
…,u1k(t-nb),…,urk(t-1),
urk(t-2),…,urk(t-nb)]Τ
(7)
θk(t)=[a1(t),a2(t),…,ana(t),b11(t),
b12(t),…,b1nb(t), …,br1(t),br2(t),
…,brnb(t)]Τ
(8)
(9)
多輸入單輸出OE模型的迭代學(xué)習(xí)隨機梯度算法的具體實現(xiàn)步驟如算法1所示。
算法1基于輔助模型的迭代學(xué)習(xí)隨機梯度算法 輸入:重復(fù)激勵的一組數(shù)列 輸出:輸出向量為yk(t)1.對于所有的t=0,1,…,N,給定參數(shù)估計初始值θ-1(t),迭代所需σ0(t)和^x0(t)的值,并置k=0;在第k次重復(fù)運行時,采集輸入輸出數(shù)據(jù)uik(t)和yk(t)。2.While k<101 do3.for each t∈[0, N] do4. 用式(7)構(gòu)造?^k(t),用式(5)計算θ^k(t)5. 用式(9)刷新^xk(t),用式(6)刷新σk(t)6.end7.end
本節(jié)推導(dǎo)了基于輔助模型的迭代學(xué)習(xí)最小二乘算法。定義堆積輸出向量Yk(t)、堆積信息矩陣Φk(t)和白噪聲向量Vk(t)如下:
則可將表示k次重復(fù)運行的時變系統(tǒng)表示為
Yk(t)=Φk(t)θk(t)+Vk(t)
給出以下準(zhǔn)則函數(shù):
(10)
則替代后的信息向量記為
…,u1k(t-nb),…,urk(t-1),
urk(t-2),…,urk(t-nb)]Τ
替代后的堆積信息矩陣記為
得到對于多輸入單輸出時變OE模型的最小二乘算法為
顯然該最小二乘估計需要完成對矩陣的求逆運算,為了回避對矩陣的求逆運算,定義:
利用矩陣的求逆公式,可得到Pk(t)的關(guān)系如下:
(11)
(12)
…,u1k(t-nb),…,urk(t-1),
urk(t-2),…,urk(t-nb)]Τ
(13)
θk(t)=[a1(t),a2(t),…,ana(t),b11(t),
b12(t),…,b1nb(t),…,br1(t),br2(t),
…,brnb(t)]Τ
(14)
(15)
多輸入單輸出OE模型的輔助模型迭代學(xué)習(xí)最小二乘算法的具體實現(xiàn)步驟如算法2所示。
算法2 基于輔助模型的迭代學(xué)習(xí)最小二乘算法 輸入:重復(fù)激勵的一組數(shù)列 輸出:堆積的輸出向量Yk(t)1.對于所有的t=0,1,…,N,給定參數(shù)估計初始值θ-1(t),迭代所需P-1(t)和^x0(t)的值,并置k=0;在第k次重復(fù)運行時,采集輸入輸出數(shù)據(jù)uik(t)和yk(t)。2.While k<101 do3.for each t∈[0, N] do4. 用式(13)構(gòu)造?^k(t),用式(11)計算θ^k(t)5. 用式(15)刷新^xk(t),用式(12)刷新Pk(t)6.end7. end
本節(jié)完成數(shù)值算例,通過與帶遺忘因子輔助模型遞推廣義算法比較來說明迭代學(xué)習(xí)最小二乘算法對參數(shù)估計的準(zhǔn)確性,為了方便說明和比較,以下介紹帶遺忘因子的輔助模型遞推最小二乘算法。
ψ(t)=[-xa(t-1), -xa(t-2),…, -xa(t-n)]Τψu(t)=[u1(t),…,u1(t-n),…,ur(t),…,
ur(t-n)]Τ
考慮如下有限區(qū)間重復(fù)時變系統(tǒng):
((1+b11(t)q-1+b12(t)q-2)u1k(t)
+(1+b21(t)q-1+b22(t)q-2)u2k(t))+vk(t)
其中,
a1(t)=1.5sin(1000/t)-1
a2(t)=0.6-0.4·sin(π/|t-60.5|)
b12(t)=log0.1+1.4·|cos(30·π/t)|+0.1b21(t)
=0.01·t·log(50/t)
b22(t)=-1.5+0.5·(1.5·t+130)1/4
圖1和圖2為帶遺忘因子遞推最小二乘的辨識結(jié)果。在遺忘因子取值為0.8的情況下,對比辨識結(jié)果圖可知,在緩變的情況下(b21和b22的辨識結(jié)果)遞推最小二乘算法具有一定的跟蹤時變參數(shù)的能力,但是當(dāng)參數(shù)突變(或者說變化較快)時,該算法的跟蹤能力就很不理想。由圖3可知,在t為100的情況下,辨識結(jié)果未收斂于真值。
圖1 帶遺忘因子遞推最小二乘對ai的辨識結(jié)果
圖2 帶遺忘因子遞推最小二乘對bij的辨識結(jié)果
圖3 帶遺忘因子遞推最小二乘辨識誤差
圖4和圖5為迭代學(xué)習(xí)隨機梯度算法的辨識結(jié)果。由圖4和圖5可知,相比于帶遺忘因子的遞推最小二乘算法,迭代學(xué)習(xí)隨機梯度算法具有較強的跟蹤時變參數(shù)的能力,但在迭代次數(shù)取值為100時,仍存在一定的誤差。由圖6可知,迭代學(xué)習(xí)隨機梯度算法得到的辨識結(jié)果已經(jīng)取得較好的辨識精度,但效果或者說是收斂速度仍有待提升。
圖4 迭代學(xué)習(xí)隨機梯度算法對ai的辨識結(jié)果
圖5 迭代學(xué)習(xí)隨機梯度算法對bij的辨識結(jié)果
圖6 迭代學(xué)習(xí)隨機梯度算法的誤差
圖7和圖8為迭代學(xué)習(xí)最小二乘算法的辨識結(jié)果。由圖7、圖8可知,相比于另2種算法,迭代學(xué)習(xí)最小二乘算法幾乎實現(xiàn)了對參數(shù)的完全辨識,辨識結(jié)果與真值一致。由圖10可知,迭代學(xué)習(xí)最小二乘算法得到的辨識結(jié)果已經(jīng)收斂于真值。
圖7 迭代學(xué)習(xí)最小二乘算法對ai的辨識結(jié)果
圖8 迭代學(xué)習(xí)最小二乘算法對bi的辨識結(jié)果
圖9和圖10的結(jié)果表明對重復(fù)運行的時變系統(tǒng),迭代學(xué)習(xí)最小二乘學(xué)習(xí)算法可以更好地實現(xiàn)對參數(shù)的無偏估計。進一步對比同一t時刻參數(shù)的辨識情況,在激勵信號相同的情況下,隨機選取t=40這一時刻。由表1可以看出,在不同噪聲水平下,迭代學(xué)習(xí)隨機梯度算法的辨識能力不同,當(dāng)噪聲太小時,辨識能力較差。由圖10可以看出,當(dāng)噪聲方差達到一定的大小,迭代學(xué)習(xí)隨機梯度算法迭代50次左右可以實現(xiàn)對參數(shù)的完全估計。對于迭代學(xué)習(xí)最小二乘學(xué)習(xí)算法,由表2和圖11可以看出,無論噪聲方差取何值,迭代學(xué)習(xí)最小二乘學(xué)習(xí)算法都能實現(xiàn)對參數(shù)的完全估計,且只需要7次迭代就能使參數(shù)收斂到真值。仿真結(jié)果表明了參數(shù)估計的一致收斂性,證明該算法可以實現(xiàn)對MISO時變OE模型參數(shù)的完全估計。
表2 迭代學(xué)習(xí)最小二乘算法辨識結(jié)果和誤差
表1 迭代學(xué)習(xí)隨機梯度算法辨識結(jié)果和誤差
圖9 迭代學(xué)習(xí)最小二乘算法的辨識誤差
圖10 不同噪聲方差下迭代學(xué)習(xí)隨機梯度算法估計誤差隨迭代次數(shù)的變化曲線
圖11 不同噪聲方差下迭代學(xué)習(xí)最小二乘算法估計誤差隨迭代次數(shù)的變化曲線
本文提出的迭代學(xué)習(xí)最小二乘學(xué)習(xí)算法可用于解決一類多輸入單輸出OE系統(tǒng)的時變參數(shù)估計問題。針對有限區(qū)間重復(fù)作業(yè)下的時變系統(tǒng),推導(dǎo)了迭代學(xué)習(xí)隨機梯度算法和迭代學(xué)習(xí)最小二乘算法。在重復(fù)持續(xù)激勵條件下,通過仿真實例,證明了迭代學(xué)習(xí)最小二乘學(xué)習(xí)算法的有效性,可以實現(xiàn)對時變參數(shù)的完全估計。
表1續(xù)