王鑫超 張賓
摘 要:本研究提出了一種基于改進(jìn)遺傳算法辨識Volterra級數(shù)模型的方法。該方法根據(jù)Volterra核與系統(tǒng)輸出的相關(guān)程度來調(diào)整模型結(jié)構(gòu),利用重啟策略與自適應(yīng)搜索范圍解決進(jìn)化停滯與算法早熟收斂等問題。通過仿真試驗(yàn)將改進(jìn)遺傳算法與標(biāo)準(zhǔn)遺傳算法、量子粒子群算法進(jìn)行比較。結(jié)果表明,該方法在辨識精度、收斂速度及抗噪性能等方面明顯優(yōu)于其他方法。
關(guān)鍵詞:Volterra級數(shù);改進(jìn)遺傳算法;非線性系統(tǒng);系統(tǒng)辨識
中圖分類號:TP18 ? ? 文獻(xiàn)標(biāo)志碼:A ? ? 文章編號:1003-5168(2022)5-0024-04
DOI:10.19968/j.cnki.hnkj.1003-5168.2022.05.005
Volterra Series Identification Method Based on Improved Genetic
Algorithm
WANG Xinchao ? ?ZHANG Bin
(School of Mechanical Engineering,North China University of Water Resources and Electric Power,Zhengzhou 450045,China)
Abstract: In this paper,a method for identifying Volterra series model based on improved genetic algorithm(IGA) ?is proposed. This method adjusts the model structure according to the correlation between Volterra kernel and system output, uses the restart strategy and adaptive search range to solve the problems of evolutionary stagnation and premature convergence of the algorithm. Through simulation experiments, the IGA method is compared with ?standard genetic algorithm(GA) and quantum particle swarm optimization(QPSO) algorithm. The analysis results indicate that the IGA method is superior to other methods in identification accuracy, convergence speed and anti-noise performance.
Keywords:Volterra series; improved genetic algorithm; nonlinear system; system identification
0 引言
Volterra級數(shù)模型最早是由意大利學(xué)者Volterra提出的[1]。Volterra核參數(shù)的辨識是建立非線性Volterra級數(shù)模型,從而實(shí)現(xiàn)對非線性系統(tǒng)的狀態(tài)監(jiān)測,并判斷其健康狀況。
傳統(tǒng)的Volterra核辨識方法大都是基于最小二乘算法提出的,但最小二乘算法難于處理Volterra核辨識中的測量矩陣病態(tài)和有色噪聲問題。不少學(xué)者將智能優(yōu)化算法引入到Volterra核辨識中,如采用遺傳算法[2]、自適應(yīng)蟻群算法[3]、粒子群算法[4-5]來辨識Volterra級數(shù)的時(shí)域核。智能優(yōu)化算法雖然能克服傳統(tǒng)的最小二乘算法存在的不足,但其在抗噪能力、收斂速度等方面仍有所欠缺,特別是其沒有對Volterra級數(shù)模型進(jìn)行簡化。
遺傳算法(Genetic Algorithms,GA)具有較強(qiáng)的魯棒性及全局收斂能力,并為優(yōu)化問題提供接近全局最優(yōu)的解決方案。因此,本研究使用改進(jìn)遺傳算法辨識Volterra級數(shù)模型,引入重啟策略與自適應(yīng)搜索范圍,防止算法“早熟”,提高算法局部尋優(yōu)能力。仿真結(jié)果表明,本研究的方法在辨識精度、收斂速度以及抗噪能力都有了明顯提高,并且得到了簡化的系統(tǒng)模型。
1 非線性系統(tǒng)Volterra級數(shù)模型
對于單輸入單輸出的非線性系統(tǒng),可以用前三階Volterra級數(shù)描述,如式(1)。
[y(k)=τ1=0M-1h1(τ1)u(k-τ1)+τ1=0M-1τ2=0M-1h2(τ1,τ2)u(k-τ1)u(k-τ2)+τ1=0M-1τ2=0M-1τ3=0M-1h3(τ1,τ2,τ3)u(k-τ1)u(k-τ2)u(k-τ3)] ?(1)
式中,[u(k)]為系統(tǒng)輸入,[y(k)]為系統(tǒng)輸出,[M∈N]為記憶長度。[?n(τ1,...,τn)]為非線性系統(tǒng)的[n]階Volterra時(shí)域核,又稱為廣義脈沖響應(yīng)函數(shù)。[?n(τ1,...,τn)]具有對稱性,即[?n(τ1,...,τn)=?n(τ1,τn,...,τ2)=?n(τ1,τ2,...,τn)]。
為了簡化表達(dá),將式(1)構(gòu)造為矩陣形式,即式(2)。
[Y]=PH+e ? ? ? (2)
式中,[Y∈RL]是輸出向量([L]為輸出數(shù)據(jù)長度),[P∈RL×R]是輸入矩陣,[H∈RR]是非線性系統(tǒng)Volterra核向量([R]為核向量長度),[N]為系統(tǒng)非線性度。記憶長度為[M]的[3]階非線性系統(tǒng)Volterra核向量H可以表示式(3)。
[H=[h1(0),...,h1(M-1) ; h2(0,0),...,h2(0,M-1),h2(1,1),...,h2(M-1,M-1);h3(0,0,0),...,h3(M-1,M-1,M-1)]T]
(3)
測量矩陣[P]與輸出向量[Y]分別表示為式(4)和式(5)。
[P(k)=u(k),...,u[k-(M-1)] ;u2(k),...,u(k)u[k-(M-1)],u2(k-1),...,u2[k-(M-1)];u3(k),...,u3[k-(M-1]T] (4)
[Y=y(k),y(k+1),...,y[k-(M-1)]] ?(5)
根據(jù)式(2),基于Volterra級數(shù)模型的非線性系統(tǒng)辨識,實(shí)質(zhì)上是在已知系統(tǒng)輸入和輸出數(shù)據(jù)的情況下,求解非線性系統(tǒng)Volterra核向量,目標(biāo)是使誤差項(xiàng)[e]最小,這是一個(gè)典型的最優(yōu)參數(shù)估計(jì)問題。
2 基于改進(jìn)遺傳算法的Volterra核辨識
標(biāo)準(zhǔn)遺傳算法在處理高維度問題的搜索過程中存在“早熟”、局部尋優(yōu)能力差、運(yùn)算效率低等問題。Volterra核辨識作為典型的多維復(fù)雜問題,對遺傳算法的性能提出了更高的要求。
基于此,本研究針對遺傳算法提出三個(gè)方面的改進(jìn)策略:調(diào)整染色體結(jié)構(gòu),建立簡化模型;提出重新啟動的策略解決算法“早熟”問題;提出自適應(yīng)基因搜索范圍,提高局部尋優(yōu)能力。
2.1 調(diào)整染色體結(jié)構(gòu)
種群中的每條染色體對應(yīng)一個(gè)候選解,染色體的每個(gè)基因代表Volterra核函數(shù)的參數(shù)。假設(shè)Volterra核函數(shù)的有效位為[R]位,則對應(yīng)的候選解染色體[H]有[R]個(gè)基因。若第[i]位與輸出相關(guān)程度小于閾值,則將該染色體對應(yīng)的基因值設(shè)置為0。
自適應(yīng)調(diào)整染色體結(jié)構(gòu)的流程為:①種群最優(yōu)染色體[H?]的適應(yīng)度值達(dá)到預(yù)設(shè)值[ft]時(shí)啟動;②對候選解[H]進(jìn)行檢驗(yàn),計(jì)算移除候選基因[g]后的模型輸出與模型實(shí)際輸出的相關(guān)程度[ρ(g)];③根據(jù)相關(guān)程度[ρ(g)]以及閾值[ρt],判斷是否移除該基因。假設(shè)系統(tǒng)輸入有[L]個(gè)點(diǎn),則相關(guān)程度[ρ(g)]表示為式(6)[5]。
[ρ(g)=cov(Y,Yng)/var(Y)var(Yng)]
(6)
式中,[cov是協(xié)方差函數(shù),Yng=i=1,i≠gRP(i)×?(i)]是去掉候選基因[g]后的模型輸出,[?(i)]為[?]的第[i]個(gè)基因值,P(i)代表輸入矩陣P的第i列,[var]是均方差函數(shù);④對所有的相關(guān)系數(shù)[ρi(i=1,...,R)]進(jìn)行檢驗(yàn),根據(jù)提前設(shè)定的閾值[ρt],將低于閾值的候選基因從群體基因庫中刪除,并對染色體結(jié)構(gòu)進(jìn)行相應(yīng)的調(diào)整。
2.2 自適應(yīng)重啟策略
為了克服遺傳算法的“早熟”問題,提出重啟策略[6],即在算法陷入進(jìn)化停滯時(shí),對種群進(jìn)行初始化。在保留當(dāng)前精英群體的前提下,用一組隨機(jī)生成的種群代替當(dāng)前種群。
為了描述重啟策略,這里將引入幾個(gè)參數(shù),包括種群多樣性參數(shù)(Population Diversity,PD)、種群最佳適應(yīng)度值[fbest]、種群最低適應(yīng)度值[fworst]和種群平均適應(yīng)度值[favg]。種群多樣性參數(shù)定義式(7)。
[PD?|fbest?favg||fbest?fworst|] ? ? (7)
重啟策略主要有兩個(gè)觸發(fā)條件,其中任何一個(gè)條件滿足,算法就重新啟動。重啟策略兩個(gè)觸發(fā)條件分別為:當(dāng)[PD]的值為[1]或[0]時(shí),種群的適應(yīng)度趨于一致,認(rèn)為該種群陷入早熟而停止收斂,重新啟動算法;引入新的進(jìn)化停滯參數(shù)[Q](初始值為[0])。任何一代(第一代除外)的[fbest]與上次迭代相比沒有改進(jìn)時(shí),[Q]的值加[1];任何一次迭代中[fbest]比上代更優(yōu),[Q]重置為[0]。當(dāng)[Q]的值大于設(shè)定的閾值[Qthr]時(shí),重新啟動算法。
2.3 自適應(yīng)的搜索區(qū)域
搜索區(qū)域即基因的上下界,假設(shè)基因的上下界分別為[ai]、[bi(i=1,…,R)]。在進(jìn)化過程中,當(dāng)最佳染色體的適應(yīng)度值達(dá)到設(shè)定的閾值時(shí),認(rèn)為種群接近最優(yōu)解,縮小搜索范圍有利于局部尋優(yōu),使算法能夠更快收斂。假設(shè)初始的搜索范圍為[I0=b0?a0],對于最優(yōu)個(gè)體[Hbest],將使用式(8)來確定每個(gè)基因的上下界。
[ai(c)=hbest(c)-12×I0×(1-GGmax)bi(c)=hbest(c)+12×I0×(1-GGmax)] (8)
式中,[G]為當(dāng)前迭代次數(shù),[Gmax]為最大迭代次數(shù)。
2.4 Volterra核辨識流程
由式(2)可知,求解Volterra核函數(shù)的本質(zhì)是找到一組最優(yōu)的核向量[H?],使得模型輸出與實(shí)際輸出的誤差最小,即[min (Y?PH?)]。種群候選解的適應(yīng)度函數(shù)如式(9)。
[f(i)=exp{-1Li=1L[Y(i)-P(i)H]2}] ?(9)
式中,[L]代表系統(tǒng)輸入輸出數(shù)據(jù)長度,[Y(i) ]是實(shí)際輸出,[P(i)]是輸入矩陣第[i]列,[H]是候選解。根據(jù)公式(9),適應(yīng)度函數(shù)值最接近[1]時(shí)對應(yīng)的候選解[H?]就是Volterra核函數(shù)的最優(yōu)解?;诟倪M(jìn)遺傳算法的Volterra核辨識流程如下:
①初始化種群:在可行域內(nèi)隨機(jī)生成[200]個(gè)染色體作為初始種群。
②計(jì)算初始種群適應(yīng)度值:前10%作為精英群體直接保留到下一代。
③判斷種群最優(yōu)適應(yīng)度值是否達(dá)到閾值[ft]:如果是,則自適應(yīng)調(diào)整染色體結(jié)構(gòu);如果否,則轉(zhuǎn)到步驟④。
④計(jì)算種群多樣性參數(shù)[PD]與進(jìn)化停滯參數(shù),若[PD=0],1或[Q>Qthr],重新啟動算法。
⑤對種群進(jìn)行遺傳操作:依概率選擇父代染色體,交叉、變異產(chǎn)生子代染色體。
⑥判斷是否達(dá)到所設(shè)迭代次數(shù),達(dá)到則輸出種群最優(yōu)染色體,否則轉(zhuǎn)到步驟⑥。
3 仿真研究
為了驗(yàn)證算法的有效性,考慮如式(10)的三階非線性系統(tǒng)模型。
[y(k)=1.52x(k)-0.55x(k-1)+0.24x(k-2)+0.78x2(k)+1.36x2(k-1)-1.18x(k-1)x(k-1)+1.25x3(k)-0.88x(k)x2(k-1)+1.06x(k-1)x2(k-2)]
(10)
式(10)所示的模型為三階Volterra模型,前三階核的記憶長度都為3,對應(yīng)的核向量為:
[H=[1.52,?0.55,0.24,0.78,0,0,1.36, ?1.18,0,1.25,0,0,?0.88,0,0,0,0,1.06,0]T]。
利用本研究所提的改進(jìn)遺傳算法辨識式(10)所示的Volterra級數(shù)模型,采用方差為[1]的白噪聲作為輸入信號,輸入信號長度為1 000,種群規(guī)模為200,Volterra核函數(shù)長度為19,最大迭代次數(shù)為800,辨識結(jié)果取20次運(yùn)行結(jié)果的平均值。
表1為無噪聲情況下,改進(jìn)遺傳算法(IGA算法)、遺傳算法(GA算法)、量子粒子群算法(QPSO算法)[4]三種方法所得的Volterra模型參數(shù)辨識值。由表1可知,在沒有噪聲的情況下,三種算法均可逼近Volterra核的真實(shí)值,而改進(jìn)遺傳算法具有更高的精度。當(dāng)Volterra時(shí)域核真值為0時(shí),改進(jìn)遺傳算法可以正確識別模型結(jié)構(gòu),而GA算法與QPSO算法辨識值存在較小的偏差。改進(jìn)遺傳算法在成功辨識出簡化Volterra模型的同時(shí),保證了很高的辨識精度。
為了考察改進(jìn)遺傳算法的魯棒性與抗噪能力,在輸出端加入信噪比為20 dB的噪聲[3](見表2)。
由表2可知,在加入20 dB噪聲后,改進(jìn)遺傳算法仍保持著很高的精度,并且識別了正確的模型結(jié)構(gòu),噪聲并未對改進(jìn)遺傳算法的辨識精度造成較大的影響,這說明改進(jìn)遺傳算法具有較強(qiáng)的抗噪性能。
圖1(a)給出了沒有噪聲的情況下,改進(jìn)遺傳算法所得到的一階核參數(shù)[?1(1)]、二階核參數(shù)[?2(1,2)]以及三階核參數(shù)[?3(1,2,2)]的收斂曲線。三個(gè)參數(shù)的真實(shí)值分別為[?1(1)=?0.55],[?2(1,2)=?1.18],[?3(1,2,2)=1.06]。圖[1](b)是加入噪聲的情況下,改進(jìn)遺傳算法得到的[?1(1)]、[?2(1,2)、?3(1,2,2)]的收斂曲線。從圖1可以看出,無論是否存在噪聲干擾,改進(jìn)遺傳算法都具有很高的收斂速度與穩(wěn)定性。
4 結(jié)語
本研究采用改進(jìn)遺傳算法辨識非線性系統(tǒng)Volterra級數(shù)模型,并與傳統(tǒng)遺傳算法、改進(jìn)粒子群算法進(jìn)行了對比。仿真研究表明,在無噪聲干擾與有噪聲干擾兩種情況下,基于改進(jìn)遺傳算法的Volterra核辨識方法都能準(zhǔn)確地識別簡化的Volterra級數(shù)模型,且具有非常高的辨識精度與抗噪性能。與其他兩種算法相比,本研究提出的算法可以簡化Volterra模型,降低無關(guān)Volterra核所帶來的影響,提高算法的計(jì)算效率,并引入重啟策略以及自適應(yīng)的基因搜索區(qū)域,增強(qiáng)算法全局搜索能力的同時(shí),加快了迭代后期的局部尋優(yōu)速度,為基于Volterra級數(shù)的非線性系統(tǒng)辨識提供了一種新的方法,具有重要的理論價(jià)值和實(shí)際應(yīng)用價(jià)值。
參考文獻(xiàn):
[1] 彭志科,程長明.Volterra級數(shù)理論研究進(jìn)展與展望[J].科學(xué)通報(bào),2015(20):1874-1888.
[2] ASSIS L S D,JUNIOR J R D P,TARRATACA L,et al.Efficient Volterra systems identify-cation using hierarchical genetic algorithms[J].Applied Soft Computing Journal,2019,85(C):105745-105745.
[3] 李志農(nóng),唐高松,肖堯先,等.基于自適應(yīng)蟻群優(yōu)化的Volterra核辨識算法研究[J].振動與沖擊,2011(10):35-38.
[4] 衛(wèi)曉娟,丁旺才,李寧洲,等.基于改進(jìn)粒子群算法的Volterra模型參數(shù)辨識[J].振動與沖擊,2015(21):105-112.
[5] YAO L.Genetic Algorithm Based Identification of Nonlinear Systems by Sparse Volterra Filters[J].IEEE Transactions on Signal Processing: A publication of the IEEE Signal Processing Society,1999(12):3433-3435.
[6] DAO S D,ABHARY K,MARIAN R.An improved structure of genetic algorithms for global opti-misation[J].Progress in Artificial Intelligence,2016(3):155-163.