• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于人工魚群算法和BP神經(jīng)網(wǎng)絡(luò)的時間序列預(yù)測研究

      2013-01-26 03:20:58中北大學機械工程與自動化學院姚竹亭
      電子世界 2013年19期
      關(guān)鍵詞:魚群人工神經(jīng)網(wǎng)絡(luò)

      中北大學機械工程與自動化學院 葉 超 姚竹亭

      1.引言

      時間序列是由一個低維的具有非線性和確定性的動態(tài)系統(tǒng)產(chǎn)生的外表象隨機信號但并非是隨機信號的時間序列,這些序列中存在著一些與產(chǎn)生該序列的非線性動力學系統(tǒng)相關(guān)的固有的確定性和一些幾何拓撲不變性。預(yù)測是人們根據(jù)事物的發(fā)展規(guī)律、歷史和現(xiàn)狀,分析影響其變化的因素,對其發(fā)展前景和趨勢預(yù)先進行的一種推測。對于現(xiàn)實中大量存在的非線性、非平穩(wěn)的復雜動力系統(tǒng)問題,需要確定合適的模型階數(shù),這是比較困難的,為了更好地解決這一困難,本論文通過建立在對人工魚群算法和BP神經(jīng)網(wǎng)絡(luò)算法的掌握及應(yīng)用在時間序列預(yù)測上,提出了基于人工魚群算法和BP神經(jīng)網(wǎng)絡(luò)算法的時間序列預(yù)測系統(tǒng)模型[1]。

      2.基于人工魚群算法和BP神經(jīng)網(wǎng)絡(luò)的時間序列預(yù)測模型介紹

      2.1 方法的引出

      無論是在自然科學,還是在社會科學領(lǐng)域的實際工作者和研究人員都要和一系列的觀測數(shù)據(jù)打交道,這些觀測數(shù)據(jù)隨時間變化而相互關(guān)聯(lián),其排列順序與大小體現(xiàn)了不同時刻的觀測值之間的相互聯(lián)系,觀測值之間的這種依賴關(guān)系或相關(guān)性,表征了產(chǎn)生這些數(shù)據(jù)的現(xiàn)象、過程或系統(tǒng)的某些時間變化特征和規(guī)律。我們把這些按照時間順序產(chǎn)生和排列的觀測數(shù)據(jù)序列稱為時間序列。從系統(tǒng)意義上看,時間序列就是某一系統(tǒng)在不同時間(地點、條件等)的響應(yīng)。在時間序列預(yù)測中,BP神經(jīng)網(wǎng)絡(luò)是最常使用的網(wǎng)絡(luò)。BP網(wǎng)絡(luò)是一種非線性神經(jīng)網(wǎng)絡(luò),Robert Hecht Nielson已證明只有一個隱層的神經(jīng)網(wǎng)絡(luò),只要隱節(jié)點足夠多,就可以以任意精度逼近一個非線性函數(shù)[2]。

      但是神經(jīng)網(wǎng)絡(luò)方法有它的缺點,比如:

      (1)計算速度慢(計算量大,學習算法不成熟,不同的算法針對不同的問題收斂才快些)。

      (2)輸入信號與訓練信號相差加大時,可能導致結(jié)果完全錯誤(不同的區(qū)域可能有不同的極值)。

      因此可以將人工魚群算法與BP神經(jīng)網(wǎng)絡(luò)相結(jié)合。人工魚群(Artificial Fish-swarm Algorithm,AFSA)是一種基于模擬魚群行為的優(yōu)化算法,是由李曉磊等于2002年提出的一種新型的尋優(yōu)算法。AFSA是一種新型的思路,從具體的實施算法到總體的設(shè)計理念,都不同于傳統(tǒng)的設(shè)計和解決方法,但同時它又能與傳統(tǒng)方法相融合。因此,AFSA自提出以來,得到了國內(nèi)外學者的廣泛關(guān)注,對算法的研究應(yīng)用已經(jīng)滲透到多個應(yīng)用領(lǐng)域,并由解決一維靜態(tài)優(yōu)化問題發(fā)展到解決多維動態(tài)組合優(yōu)化問題。AFSA己經(jīng)成為交叉學科中一個非?;钴S的前沿性研究問題[3]。

      在基本人工魚群算法(AFSA)中,主要是利用了魚群的覓食、聚群和追尾行為,從構(gòu)造單條魚的底層行為做起,通過魚群中各個體的局部尋優(yōu),達到全局最優(yōu)值在群體中突現(xiàn)出來的目的。從目前對人工魚群算法的研究來看,絕大部分集中在如何應(yīng)用AFSA解決實際問題。通過深入研究和實踐發(fā)現(xiàn),AFSA雖然具有很多優(yōu)良的特性,但它本身也還是存在一些問題,如隨著人工魚數(shù)目的增多,將會需求更多的存儲空間,也會造成計算量的增長[4];對精確解的獲取能力不夠,只能得到系統(tǒng)的滿意解域;當尋優(yōu)的區(qū)域較大,或處于變化平坦的區(qū)域時,收斂到全局最優(yōu)解的速度變慢,搜索效率劣化;算法一般在優(yōu)化初期具有較快的收斂性,而后期卻往往收斂較慢。這些算法本身存在的問題,在一定程度上也影響了算法的實際應(yīng)用[5]。

      在當今已經(jīng)有許多的研究方向,首先采用人工魚群算法擬合時間序列并求出大量的數(shù)據(jù)訓練神經(jīng)網(wǎng)絡(luò),彌補了歷史數(shù)據(jù)缺乏的問題;然后用訓練好的神經(jīng)網(wǎng)絡(luò)代替?zhèn)鹘y(tǒng)的最小二乘法擬合時間序列因素,從而求出預(yù)測值。仿真結(jié)果表明,此模型能夠有效地改善模型的擬合能力并提高預(yù)測精度。為實現(xiàn)更好的預(yù)測,有時采用神經(jīng)網(wǎng)絡(luò),但前饋神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)難以確定,運用BP算法時又極易陷入局部解。本文將改進人工魚群算法與BP算法相結(jié)合的IAFSA+BP算法,實現(xiàn)了人工魚群算法的全局搜索能力與BP算法的局部尋優(yōu)性能的互補結(jié)合。將所設(shè)計的神經(jīng)網(wǎng)絡(luò)利用MATLAB/SIMULINK進行傳感器控制系統(tǒng)的建模仿真實驗結(jié)果表明,該算法具有良好辨識效果[6]。

      圖1 基于人工魚群算法和BP神經(jīng)網(wǎng)絡(luò)的計算流程

      圖2 基于BP神經(jīng)網(wǎng)絡(luò)時間序列預(yù)測模型的部分程序

      2.2 方法的計算流程與實施步驟

      由于BP神經(jīng)網(wǎng)絡(luò)存在對初始參數(shù)要求高、學習收斂速度慢,網(wǎng)絡(luò)性能差,優(yōu)化權(quán)值時容易陷入局部極小值等缺陷。而人工魚群算法具有對初值和參數(shù)要求不高,克服局部極值、更好地協(xié)調(diào)全局和局部搜索能力等優(yōu)點。因此,將人工魚群算法與BP算法相結(jié)合的混合算法訓練人工神經(jīng)網(wǎng)絡(luò),可實現(xiàn)兩種算法的取長補短。

      構(gòu)造人工魚個體模型是改進人工魚群算法優(yōu)化訓練BP神經(jīng)網(wǎng)絡(luò)關(guān)鍵,設(shè)人工魚群規(guī)模為N,每個人工魚看為一個前向神經(jīng)網(wǎng)絡(luò),任意兩人工魚個體的和(U1+U2)或差(U1-U2)其中i,j∈{0,1,.,N—l})仍看作不同神經(jīng)網(wǎng)絡(luò):待尋優(yōu)神經(jīng)網(wǎng)絡(luò)的參數(shù)設(shè)有權(quán)值矩陣[wij]和[vki],其中[wij]為第i個隱層神經(jīng)元與第j個輸入神經(jīng)元之間的權(quán)值,[vki]為第k個輸出神經(jīng)元與第i個隱層神經(jīng)元之間的權(quán)值;閾值向量[wio]和[vko],而[wio]為第i個隱層神經(jīng)元的閾值,[vko]為第k個輸出神經(jīng)元的閾值;其參數(shù)也隨著人工魚的迭代進化而不斷優(yōu)化。

      設(shè)神經(jīng)網(wǎng)絡(luò)的輸入和輸出節(jié)點分別為S和P,而網(wǎng)絡(luò)隱層節(jié)點數(shù)一般取輸入輸出節(jié)點的平均值,以Sigmoid函數(shù)作為BP網(wǎng)絡(luò)的激勵函數(shù),根據(jù)前向網(wǎng)絡(luò)計算算法求出相應(yīng)每組輸入樣本的網(wǎng)絡(luò)輸出結(jié)果;把網(wǎng)絡(luò)輸出均方誤差的倒數(shù)作為改進人工魚群算法的適應(yīng)函數(shù)(食物濃度)Y來指導人工魚群的進化。通過人工魚群算法的優(yōu)化搜索來訓練神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值,當神經(jīng)網(wǎng)絡(luò)輸出均方誤差指標達到最小時,搜索出就是最優(yōu)BP網(wǎng)絡(luò),而該網(wǎng)絡(luò)相應(yīng)的權(quán)值和閾值等參數(shù)也是最佳的。其算法的適應(yīng)函數(shù)表示如下:

      基于人工魚群算法的BP網(wǎng)絡(luò)訓練算法流程如下:

      步驟一:輸入人工魚群的群體規(guī)模N,最大迭代次數(shù)number,人工魚的可視域VISUAL,人工魚的最大移動步長STEP,擁擠度因子δ。

      步驟二:設(shè)置初始迭代次數(shù)num= 0,在控制變量可行域內(nèi)隨機生成N個人工魚個體,形成初始魚群,即產(chǎn)生N組[wij],[wio],[vki],[vko]且各個分量均為[- 1,1]區(qū)間內(nèi)的隨機數(shù)。

      步驟三:計算初始魚群各人工魚個體當前位置的食物濃度值FC,并比較大小,取FC為最大值者進入公告板,將此魚賦值給公告板。

      步驟四:各人工魚分別模擬追尾行為和聚群行為,選擇行動后FC值較大的行為實際執(zhí)行,缺省行為方式為覓食行為。

      步驟五:各人工魚每行動一次后,檢驗自身的FC與公告板的FC,如果優(yōu)于公告板,則以自身取代之。

      步驟六:中止條件判斷:判斷num是否已達到預(yù)置的最大迭代次數(shù)number,若是,則輸出計算結(jié)果(即公告板的FC值),否則num+= 1,轉(zhuǎn)步驟一。

      基于人工魚群算法和BP神經(jīng)網(wǎng)絡(luò)的計算流程圖如圖1所示。

      3.實例仿真分析

      本論文對建立時間序列預(yù)測的BP神經(jīng)網(wǎng)絡(luò)的過程加以規(guī)范化,建立了基于BP神經(jīng)網(wǎng)絡(luò)的時間序列預(yù)測的通用方法,并通過實例來檢驗該時間序列預(yù)測模型的預(yù)測能力。MATLAB神經(jīng)網(wǎng)絡(luò)工具箱給出了兩種用于提高神經(jīng)網(wǎng)絡(luò)推廣能力的方法,即正則化方法(Regularization)和提前停止(Early stopping)方法,本文的模型建立過程中,用到正則化方法,利用sim函數(shù)可以對訓練后的網(wǎng)絡(luò)進行仿真。sim函數(shù)的常用格式如下:

      ①[Y,Pf,AL E,perf]=sim(net,P,Pi,Ai,T)

      ②[Y,Pf,Af,E,perf]=sim(net,{Q,TS},Pi,Ai,T)

      ③[Y,Pf,Af,E,perf]=sim(net,Q,Pi,Ai,T)

      在sim函數(shù)的調(diào)用形式①中,輸入net為神經(jīng)網(wǎng)絡(luò)對象,P為網(wǎng)絡(luò)輸入,Pi為輸入延遲的初始狀態(tài),Ai為層延遲的初始狀態(tài),T為目標矢量。在函數(shù)返回值中,Y為網(wǎng)絡(luò)輸出,Pf為訓練終止時的輸入延遲的初始狀態(tài),Af為訓練終止時的層延遲狀態(tài),E為輸出和目標矢量之間的誤差,perf為神經(jīng)網(wǎng)絡(luò)的性能值。該函數(shù)中的P、T、Pi、Y、E、Pf和Af等參量可以是單元數(shù)組或矩陣。sim函數(shù)的調(diào)用形式②③用于沒有輸入的神經(jīng)網(wǎng)絡(luò),其中,Q為批處理數(shù)據(jù)的個數(shù),TS為神經(jīng)網(wǎng)絡(luò)仿真的時間步數(shù)。此外,神經(jīng)網(wǎng)絡(luò)工具箱還提供了postreg函數(shù),該函數(shù)可對訓練后網(wǎng)絡(luò)的實際輸出(仿真輸出)和目標輸出做線性回歸分析,以檢驗神經(jīng)網(wǎng)絡(luò)的訓練效果。使用MATLAB語言進行程序編寫,實現(xiàn)基于BP神經(jīng)網(wǎng)絡(luò)的時間序列預(yù)測模型,程序片斷如圖2所示。

      根據(jù)2.2中提出的方法,在MATLAB軟件中對算法進行編程與實施,得到的仿真結(jié)果如圖3所示。

      其中,檢測誤差:SSE=8.0059e-004,rerror21=-0.0054。

      圖3 仿真結(jié)果

      4.結(jié)語

      本文給出了基于人工魚群算法的BP神經(jīng)網(wǎng)絡(luò)的訓練模型,并形成了一種新的BP網(wǎng)絡(luò)訓練算法。從試驗結(jié)果比較分析可見:

      (1)該方法具有較好的收斂性、初值不敏感和參數(shù)不敏感等特點;

      (2)算法具有較快的收斂速度,算法收斂過程有明顯優(yōu)勢。

      (3)算法用于對時間序列的預(yù)測,其結(jié)果表明是可行的。如何更好地將覓食、聚群和追尾三種優(yōu)化行為,體現(xiàn)在算法的處理上,以便使運算更加簡單,還需要進一步提高。

      [1]李曉磊,邵之江,錢積新.一種基于動物自治體的尋優(yōu)模式:魚群算法[J].系統(tǒng)工程理論與實踐,2002,22(11):32-38.

      [2]張冬,明新國等.基于BP神經(jīng)網(wǎng)絡(luò)和設(shè)備特性的工業(yè)設(shè)備備件需求預(yù)測[J].機械設(shè)計與研究,2010,26(1):72-77.

      [3]康進,劉敬偉.非參數(shù)回歸估計與人工神經(jīng)網(wǎng)絡(luò)方法的預(yù)測效果比較[J].統(tǒng)計與決策,2009(23):153-155.

      [4]王西鄧.人工魚群算法的改進研究[D].西安:西安建筑科技大學,2007.

      [5]李曉磊.一種新型的智能優(yōu)化方法——人工魚群算法[D].杭州:浙江大學,2003.

      [6]魏崇輝,金福祿,何亞群.基于粗糙集和神經(jīng)網(wǎng)絡(luò)的空軍航材消耗預(yù)測方法[J].東南大學學報(自然科學版),2004,34(Sup):68-70.

      [7]Martin T.Hagan Howard B.Demuth Mark H.Beale.神經(jīng)網(wǎng)絡(luò)設(shè)計[M].戴葵,等譯.北京:機械工業(yè)出版社,2006.

      猜你喜歡
      魚群人工神經(jīng)網(wǎng)絡(luò)
      人工3D脊髓能幫助癱瘓者重新行走?
      軍事文摘(2022年8期)2022-11-03 14:22:01
      人工,天然,合成
      人工“美顏”
      哈哈畫報(2021年11期)2021-02-28 07:28:45
      神經(jīng)網(wǎng)絡(luò)抑制無線通信干擾探究
      電子制作(2019年19期)2019-11-23 08:42:00
      魚群漩渦
      中外文摘(2017年19期)2017-10-10 08:28:41
      新型多孔鉭人工種植牙
      基于改進魚群優(yōu)化支持向量機的短期風電功率預(yù)測
      電測與儀表(2016年3期)2016-04-12 00:27:44
      基于人工魚群算法的光伏陣列多峰MPPT控制策略
      基于神經(jīng)網(wǎng)絡(luò)的拉矯機控制模型建立
      重型機械(2016年1期)2016-03-01 03:42:04
      復數(shù)神經(jīng)網(wǎng)絡(luò)在基于WiFi的室內(nèi)LBS應(yīng)用
      通道| 凤凰县| 高淳县| 临泉县| 修文县| 什邡市| 亚东县| 西贡区| 关岭| 长白| 巩留县| 耿马| 荆门市| 西平县| 桓台县| 汶上县| 巴中市| 雷山县| 南木林县| 潼关县| 平陆县| 石泉县| 加查县| 开阳县| 崇义县| 北宁市| 宜兰市| 若尔盖县| 阳城县| 贵阳市| 嘉兴市| 张家川| 嘉善县| 阳新县| 沧州市| 墨竹工卡县| 桦川县| 陕西省| 汉中市| 淮南市| 会理县|