導航:首頁 > 網路共享 > bp神經網路預測模型軟體

bp神經網路預測模型軟體

發布時間:2023-06-02 23:04:20

Ⅰ 基於Matlab和BP神經網路的固體火箭發動機比沖性能的預測

(內蒙古工業大學理學院,內蒙古 呼和浩特 010051)
摘 要:本文採用基於誤差反向傳播演算法(BP演算法)的人工神經網路技術,利用Mat lab神經網路工具箱,建立了固體火箭發動機比沖性能預測的神經網路模型,並利用實驗數據進行了驗證。結果表明,可以利用該方法開展固體火箭發動機比沖性能的預測。
關鍵詞:固體火箭發動機比沖;
BP演算法;
Mat lab神經網路工具箱;
人工神經網路
中圖分類號:V435∶TP183 文獻標識碼:A 文章編號:1007—6921(2007)08—0073—02
固體火箭發動機性能參數預測是發動機設計和研究的基本課題之一,正確預測發動機性能參數是提高發動機性能指標和精度並縮短研製周期的關鍵和基礎。比沖性能的預測目前有兩種方法。一種是以歷次試驗得到的修正系數對新設計的發動機的理論比沖進行修正。另一種是通過計算各種損失來預估比沖。這些方法存在需要樣本數據大和預測精度差的缺點。
神經網路理論由於自身固有的超強適應能力和學習能力在很多領域獲得了極其廣泛的應用,解決了許多傳統方法難以解決的問題。由於神經網路學習演算法在數學計算上比較復雜過程也比較繁瑣,容易出錯。因此,採用神經網路軟體包成為必然的選擇。本文採用現在應用最為廣泛的MATLAB神經網路工具箱,利用基於BP演算法的人工神經網路建立固體火箭發動機比沖性能預測模型,以提高比沖的預測精度。
1 BP神經網路模型
BP網路由於結構簡單,具有較強的非線性映射能力,是應用最為廣泛的一類神悶啟經網路。BP神經網路的學習過程分為信息的正向傳播過程和誤差的反向傳播過程兩個階段。外部輸入的信號經輸入層、隱含層的神經元逐層處理向前傳播到輸出層,給出結果。如果在輸出層得不到期望輸出,則轉入逆向傳播過程,將實際值與網路輸出之間的誤差沿原來聯結的通路返回,通過修改各層神經元的聯系權值,使誤差減少,然後再轉入正向傳播過程,反復迭代,直到誤差小於給定的值為止。
2 MATLAB神經網路工具箱的應用
神經網路工具箱是在Mat lab環境下開發出來的許多工具箱之一,它以人工神經網路理論為基礎,用MATLAB語言構造出典型神經網路的激活函數,在網路訓練過程中使用的是Mat lab
6.5 for Windows軟體,對於網路的訓練使用了Neural Networks Toolbox for Mat lab。美國的Math work公司推出的MATLAB軟體包既是一種非常實用有效的科研編程軟體環境,又是一種進行科學和工程計算的互動式程序。MATLAB本身帶有神經網路工具箱,可以大大方便權值訓練,減少訓練程序工作量,有效的提高工作效率。
3 影響固體火箭發動機比沖性能的因素
比沖是反映發動機所用推進劑能量高低和內部工作過程完善程度的重要技術指標。影響比沖性能的因素很多,主要包括以下幾項:噴管喉徑、噴管潛入比、平均擴張比、工作時間、擴散半形、平均工作壓強、平均燃速、推進劑密度。由於固體火箭發動機的全尺寸譽派試車需要耗費大量的人力、物力和財力。因此比沖的試驗數據比較缺乏,本文共收集了6組數據樣本,選定其中的5組作為訓練樣本,一組作為測試樣本。每組數據樣本前8項為輸入因子,輸出因子為實際比沖。利用這6組數據對網路進行訓練、測試。
4 網路模型設計
BP網路的設計主要包括輸入層、隱層、輸出層及各層之間的傳輸函數幾個方面。
4.1 網路層數。BP網路可以包含不同的隱層,理論上已經證明:具有偏差和至少一個S型隱含層加上一個線性輸出層的網路,能夠逼近任何有理函數。對隱含層層數的經驗選擇為:對於線性問題一般可以採用感知器慶罩賀或自適應網路來解決,而不採用非線性網路,因為單層不能發揮出非線性激活函數的特長;
非線性問題,一般採用兩層或兩層以上的隱含層,但是誤差精度的提高實際上也可以通過增加隱含層中的神經元數目獲得,其訓練效果也比增加層數更容易觀察和調整,所以一般情況下,應優先考慮增加隱含層中的神經元數。
4.2 輸入層的節點數和輸出層的節點數。輸入層起緩沖存儲器的作用,它接收外部的輸入數據,因此其節點數取決於輸入矢量的維數。由於固體火箭發動機比沖性能預測的輸入樣本為8維的輸入向量,因此,輸入層一共有8個神經元。
輸出層的節點數取決於兩個方面,輸出數據類型和表示該類型所需的數據大小。由於固體火箭發動機比沖性能預測的輸出樣本為1維的輸出向量,因此,輸出層有1個神經元。
4.3 隱含層神經元的節點數。隱含層神經元的節點數確定是通過對不同神經元數進行訓練對比,然後適當的增加一點餘量。根據前人經驗,可以參照以下公式進行設計:


