本發(fā)明涉及無(wú)人飛行器氣象數(shù)據(jù)預(yù)測(cè)領(lǐng)域,尤其是一種中小型無(wú)人機(jī)自主著艦海面風(fēng)速預(yù)測(cè)方法。
背景技術(shù):
中小型化是艦載無(wú)人作戰(zhàn)飛機(jī)(unmannedcombataerialvehicle,ucav)的發(fā)展趨勢(shì),未來(lái)ucav將大量替代有人艦載飛機(jī)完成偵查、打擊和搜救等任務(wù)。ucav自主著艦是指ucav在降落階段,將機(jī)載設(shè)備和航母所采集的所有有用信息進(jìn)行綜合處理,以獲得信息種類(lèi)足夠多、精度足夠高的相對(duì)位置信息,使ucav在沒(méi)有外界或人的干預(yù)下自動(dòng)控制完成著艦降落的過(guò)程。據(jù)統(tǒng)計(jì)在艦載飛行器的整個(gè)飛行階段,著陸/著艦事故占到總事故的80%左右,對(duì)于無(wú)人機(jī)著艦過(guò)程,海面氣流擾動(dòng)成為影響其著艦成功的重要因素之一。中小型ucav相對(duì)于大型ucav,其體積小、重量輕,雖然機(jī)動(dòng)靈活,但在著艦階段更易受到海面氣流擾動(dòng)的影響。黃華等在文獻(xiàn)《“大氣擾動(dòng)及其對(duì)無(wú)人機(jī)自動(dòng)著陸影響仿真研究”、系統(tǒng)仿真學(xué)報(bào)、2009、vol-21(21)、6821-6824》、《“風(fēng)場(chǎng)擾動(dòng)對(duì)無(wú)人機(jī)控制/導(dǎo)航影響效應(yīng)仿真”、解放軍理工大學(xué)學(xué)報(bào)、2012、vol-13(5)、565-570》中對(duì)以上結(jié)論進(jìn)行了仿真驗(yàn)證。因此,ucav能夠?qū)︼L(fēng)速進(jìn)行準(zhǔn)確的短期預(yù)測(cè)、并預(yù)先對(duì)自身的飛行狀態(tài)進(jìn)行調(diào)整,對(duì)于中小型ucav的安全著艦具有重要的意義。
李艷晴在文獻(xiàn)《“風(fēng)速時(shí)間序列預(yù)測(cè)算法研究”、北京科技大學(xué)博士論文、2015》中指出:目前對(duì)于風(fēng)速的預(yù)測(cè)方法大致可分為:物理模型預(yù)測(cè)法、統(tǒng)計(jì)預(yù)測(cè)法和智能預(yù)測(cè)法。物理模型預(yù)測(cè)法是考慮風(fēng)速產(chǎn)生背景,建立氣象預(yù)報(bào)模型對(duì)風(fēng)速變化進(jìn)行模擬計(jì)算,實(shí)現(xiàn)風(fēng)速預(yù)測(cè)。物理模型預(yù)測(cè)法因考慮季節(jié)、地理等背景因素,其模型較為復(fù)雜,需借助大型計(jì)算機(jī)輔助。以卡爾曼濾波為代表的統(tǒng)計(jì)預(yù)測(cè)方法,雖計(jì)算速度較快、實(shí)時(shí)性強(qiáng),但對(duì)于非線(xiàn)性較強(qiáng)海面氣流擾動(dòng),其預(yù)測(cè)準(zhǔn)確度相對(duì)較低。神經(jīng)網(wǎng)絡(luò)等智能預(yù)測(cè)方法,對(duì)于非線(xiàn)性較強(qiáng)系統(tǒng)的預(yù)測(cè)準(zhǔn)確度較高,但需要大量的歷史數(shù)據(jù)進(jìn)行網(wǎng)絡(luò)訓(xùn)練,因此其時(shí)間消耗過(guò)大。另外,上述方法也只針對(duì)于固定點(diǎn)位置的風(fēng)速預(yù)測(cè)。
由此可見(jiàn),上述預(yù)測(cè)方法針對(duì)運(yùn)動(dòng)中的中小型ucav著艦風(fēng)速預(yù)測(cè)顯然存在不足,不適用于實(shí)時(shí)性較強(qiáng)的ucav機(jī)載設(shè)備,研究新的預(yù)測(cè)準(zhǔn)確度高、運(yùn)算實(shí)時(shí)性強(qiáng)的風(fēng)速預(yù)測(cè)方法成為發(fā)展中小型ucav自主著艦的關(guān)鍵技術(shù)之一。
極限學(xué)習(xí)機(jī)(extremelearningmachine,elm)是一種單隱層前饋神經(jīng)網(wǎng)絡(luò),其隱層權(quán)值和閾值隨機(jī)賦值,再通過(guò)廣義逆矩陣計(jì)算求得網(wǎng)絡(luò)輸出權(quán)值,尹剛等在文獻(xiàn)《“自適應(yīng)集成極限學(xué)習(xí)機(jī)在故障診斷中的應(yīng)用”、振動(dòng)、測(cè)試與診斷、2013、vol-13(5)、897-901》中指出:極限學(xué)習(xí)機(jī)比傳統(tǒng)神經(jīng)網(wǎng)絡(luò)具有更快的計(jì)算速度,以及泛化能力更強(qiáng)。但是極限學(xué)習(xí)機(jī)隱層權(quán)值和閾值隨機(jī)賦值,通常會(huì)導(dǎo)致某些節(jié)點(diǎn)參數(shù)對(duì)網(wǎng)絡(luò)輸出影響較小,從而使極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)性能下降。
智能蜂群算法是受蜂群采蜜時(shí)的個(gè)體分工、信息交流和相互協(xié)作啟發(fā),而提出的一種仿生優(yōu)化方法,秦全德等在文獻(xiàn)《“人工蜂群算法研究綜述”、智能系統(tǒng)學(xué)報(bào)、2014、vol-9(2)、127-135》中指出:智能蜂群算法與傳統(tǒng)優(yōu)化方法相比,其搜索精度高、魯棒性較強(qiáng)。
因此,本發(fā)明結(jié)合上述兩種算法的優(yōu)點(diǎn),設(shè)計(jì)一種基于智能蜂群算法和極限學(xué)習(xí)機(jī)相結(jié)合的動(dòng)態(tài)中小型ucav著艦風(fēng)速預(yù)測(cè)方法。
技術(shù)實(shí)現(xiàn)要素:
為了克服現(xiàn)有技術(shù)的不足,本發(fā)明提供一種中小型無(wú)人機(jī)自主著艦風(fēng)速預(yù)測(cè)方法,具體包括:
步驟a:參數(shù)初始化及數(shù)據(jù)采樣存儲(chǔ):對(duì)智能蜂群算法和極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)參數(shù)進(jìn)行初始化設(shè)置;對(duì)風(fēng)速預(yù)測(cè)所需的極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)輸入節(jié)點(diǎn)數(shù)據(jù)進(jìn)行采集,并按照采集時(shí)間的先后順序編號(hào)將其進(jìn)行存儲(chǔ);對(duì)采集到的極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)輸入節(jié)點(diǎn)數(shù)據(jù)進(jìn)行歸一化處理;
步驟b:極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)參數(shù)優(yōu)化:根據(jù)當(dāng)前時(shí)刻的前n個(gè)采樣周期的極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)輸入節(jié)點(diǎn)數(shù)據(jù)作為極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)訓(xùn)練樣本數(shù)據(jù),采用智能蜂群算法對(duì)極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)隱層節(jié)點(diǎn)權(quán)值和閾值進(jìn)行優(yōu)化計(jì)算,以?xún)?yōu)化計(jì)算得到權(quán)值和閾值作為極限學(xué)習(xí)機(jī)最終網(wǎng)絡(luò)參數(shù);
步驟c:風(fēng)速預(yù)測(cè):采用智能蜂群算法優(yōu)化后的極限學(xué)習(xí)機(jī)網(wǎng)絡(luò),結(jié)合當(dāng)前時(shí)刻采樣的極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)輸入節(jié)點(diǎn)數(shù)據(jù),對(duì)下一采樣周期的風(fēng)速進(jìn)行在線(xiàn)預(yù)測(cè);同時(shí)判斷當(dāng)前時(shí)刻是否滿(mǎn)足極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)參數(shù)優(yōu)化條件,當(dāng)滿(mǎn)足條件時(shí)進(jìn)行極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)參數(shù)優(yōu)化計(jì)算。
進(jìn)一步的,步驟a實(shí)現(xiàn)參數(shù)初始化及數(shù)據(jù)采樣存儲(chǔ),包括:
步驟a1:智能蜂群算法與極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)參數(shù)初始化:對(duì)智能蜂群算法和極限學(xué)習(xí)機(jī)的相關(guān)參數(shù)進(jìn)行初始化人工設(shè)置,相關(guān)參數(shù)包括:智能蜂群算法的種群數(shù)量csize、迭代次數(shù)i、最大迭代次數(shù)imax、誤差閾值egoal、優(yōu)化參數(shù)尺度dparameter、迭代控制數(shù)ilimit、優(yōu)化參數(shù)下限r(nóng)low、優(yōu)化參數(shù)上限r(nóng)up;極限學(xué)習(xí)機(jī)的網(wǎng)絡(luò)輸入節(jié)點(diǎn)數(shù)ninput、網(wǎng)絡(luò)隱層節(jié)點(diǎn)數(shù)nhide、輸出節(jié)點(diǎn)數(shù)nout、訓(xùn)練樣本數(shù)n、輸入節(jié)點(diǎn)參數(shù)采集次數(shù)z、輸入節(jié)點(diǎn)參數(shù)采集周期tr、網(wǎng)絡(luò)參數(shù)優(yōu)化條件閾值num;
步驟a2:采集極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)輸入節(jié)點(diǎn)數(shù)據(jù)并按時(shí)序存儲(chǔ):采集極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)輸入節(jié)點(diǎn)數(shù)據(jù)g,并將其按時(shí)間序列保存到存儲(chǔ)器中;極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)輸入節(jié)點(diǎn)數(shù)據(jù)g=[vwind,dwind,vuav,t,p,h],其中:vwind為ucav所處空間點(diǎn)實(shí)時(shí)風(fēng)速、dwind為風(fēng)向、vuav為ucav航速、t為大氣溫度、p為大氣壓強(qiáng)、h為大氣濕度;
步驟a3:采集數(shù)據(jù)歸一化處理:對(duì)采集的極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)輸入節(jié)點(diǎn)數(shù)據(jù)進(jìn)行歸一化處理,歸一化處理公式為:
y=2(g-gmin)/(gmax-gmin)-1(1)
式中:g為采集的極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)輸入節(jié)點(diǎn)數(shù)據(jù),y為采集的極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)輸入節(jié)點(diǎn)歸一化數(shù)據(jù),gmax為g取值最大值,gmin為g取值最小值;
步驟b實(shí)現(xiàn)極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)參數(shù)優(yōu)化,包括:
步驟b1:隨機(jī)生成elm網(wǎng)絡(luò)參數(shù)初始解:利用智能蜂群算法隨機(jī)生成csize個(gè)種群的網(wǎng)絡(luò)隱層節(jié)點(diǎn)權(quán)值和閾值組合向量xj作為極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)參數(shù)解向量,其中xj=[aj,bj],
步驟b2:計(jì)算elm網(wǎng)絡(luò)隱層節(jié)點(diǎn)輸出值:利用前n個(gè)周期的極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)輸入節(jié)點(diǎn)歸一化數(shù)據(jù)yn作為訓(xùn)練樣本數(shù)據(jù),結(jié)合極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)參數(shù)解向量xj,計(jì)算每個(gè)極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)參數(shù)解向量xj所對(duì)應(yīng)的網(wǎng)絡(luò)隱層節(jié)點(diǎn)輸出值,其計(jì)算表達(dá)式為:
式中:hj為極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)參數(shù)解向量xj所對(duì)應(yīng)的網(wǎng)絡(luò)隱層節(jié)點(diǎn)輸出值,
步驟b3:計(jì)算elm網(wǎng)絡(luò)隱層節(jié)點(diǎn)權(quán)值:根據(jù)前n個(gè)周期的風(fēng)速實(shí)際測(cè)量值ok(k={1,2,…n}),計(jì)算極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)參數(shù)解向量xj所對(duì)應(yīng)的網(wǎng)絡(luò)隱層節(jié)點(diǎn)到輸出節(jié)點(diǎn)的權(quán)值
式中:h+為極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)隱層節(jié)點(diǎn)輸出矩陣h的moore-penrose增廣逆矩陣;
步驟b4:計(jì)算樣本風(fēng)速預(yù)測(cè)值:根據(jù)計(jì)算得到的極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)參數(shù)解向量xj所對(duì)應(yīng)的網(wǎng)絡(luò)隱層節(jié)點(diǎn)到輸出節(jié)點(diǎn)的權(quán)值
式中:
步驟b5:計(jì)算elm網(wǎng)絡(luò)參數(shù)解適應(yīng)度值:利用適應(yīng)度公式計(jì)算每個(gè)極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)參數(shù)解向量xj的適應(yīng)度值,并存儲(chǔ)其中最大適應(yīng)度值所對(duì)應(yīng)的極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)參數(shù)解向量到xbest變量中,xbest為極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)參數(shù)最優(yōu)解向量,適應(yīng)度值計(jì)算公式表示為:
式中:fitj為第j個(gè)極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)參數(shù)解向量xj所對(duì)應(yīng)的適應(yīng)度值;
步驟b6:生成elm網(wǎng)絡(luò)參數(shù)候選解:根據(jù)已有的極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)參數(shù)解向量xj,應(yīng)用候選解公式生成新的候選極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)參數(shù)解向量vj,并應(yīng)用適應(yīng)度值計(jì)算公式(5)計(jì)算新解vj的適應(yīng)度值,其中
vji=xji+φji(xji-xjm)(6)
式中:vji為新的極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)參數(shù)解,φji為[-1,1]之間的隨機(jī)數(shù),m為不等于i的正整數(shù);
步驟b7:計(jì)算elm網(wǎng)絡(luò)參數(shù)候選解概率:應(yīng)用選擇概率公式計(jì)算與xj相關(guān)的選擇概率pj,并以選擇概率pj選擇已有的極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)參數(shù)解向量xj,根據(jù)候選解公式(6)進(jìn)行相鄰域搜索產(chǎn)生新解,并應(yīng)用適應(yīng)度值計(jì)算公式(5)計(jì)算新解適應(yīng)度值,對(duì)vj和xj進(jìn)行擇優(yōu)選擇,其中選擇概率公式為:
式中:pj為極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)參數(shù)解向量xj所對(duì)應(yīng)的選擇概率;
步驟b8:判斷迭代次數(shù)是否達(dá)到門(mén)限,輸出最優(yōu)極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)參數(shù)解向量:根據(jù)迭代控制數(shù)ilimit,判斷智能蜂群算法在ilimit次迭代后,是否發(fā)現(xiàn)新的適應(yīng)度值更優(yōu)的極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)參數(shù)解向量xj,如果沒(méi)有發(fā)現(xiàn)新的適應(yīng)度值更優(yōu)的極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)參數(shù)解向量xj,則采用隨機(jī)搜索公式隨機(jī)搜索產(chǎn)生一個(gè)新解替換舊解;記錄已搜索到的極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)參數(shù)解向量xj中的最優(yōu)解向量到xbest變量中,智能蜂群算法迭代次數(shù)i=i+1,如果i<imax,則轉(zhuǎn)至步驟b2;否則,輸出最優(yōu)極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)參數(shù)解向量xbest;隨機(jī)搜索公式為:
wji=xjmin+rand(0,1)(xjmax-xjmin)(8)
式中:wji為新產(chǎn)生的第j個(gè)種群中、第i個(gè)極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)參數(shù)解,xjmin表示第j個(gè)種群中值最小的極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)參數(shù)解,xjmax表示第j個(gè)種群中值最大的極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)參數(shù)解;
步驟c:實(shí)現(xiàn)利用已優(yōu)化的極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)對(duì)風(fēng)速進(jìn)行實(shí)時(shí)預(yù)測(cè),包括:
步驟c1:利用優(yōu)化訓(xùn)練后的極限學(xué)習(xí)網(wǎng)絡(luò)對(duì)風(fēng)速進(jìn)行預(yù)測(cè):根據(jù)智能蜂群算法迭代輸出的最優(yōu)極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)參數(shù)解向量xbest和當(dāng)前時(shí)刻采集的極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)輸入節(jié)點(diǎn)歸一化數(shù)據(jù)y,并利用公式(4)對(duì)下一周期的風(fēng)速進(jìn)行在線(xiàn)預(yù)測(cè);
步驟c2:判斷當(dāng)前輸入節(jié)點(diǎn)參數(shù)采集次數(shù)z是否為極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)參數(shù)優(yōu)化條件閾值num的整數(shù)倍,若當(dāng)前輸入節(jié)點(diǎn)參數(shù)采集次數(shù)z是num的整數(shù)倍,則轉(zhuǎn)入步驟b利用智能蜂群算法對(duì)極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)參數(shù)進(jìn)行在線(xiàn)優(yōu)化;若z不是num的整數(shù)倍,則轉(zhuǎn)入步驟c1繼續(xù)對(duì)風(fēng)速進(jìn)行預(yù)測(cè)。
進(jìn)一步的,步驟a1中智能蜂群算法的種群數(shù)量取值范圍為5≤csize≤20、最大迭代次數(shù)取值范圍為30≤imax≤200、誤差閾值取值范圍為0≤egoal≤5、迭代控制數(shù)10≤ilimit<imax;極限學(xué)習(xí)機(jī)的網(wǎng)絡(luò)隱層節(jié)點(diǎn)數(shù)取值范圍為5≤nhide≤50、訓(xùn)練樣本數(shù)取值范圍為n≥20、輸入節(jié)點(diǎn)參數(shù)采集周期取值范圍為tr≥0、網(wǎng)絡(luò)參數(shù)優(yōu)化條件閾值取值范圍為num>0。
進(jìn)一步的,步驟a1中智能蜂群算法的種群數(shù)量csize=10、最大迭代次數(shù)imax=50、誤差閾值egoal=5、優(yōu)化參數(shù)尺度dparameter=70、迭代控制數(shù)ilimit=20、優(yōu)化參數(shù)下限r(nóng)low=0、優(yōu)化參數(shù)上限r(nóng)up=1;極限學(xué)習(xí)機(jī)的網(wǎng)絡(luò)輸入節(jié)點(diǎn)數(shù)ninput=6、輸出節(jié)點(diǎn)數(shù)nout=1、網(wǎng)絡(luò)隱層節(jié)點(diǎn)數(shù)nhide=10、訓(xùn)練樣本數(shù)n=100、輸入節(jié)點(diǎn)參數(shù)采集周期tr=1s。
進(jìn)一步的,步驟b7中以選擇概率pj選擇已有的極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)參數(shù)解向量xj的方法為:對(duì)應(yīng)每個(gè)pj隨機(jī)生成一個(gè)取值區(qū)間為[0,1]的隨機(jī)數(shù)rand(j);如果pj>randj,則pj所對(duì)應(yīng)的xj為選中的極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)參數(shù)解向量。
進(jìn)一步的,極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)參數(shù)優(yōu)化條件閾值num=100。
本發(fā)明方法采用智能蜂群算法和極限學(xué)習(xí)機(jī)對(duì)ucav著艦時(shí)所處空間風(fēng)速進(jìn)行預(yù)測(cè),可以根據(jù)風(fēng)速的變化對(duì)著艦時(shí)飛行姿態(tài)進(jìn)行實(shí)時(shí)調(diào)整,從而減小大氣擾動(dòng)對(duì)自主著艦的影響、提高自主著艦的成功率;所采用的極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)對(duì)于風(fēng)速的非線(xiàn)性模型具有較強(qiáng)的適應(yīng)性,同時(shí)也避免了傳統(tǒng)神經(jīng)網(wǎng)絡(luò)對(duì)大樣本數(shù)據(jù)進(jìn)行訓(xùn)練耗時(shí)的缺點(diǎn),從而提高了風(fēng)速預(yù)測(cè)的實(shí)時(shí)性要求。
下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明作詳細(xì)說(shuō)明。
附圖說(shuō)明
圖1是實(shí)施例中所需預(yù)測(cè)的ucav風(fēng)速變化曲線(xiàn)圖;
圖2是本發(fā)明方法流程圖;
圖3是實(shí)施例中中采用本發(fā)明方法極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)參數(shù)優(yōu)化適應(yīng)度值變化曲線(xiàn)圖;
圖4是實(shí)施例中采用本發(fā)明方法對(duì)風(fēng)速進(jìn)行預(yù)測(cè)曲線(xiàn)圖;
圖5是實(shí)施例中采用本發(fā)明方法的風(fēng)速預(yù)測(cè)誤差曲線(xiàn)圖;
圖6是實(shí)施例中采用傳統(tǒng)神經(jīng)網(wǎng)絡(luò)50次網(wǎng)絡(luò)訓(xùn)練耗時(shí)曲線(xiàn)圖;
圖7是實(shí)施例中采用本發(fā)明方法50次網(wǎng)絡(luò)訓(xùn)練耗時(shí)曲線(xiàn)圖;
圖8是實(shí)施例中未采用智能蜂群算法優(yōu)化的極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)預(yù)測(cè)誤差曲線(xiàn)圖。
具體實(shí)施方式
以下將結(jié)合具體實(shí)施例對(duì)本發(fā)明提供的技術(shù)方案進(jìn)行詳細(xì)說(shuō)明,應(yīng)理解下述具體實(shí)施方式僅用于說(shuō)明本發(fā)明而不用于限制本發(fā)明的范圍。
本發(fā)明一個(gè)實(shí)施例中ucav所需預(yù)測(cè)的風(fēng)速變化曲線(xiàn)圖如圖1所示。
本發(fā)明在現(xiàn)有技術(shù)和需要解決的關(guān)鍵技術(shù)問(wèn)題基礎(chǔ)上,提出一種基于智能蜂群算法與極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)相結(jié)合的動(dòng)態(tài)中小型ucav著艦風(fēng)速預(yù)測(cè)方法,其預(yù)測(cè)方法步驟如圖2所示,包括:
步驟a:參數(shù)初始化及數(shù)據(jù)采樣存儲(chǔ)。對(duì)智能蜂群算法和極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)參數(shù)進(jìn)行初始化設(shè)置;對(duì)風(fēng)速預(yù)測(cè)所需的極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)輸入節(jié)點(diǎn)數(shù)據(jù)進(jìn)行采集,并按照采集時(shí)間的先后順序編號(hào)將其進(jìn)行存儲(chǔ);對(duì)采集到的極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)輸入節(jié)點(diǎn)數(shù)據(jù)進(jìn)行歸一化處理。
步驟b:極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)參數(shù)優(yōu)化。根據(jù)當(dāng)前時(shí)刻的前n個(gè)采樣周期的極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)輸入節(jié)點(diǎn)數(shù)據(jù)作為極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)訓(xùn)練樣本數(shù)據(jù),采用智能蜂群算法對(duì)極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)隱層節(jié)點(diǎn)權(quán)值和閾值進(jìn)行優(yōu)化計(jì)算,以?xún)?yōu)化計(jì)算得到權(quán)值和閾值作為極限學(xué)習(xí)機(jī)最終網(wǎng)絡(luò)參數(shù)。
步驟c:風(fēng)速預(yù)測(cè)。采用智能蜂群算法優(yōu)化后的極限學(xué)習(xí)機(jī)網(wǎng)絡(luò),結(jié)合當(dāng)前時(shí)刻采樣的極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)輸入節(jié)點(diǎn)數(shù)據(jù),對(duì)下一采樣周期的風(fēng)速進(jìn)行在線(xiàn)預(yù)測(cè);同時(shí)判斷當(dāng)前時(shí)刻是否滿(mǎn)足極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)參數(shù)優(yōu)化條件,當(dāng)滿(mǎn)足條件時(shí)進(jìn)行極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)參數(shù)優(yōu)化計(jì)算。
其中,步驟a實(shí)現(xiàn)參數(shù)初始化及數(shù)據(jù)采樣存儲(chǔ)。具體實(shí)施過(guò)程如下:
步驟a1:智能蜂群算法與極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)參數(shù)初始化。對(duì)智能蜂群算法和極限學(xué)習(xí)機(jī)的相關(guān)參數(shù)進(jìn)行初始化人工設(shè)置。其參數(shù)包括:智能蜂群算法的種群數(shù)量csize、迭代次數(shù)i、最大迭代次數(shù)imax、誤差閾值egoal、優(yōu)化參數(shù)尺度dparameter、迭代控制數(shù)ilimit、優(yōu)化參數(shù)下限r(nóng)low、優(yōu)化參數(shù)上限r(nóng)up;極限學(xué)習(xí)機(jī)的網(wǎng)絡(luò)輸入節(jié)點(diǎn)數(shù)ninput、網(wǎng)絡(luò)隱層節(jié)點(diǎn)數(shù)nhide、輸出節(jié)點(diǎn)數(shù)nout、訓(xùn)練樣本數(shù)n、輸入節(jié)點(diǎn)參數(shù)采集次數(shù)z、輸入節(jié)點(diǎn)參數(shù)采集周期tr、網(wǎng)絡(luò)參數(shù)優(yōu)化條件閾值num。
進(jìn)一步的,上述步驟中智能蜂群算法的種群數(shù)量取值范圍為5≤csize≤20、最大迭代次數(shù)取值范圍為30≤imax≤200、誤差閾值取值范圍為0≤egoal≤5、迭代控制數(shù)10≤ilimit<imax;極限學(xué)習(xí)機(jī)的網(wǎng)絡(luò)隱層節(jié)點(diǎn)數(shù)取值范圍為5≤nhide≤50、訓(xùn)練樣本數(shù)取值范圍為n≥20、輸入節(jié)點(diǎn)參數(shù)采集周期取值范圍為tr≥0、網(wǎng)絡(luò)參數(shù)優(yōu)化條件閾值取值范圍為num>0。
具體的,在本實(shí)施例中以上參數(shù)具體取值設(shè)定為:智能蜂群算法的種群數(shù)量csize=10、最大迭代次數(shù)imax=50、誤差閾值egoal=5、優(yōu)化參數(shù)尺度dparameter=70、迭代控制數(shù)ilimit=20、優(yōu)化參數(shù)下限r(nóng)low=0、優(yōu)化參數(shù)上限r(nóng)up=1;極限學(xué)習(xí)機(jī)的網(wǎng)絡(luò)輸入節(jié)點(diǎn)數(shù)ninput=6、輸出節(jié)點(diǎn)數(shù)nout=1、網(wǎng)絡(luò)隱層節(jié)點(diǎn)數(shù)nhide=10、訓(xùn)練樣本數(shù)n=100、輸入節(jié)點(diǎn)參數(shù)采集周期tr=1s。
步驟a2:采集極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)輸入節(jié)點(diǎn)數(shù)據(jù)并按時(shí)序存儲(chǔ)。采集極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)輸入節(jié)點(diǎn)數(shù)據(jù)(即風(fēng)速預(yù)測(cè)所需的相關(guān)數(shù)據(jù))g,并將其按時(shí)間序列保存到存儲(chǔ)器中。極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)輸入節(jié)點(diǎn)數(shù)據(jù)g=[vwind,dwind,vuav,t,p,h],其中:vwind為ucav所處空間點(diǎn)實(shí)時(shí)風(fēng)速、dwind為風(fēng)向、vuav為ucav航速、t為大氣溫度、p為大氣壓強(qiáng)、h為大氣濕度。
步驟a3:采集數(shù)據(jù)歸一化處理。對(duì)采集的極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)輸入節(jié)點(diǎn)數(shù)據(jù)進(jìn)行歸一化處理,歸一化處理公式表示為:
y=2(g-gmin)/(gmax-gmin)-1(1)
式中:g為采集的極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)輸入節(jié)點(diǎn)數(shù)據(jù);y為采集的極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)輸入節(jié)點(diǎn)歸一化數(shù)據(jù);gmax為g取值最大值,gmin為g取值最小值。
步驟b實(shí)現(xiàn)極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)參數(shù)優(yōu)化。具體實(shí)施過(guò)程如下:
步驟b1:隨機(jī)生成elm網(wǎng)絡(luò)參數(shù)初始解。利用智能蜂群算法隨機(jī)生成csize個(gè)種群的網(wǎng)絡(luò)隱層節(jié)點(diǎn)權(quán)值和閾值組合向量xj作為極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)參數(shù)解向量,其中xj=[aj,bj],
步驟b2:計(jì)算elm網(wǎng)絡(luò)隱層節(jié)點(diǎn)輸出值。利用前n個(gè)周期的極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)輸入節(jié)點(diǎn)歸一化數(shù)據(jù)yn作為訓(xùn)練樣本數(shù)據(jù),結(jié)合極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)參數(shù)解向量xj,計(jì)算每個(gè)極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)參數(shù)解向量xj所對(duì)應(yīng)的網(wǎng)絡(luò)隱層節(jié)點(diǎn)輸出值,其計(jì)算表達(dá)式為:
式中:hj為極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)參數(shù)解向量xj所對(duì)應(yīng)的網(wǎng)絡(luò)隱層節(jié)點(diǎn)輸出值;
步驟b3:計(jì)算elm網(wǎng)絡(luò)隱層節(jié)點(diǎn)權(quán)值。根據(jù)前n個(gè)周期的風(fēng)速實(shí)際測(cè)量值ok(k={1,2,…n}),計(jì)算極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)參數(shù)解向量xj所對(duì)應(yīng)的網(wǎng)絡(luò)隱層節(jié)點(diǎn)到輸出節(jié)點(diǎn)的權(quán)值
式中:h+為極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)隱層節(jié)點(diǎn)輸出矩陣h的moore-penrose增廣逆矩陣。
步驟b4:計(jì)算樣本風(fēng)速預(yù)測(cè)值。根據(jù)計(jì)算得到的極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)參數(shù)解向量xj所對(duì)應(yīng)的網(wǎng)絡(luò)隱層節(jié)點(diǎn)到輸出節(jié)點(diǎn)的權(quán)值
式中:
步驟b5:計(jì)算elm網(wǎng)絡(luò)參數(shù)解適應(yīng)度值。利用適應(yīng)度公式計(jì)算每個(gè)極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)參數(shù)解向量xj的適應(yīng)度值,并存儲(chǔ)其中最大適應(yīng)度值所對(duì)應(yīng)的極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)參數(shù)解向量到xbest變量中,xbest為極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)參數(shù)最優(yōu)解向量。適應(yīng)度值計(jì)算公式表示為:
式中:fitj為第j個(gè)極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)參數(shù)解向量xj所對(duì)應(yīng)的適應(yīng)度值。
步驟b6:生成elm網(wǎng)絡(luò)參數(shù)候選解。根據(jù)已有的極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)參數(shù)解向量xj,應(yīng)用候選解公式生成新的候選極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)參數(shù)解向量vj,并應(yīng)用適應(yīng)度值計(jì)算公式(5)計(jì)算新解vj的適應(yīng)度值,其中vj=[vj1,vj2,…,vjninput×nhide+nhide];并在vj和xj之間擇優(yōu)選擇,如果vj的適應(yīng)度值大于xj,則用vj替換xj。候選解公式表示為:
vji=xji+φji(xji-xjm)(6)
式中:vji為新的極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)參數(shù)解;φji為[-1,1]之間的隨機(jī)數(shù);m為不等于i的正整數(shù)。
步驟b7:計(jì)算elm網(wǎng)絡(luò)參數(shù)候選解概率。應(yīng)用選擇概率公式(7)計(jì)算與xj相關(guān)的選擇概率pj,并以選擇概率pj選擇已有的極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)參數(shù)解向量xj,根據(jù)候選解公式(6)進(jìn)行相鄰域搜索產(chǎn)生新解,并應(yīng)用適應(yīng)度值計(jì)算公式(5)計(jì)算新解適應(yīng)度值,對(duì)vj和xj進(jìn)行擇優(yōu)選擇。其中:
式中:pj為極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)參數(shù)解向量xj所對(duì)應(yīng)的選擇概率;
進(jìn)一步的,步驟b7中以選擇概率pj選擇已有的極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)參數(shù)解向量xj的方法描述為:對(duì)應(yīng)每個(gè)pj隨機(jī)生成一個(gè)取值區(qū)間為[0,1]的隨機(jī)數(shù)rand(j);如果pj>randj,則pj所對(duì)應(yīng)的xj為選中的極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)參數(shù)解向量。
步驟b8:判斷迭代次數(shù)是否達(dá)到門(mén)限,輸出最優(yōu)極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)參數(shù)解向量。根據(jù)迭代控制數(shù)ilimit,判斷智能蜂群算法在ilimit次迭代后,是否發(fā)現(xiàn)新的適應(yīng)度值更優(yōu)的極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)參數(shù)解向量xj;如果沒(méi)有發(fā)現(xiàn)新的適應(yīng)度值更優(yōu)的極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)參數(shù)解向量xj,則采用隨機(jī)搜索公式(8)隨機(jī)搜索產(chǎn)生一個(gè)新解替換舊解。記錄已搜索到的極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)參數(shù)解向量xj中的最優(yōu)解向量到xbest變量中,智能蜂群算法迭代次數(shù)i=i+1,如果i<imax,則轉(zhuǎn)至步驟b2;否則,輸出最優(yōu)極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)參數(shù)解向量xbest。隨機(jī)搜索公式為:
wji=xjmin+rand(0,1)(xjmax-xjmin)(8)
式中:wji為新產(chǎn)生的第j個(gè)種群中、第i個(gè)極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)參數(shù)解;xjmin表示第j個(gè)種群中值最小的極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)參數(shù)解;xjmax表示第j個(gè)種群中值最大的極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)參數(shù)解。
如圖3所示,橫坐標(biāo)為智能蜂群算法迭代次數(shù),縱坐標(biāo)為極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)參數(shù)適應(yīng)度值。利用智能蜂群算法對(duì)極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)參數(shù)進(jìn)行迭代優(yōu)化,隨著迭代次數(shù)的增加極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)參數(shù)的適應(yīng)度逐漸變強(qiáng)。
步驟c:實(shí)現(xiàn)利用已優(yōu)化的極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)對(duì)風(fēng)速進(jìn)行實(shí)時(shí)預(yù)測(cè)。具體實(shí)施過(guò)程如下:
步驟c1:利用優(yōu)化訓(xùn)練后的極限學(xué)習(xí)網(wǎng)絡(luò)對(duì)風(fēng)速進(jìn)行預(yù)測(cè)。根據(jù)智能蜂群算法迭代輸出的最優(yōu)極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)參數(shù)解向量xbest和當(dāng)前時(shí)刻采集的極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)輸入節(jié)點(diǎn)歸一化數(shù)據(jù)y,并利用公式(4)對(duì)下一周期的風(fēng)速進(jìn)行在線(xiàn)預(yù)測(cè)。
如圖4所示,橫坐標(biāo)為時(shí)間,縱坐標(biāo)為風(fēng)速預(yù)測(cè)值。采用優(yōu)化訓(xùn)練后的極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)對(duì)風(fēng)速進(jìn)行預(yù)測(cè)的曲線(xiàn)圖,與實(shí)際的風(fēng)速變化趨勢(shì)相一致。其預(yù)測(cè)誤差如圖5所示,圖5中橫坐標(biāo)同樣為時(shí)間,縱坐標(biāo)為風(fēng)速預(yù)測(cè)值與實(shí)際測(cè)量風(fēng)速間的差值,其誤差相對(duì)較小,均值為0.4587m/s。
步驟c2:判斷當(dāng)前輸入節(jié)點(diǎn)參數(shù)采集次數(shù)z是否滿(mǎn)足極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)參數(shù)在線(xiàn)優(yōu)化條件,既當(dāng)前輸入節(jié)點(diǎn)參數(shù)采集次數(shù)z是否為num的整數(shù)倍。若當(dāng)前輸入節(jié)點(diǎn)參數(shù)采集次數(shù)z是num的整數(shù)倍,則轉(zhuǎn)入步驟b利用智能蜂群算法對(duì)極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)參數(shù)進(jìn)行在線(xiàn)優(yōu)化;若z不是num的整數(shù)倍,則轉(zhuǎn)入步驟c1繼續(xù)對(duì)風(fēng)速進(jìn)行預(yù)測(cè)。
此外,由于硬件條件的限制和算法復(fù)雜度的實(shí)際,當(dāng)num取值過(guò)小時(shí),極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)會(huì)因?yàn)橛?xùn)練過(guò)于頻繁,而導(dǎo)致風(fēng)速預(yù)測(cè)實(shí)時(shí)性降低;而當(dāng)num取值過(guò)大時(shí),又會(huì)因?yàn)闃O限學(xué)習(xí)機(jī)網(wǎng)絡(luò)參數(shù)適應(yīng)度降低,而導(dǎo)致風(fēng)速預(yù)測(cè)精度降低。因此在本實(shí)施例中具體的極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)參數(shù)優(yōu)化條件閾值num=100,100為極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)參數(shù)優(yōu)化條件閾值num的相對(duì)最優(yōu)取值。
通過(guò)采用上述技術(shù)方案,本發(fā)明具有以下優(yōu)點(diǎn):本發(fā)明采用智能蜂群算法和極限學(xué)習(xí)機(jī)對(duì)ucav著艦時(shí)所處空間風(fēng)速進(jìn)行預(yù)測(cè),可以根據(jù)風(fēng)速的變化對(duì)著艦時(shí)飛行姿態(tài)進(jìn)行實(shí)時(shí)調(diào)整,從而減小大氣擾動(dòng)對(duì)自主著艦的影響、提高自主著艦的成功率;所采用的極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)對(duì)于風(fēng)速的非線(xiàn)性模型具有較強(qiáng)的適應(yīng)性,同時(shí)也避免了傳統(tǒng)神經(jīng)網(wǎng)絡(luò)對(duì)大樣本數(shù)據(jù)進(jìn)行訓(xùn)練耗時(shí)的缺點(diǎn),從而提高了風(fēng)速預(yù)測(cè)的實(shí)時(shí)性要求。圖6為傳統(tǒng)神經(jīng)網(wǎng)絡(luò)對(duì)風(fēng)速進(jìn)行預(yù)測(cè)前進(jìn)行50次網(wǎng)絡(luò)訓(xùn)練的耗時(shí)曲線(xiàn)圖,橫坐標(biāo)為訓(xùn)練次數(shù),縱坐標(biāo)為訓(xùn)練耗時(shí),50次訓(xùn)練的平均耗時(shí)為0.6577s。而圖7為本發(fā)明所用方法對(duì)風(fēng)速進(jìn)行預(yù)測(cè)前進(jìn)行50次網(wǎng)絡(luò)訓(xùn)練的耗時(shí)曲線(xiàn)圖,其50次訓(xùn)練的平均耗時(shí)為0.2243s。
所采用的智能蜂群算法對(duì)極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)隱含層節(jié)點(diǎn)參數(shù)進(jìn)行在線(xiàn)優(yōu)化,避免了隱含層節(jié)點(diǎn)參數(shù)隨機(jī)選取所造成的網(wǎng)絡(luò)預(yù)測(cè)結(jié)果平均精度不高的缺點(diǎn),從而提高了網(wǎng)絡(luò)預(yù)測(cè)的精度。所采用的步進(jìn)在線(xiàn)式網(wǎng)絡(luò)參數(shù)訓(xùn)練方法,可以有效提高預(yù)測(cè)網(wǎng)絡(luò)對(duì)大氣擾動(dòng)時(shí)變系統(tǒng)的適應(yīng)性,從而進(jìn)一步提高了網(wǎng)絡(luò)預(yù)測(cè)精度。圖8為未采用智能蜂群算法對(duì)極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)隱含層節(jié)點(diǎn)參數(shù)進(jìn)行在線(xiàn)優(yōu)化時(shí),風(fēng)速預(yù)測(cè)誤差曲線(xiàn)圖。圖8中橫坐標(biāo)為時(shí)間,縱坐標(biāo)為風(fēng)速預(yù)測(cè)誤差值,誤差均值為0.8725m/s。其誤差均值要高于圖5中本發(fā)明所采用方法時(shí)的誤差均值0.4576m/s。