式中:n為隱層節點數;
n i 為輸入節點數;

n 0 為輸出節點數;
a為1~10之間的常數。
根據這一原則此BP網路的隱含層神經元的節點數為[KF(]8+1[KF)]+a(a=1~10),取為13。
4.4 傳輸函數。一般情況下BP網路結構均是在隱含層採用S型激活函數,而輸出層採用線性激活函數。
4.5 訓練方法的選取。採用附加動量法使反向傳播減少了網路在誤差表面陷入低谷的可能性有助於減少訓練時間。太大的學習速率導致學習的不穩定,太小值又導致極長的訓練時間。自適應學習速率通過保證穩定訓練的前提下,達到了合理的高速率,可以減少訓練時間。
4.6 學習速率的經驗選擇。一般情況下傾向於選取較小的學習速率以保證系統的穩定性,學習速率的選取范圍在0.01~0.8之間。此網路學習速率選取為0.05。
4.7 期望誤差的選取。一般情況下,作為對比,可以同時對兩個不同的期望誤差值的網路進行訓練,最後通過綜合因素的考慮來確定其中一個網路。
綜上所述:BP網路拓撲結構為8×13×1的結構。中間層神經元的傳遞函數為S型正切函數tansig。由於輸出已被歸一化到區間[0,1]中,輸出層神經元的傳遞函數可以設定為S型對數函數logsig。網路的訓練函數採用學習率可變的動量BP演算法修正神經網路的權值和閥值函數traingdx。
5 網路的訓練與測試
在對神經網路進行學習訓練以及預測比沖時,必須先對輸入輸出數據進行預處理,即歸一化或標准化,將網路的輸入輸出數據限制在[0,1]區間內。進行歸一化的主要原因有:①網路的各個輸入數據常常具有不同的物理意義和不同的量綱,歸一化可使得各輸入分量被賦以同等重要的地位;
②某些輸入變數的值可能與其它輸入變數相差甚遠,歸一化可避免數值大的變數掩蓋數值小的變數;
③可以避免神經元飽和。
6組實測數據樣本經過歸一化處理後的數據如表1所示。


用模擬函數sim來計算網路的輸出,其預報誤差曲線如圖1。


由圖可見,網路預測值和真實值之間的誤差是非常小的,均小於3%。完全滿足應用要求。
6 結論
神經網路作為一種輸入/輸出的高度非線性映射,通過對作用函數的多次復合,實現了固體火箭發動機比沖性能參數預測。並得到以下結論:
6.1 無需建立系統的數學模型,只要有足夠的訓練樣本(由實驗數據或模擬數據得到)即可預測。
6.2 BP網路根據樣本數據,通過學習和訓練,找出輸入與輸出之間的關系,從而求取問題的解,而不是依據對問題的經驗判斷,因而具有自適應功能,克服了統計回歸方法分析小樣本數據的不足。
6.3 結果表明,訓練好的BP網路模型可以較准確的開展固體火箭發動機比沖性能的預測。
6.4 模型預測的規律受樣本的性質影響,由於固體火箭發動機比沖的實驗數據比較缺乏,因此本模型還有待於進一步的試驗數據驗證。
[參考文獻]
[1] 劉佩進,呂翔,何國強.基於人工神經網路的燃速相關性研究[J].推進技術,2004,25(2):156-158.
[2] 張宇星.基於神經網路原理的固體火箭發動機比沖性能的預示研究[D].呼和浩特:內蒙古工業大學碩士研究生論文,2002.
[3] 飛思科技產品研發中心.MATLAB6.5應用介面編程[M].北京:電子工業出版社,2003.
[4] 聞新,周露,王丹力,等.Mat lab神經網路應用設計[M].北京:科學出版社,2000.
[5] 蔣宗禮.人工神經網路導論[M].北京:高等教育出版社,2001.

Ⅱ GA-BP神經網路模型預測的MATLAB程序問題

Matlab神經網路工具箱提供了一系列用於建立和訓練bp神經網路模型的函數命令,很難一時講全。下面僅以一個例子列舉部分函數的部分用法。更多的函數和用法請仔細查閱Neural Network Toolbox的幫助文檔。 例子:利用bp神經網路模型建立z=sin(x+y)的模雀談型型並檢驗效果 %第1步。隨機生成200個采樣點用於訓練 x=unifrnd(-5,5,1,200); y=unifrnd(-5,5,1,200); z=sin(x+y); %第2步。建立神經網路模型。其中參數一是輸入數據的范圍,參數二頃猜是各層神經元數量,參數三是各層傳遞函數類型。 N=newff([-5 5;-5 5],[5,5,1],{'tansig','tansig','purelin'}); %第3步。訓練。這里用批訓練函數train。也可用adapt函數進行增長訓練侍枝。 N=train(N,[x;y],z); %第4步。檢驗訓練成果。 [X,Y]=meshgrid(linspace(-5,5)); Z=sim(N,[X(:),Y(:)]'); figure mesh(X,Y,reshape(Z,100,100)); hold on; plot3(x,y,z,'.')

Ⅲ 除了MATLAB能做BP神經網路,還有其他什麼軟體能做

在我看來bp神經網路是一種演算法,只要是演算法就可以用任何軟體工具(只要編譯器或者解釋器支持,c,c++,python,matlab......)來進行實現,只是實現時的復雜程度有區別而已

Ⅳ 求一個bp神經網路預測模型的MATLAB程序

BP神經網路預測的步驟:

1、輸入和輸出數據。

2、創建網路。fitnet()

3、劃分訓練,測試和驗證數據的比例。net.divideParam.trainRatio;net.divideParam.valRatio;net.divideParam.testRatio

4、訓練網路。train()

5、根據圖表判斷擬合好壞。ploterrcorr();parcorr();plotresponse()

6、預測往後數據。net()

7、畫出預測圖。plot()

執行下列命令

BP_prediction

得到結果:

[ 2016, 14749.003045557066798210144042969]

[ 2017, 15092.847215188667178153991699219]

[ 2018, 15382.150005970150232315063476562]

[ 2019, 15398.85769711434841156005859375]

[ 2020, 15491.935150090605020523071289062]

Ⅳ BP人工神經網路預測

完全可以,神經網路就是這樣用的,極其適用於描述難以給出具體的數學表達式的非線性映射。通過歷史樣本對網路的訓練,可以使網路映射該非線性關系,從而進行可靠性很高的預測。可以使用BP、Elman、RBF網路,這些網路效果較好。建議使用MATLAB編程,較為方便,因為該數學軟體包含神經網路工具箱。

如果你裝了Matlab,可以運行下附件的例子試一下。

Ⅵ BP神經網路用什麼軟體可以實現

MATLAB! 編個程序就能實現的,而且MATLAB 有自帶的神經網路工具箱。

Ⅶ 運用Matlab軟體建立預測水體富營養化BP神經網路模型怎麼操作,我這里有數據,想知道具體的操作步驟。

確定訓練集P-T對,建立網路模型(配置學習演算法肆閉、目標精度等參數)仿雹肆、訓練和使備轎用。
MATLAB ANN工具箱很容易解決,help newff

Ⅷ 復雜神經網路模型用什麼軟體

bp神經網路能用MATLAB,
理論上編程語言都可以,比如VB,C語言,過程也都是建模、量化、運算及結果輸出(圖、表),但是matlab發展到現在,集成了很多的工具箱,所以用的最為廣泛,用其他的就得是要從源碼開發入手了。
bp神經網路是一種演算法,只要是演算法就可以用任何軟體工具,只要編譯器或者解釋器支持,c,c++,python,來進行實現,只是實現時的復雜程度有區別而已

閱讀全文

與bp神經網路預測模型軟體相關的資料

熱點內容
中國電信自助修改寬頻網路密碼 瀏覽:893
寧波3a集團公司網路營銷策劃案 瀏覽:936
張家口網路哪個好 瀏覽:450
電腦多重網路怎麼刪除一個 瀏覽:832
中寰軟體助手顯示網路環境異常 瀏覽:451
iphone經常需要重啟才能連接4g網路 瀏覽:727
ps4的網路無法連接 瀏覽:201
三星移動手機網路慢 瀏覽:14
幹部網路學院要多少學時 瀏覽:795
天城軟體在電腦網路異常 瀏覽:511
網路世界會有哪些不安全因素 瀏覽:776
隱藏wifi找不到網路怎麼回事 瀏覽:329
怎麼找到哪個網路是自己的 瀏覽:923
網路測速27mb是多少 瀏覽:237
計算機網路傳輸介質排行 瀏覽:712
小天才沒網路怎麼設置流量 瀏覽:218
網路營銷產品定價策略 瀏覽:668
智慧機頂盒網路怎麼設置 瀏覽:63
蘋果無手機卡無法連接網路 瀏覽:425
天津ip網路中心軟體 瀏覽:151

友情鏈接