① 請問:如何用人工神經網路來進行預測
用第1月到第25月的輸入數據,和第1月到第25月的輸出數據作為網路的訓練數據,然後將你第26月的對應的輸入作為網路的輸入,就可以得出第26月的輸出。
你可以在網上下個別人使用過的神經網路的模板或工具箱,修改成自己需要的就是了。
② 神經網路訓練好怎麼預測
調用網路預測函數a=sim(net,p)
net是通過train函數訓練樣本集得到的最優網路,p為預測數據集,a就是想要的預測值
③ 如何建立bp神經網路預測 模型
建立BP神經網路預測 模型,可按下列步驟進行:
1、提供原始數據
2、訓練數據預測數據提取及歸一化
3、BP網路訓練
4、BP網路預測
5、結果分析
現用一個實際的例子,來預測2015年和2016年某地區的人口數。
已知2009年——2014年某地區人口數分別為3583、4150、5062、4628、5270、5340萬人
執行BP_main程序,得到
[ 2015, 5128.631704710423946380615234375]
[ 2016, 5100.5797325642779469490051269531]
代碼及圖形如下。
④ bp神經網路如何用於預測
關鍵在於輸入向量的制定:可選擇前3年的數據作為輸入,輸入節點設為3;第4年的數據為輸出,輸出節點數設
⑤ 如何利用訓練好的神經網路進行預測
可以用MATLAB神經網路工具箱,先提取樣本,用mapminmax函數歸一化,再newff函數建立網路,設置好訓練參數後,使用train
⑥ 三體問題真的無解嗎
無解
三體問題(three-body problem)是天體力學中的基本力學模型。它是指三個質量、初始位置和初始速度都是任意的可視為質點的天體,在相互之間只有萬有引力的作用下如何預測其運動規律。現已知三體問題不能精確求解,即無法預測所有三體問題的數學情景,只有幾種特殊情況已研究。
採用窮舉法的Brutus程序計算較為遲緩,需要對天體軌跡的每一小步進行運算。神經網路僅需要分析由這些計算產生的運動軌跡、並從中歸納出相應規律,藉此預測系統未來的演變結果。這套神經網路系統若能正常運作,得出答案的速度將達到前所未有的水平。對於「引力波如何形成」等更為深層的問題研究就可提上日程了。
這套演算法目前處於概念驗證階段,它目前只能按規定時長運行,無法提前預知某個情境需要多久才能完成演化。對於規模更大、更復雜的預測,需要Brutus生成大量數據後「神經網路」進行深度學習,耗時長,費用高昂是該系統的攔路虎。
目前研究團隊預計將Brutus程序與「神經網路」融合使用,神經網路僅負責復雜計算的模擬部分。AI應用在天體的運行問題中已逐漸可行,將來會在天文學科中發揮更重要的作用。
⑦ 採用什麼手段使神經網路預測更加准確
優化神經網路結構。如BP神經網路改變隱層神經元數量、訓練演算法等;
使用其他神經網路。如Elman神經網路考慮了前一時刻的輸出,比較適合用於預測,預測效果往往更好。RBF神經網路的訓練速度很快,訓練效果也很好。
改進的神經網路演算法。例如BP神經網路增加動量項、自適應學習率等措施,防止陷入局部極小影響預測效果。
組合神經網路。取長補短,將全局搜索能力強的演算法與局部逼近快的演算法組合起來,如遺傳演算法優化初始權值,再訓練。這種方法比較靈活,可以和許多演算法融合。
全面考慮影響因素。未來的預測值受許多因素影響,所以應該在基於歷史數據的基礎上,充分考慮各種因素,考慮得越周全,預知信息越多,預測效果一般更好。
⑧ 如何用BP神經網路實現預測
首先要知道你建立的這個模型的內部邏輯關系。。
1,確定隱層數,畫出簡要模型圖。
2,確定採用什麼樣的神經網路來建立模型
3.通過測試數據來訓練模型。。
4.根據測試訓練得到的數據和實際數據進行比對,或者算出誤差。從而修改隱層中的權值和閥值。
反復重復3-4.。最後得到一個最優的模型。
大致是這樣。。。樓主說的太概略。。。無法回答清楚請抱歉
⑨ 深入理解BP神經網路
BP神經網路是一種多層的前饋神經網路,其主要的特點是:信號是前向傳播的,而誤差是反向傳播的。具體來說,對於如下的只含一個隱層的神經網路模型:
BP神經網路的過程主要分為兩個階段,第一階段是信號的前向傳播,從輸入層經過隱含層,最後到達輸出層;第二階段是誤差的反向傳播,從輸出層到隱含層,最後到輸入層,依次調節隱含層到輸出層的權重和偏置,輸入層到隱含層的權重和偏置。
神經網路的基本組成單元是神經元。神經元的通用模型如圖所示,其中常用的激活函數有閾值函數、sigmoid函數和雙曲正切函數。
神經元的輸出為:
神經網路是將多個神經元按一定規則聯結在一起而形成的網路,如圖 所示。
從圖 可以看出,一個神經網路包括輸入層、隱含層(中間層)和輸出層。輸入層神經元個數與輸入數據的維數相同,輸出層神經元個數與需要擬合的數據個數相同,隱含層神經元個數與層數就需要設計者自己根據一些規則和目標來設定。在深度學習出現之前,隱含層的層數通常為一層,即通常使用的神經網路是3層網路。
BP網路採用的傳遞函數是非線性變換函數——Sigmoid函數(又稱S函數)。其特點是函數本身及其導數都是連續的,因而在處理上十分方便。為什麼要選擇這個函數,等下在介紹BP網路的學習演算法的時候會進行進一步的介紹。S函數有單極性S型函數和雙極性S型函數兩種,單極性S型函數定義如下:f(x)=1/1+e−x
其函數曲線如圖所示:
雙極性S型函數:f(x)=1−e−x/1+e−x
使用S型激活函數時,輸入:
輸出:
輸出的導數:
使用S型激活函數時,BP網路的輸出及其導數圖形:
根據S激活函數的圖形:
net在 -5~0 的時候導數的值為正,且導數的值逐漸增大, 說明此時f(x)在逐漸變大 且 變大的速度越來越快
net在 0~5 的時候導數的值為正,且導數的值逐漸減小, 說明此時f(x)在逐漸變大 但是 變大的速度越來越慢
對神經網路進行訓練,我們應該盡量將net的值盡量控制在收斂比較快的范圍內。
1. 定義一個BP神經網路的類,設置網路相關參數
2. 實例化該神經網路,按下圖被構建成一個輸出3維,輸出1維,帶有3個隱藏層(每個隱藏層10個節點)的BP網路;(此處還可以隨意擴展輸入、輸出維度和隱藏層相關系數)
3. 初始化BP神經網路的時候,開始初始化各層網路節點的 權重、權重動量、誤差初始值
4. 引入學習訓練數據;4組輸入、輸出數據迭代5000次
5000次中不斷向前逐層計算輸出的節點數據
並同時逐層計算誤差反向修改權重值,直到迭代完畢;注意誤差函數值必須呈現下降趨勢
5. 引入數據進行結果預測,將數據帶回模型計算得結果;最終可知預測結果趨近於0.7
神經網路利用現有的數據找出輸入與輸出之間得權值關系(近似),然後利用這樣的權值關系進行模擬,例如輸入一組數據模擬出輸出結果,當然你的輸入要和訓練時採用的數據集在一個范疇之內。例如預報天氣:溫度 濕度 氣壓等作為輸入 天氣情況作為輸出利用歷史得輸入輸出關系訓練出神經網路,然後利用這樣的神經網路輸入今天的溫度 濕度 氣壓等 得出即將得天氣情況。同理,運用到自動化測試中,使用測試數據反映結果走向,bug數,質量問題等情況也可以做到提前預測的!
附錄:
⑩ 如何用神經網路進行時間序列預測
神經網路是可以用來預測時間序列。例如神經網路人口預測。已知1990至2009年的某地區人口數[11 28 30 42 44 56 49 60 50 63 56 74 76 65 92 105 124 117 132 128]。預測2010-2016年的某地區人口數。
具體實施過程:
%已知數據
t=1990:2009;
x=[11 28 30 42 44 56 49 60 50 63 56 74 76 65 92 105 124 117 132 128];
% 自回歸階數
lag=3;
%預測步數為fn
fn=length(t);
%輸出數據
[f_out,iinput]=BP(x,lag,fn); %BP()神經網路預測函數
[x' iinput']
R2=corrcoef(x,iinput)
%預測年份或某一時間段
%t1=2015:2016;
t1=length(x)+1:length(x)+7;
%預測步數為fn
fn=length(t1);
[f_out,iinput]=BP(x,lag,fn);
P=vpa(f_out,5);
%預測數據
t1=2010:2016;
[t1' P']
% 畫出預測圖
figure(6),plot(t,x,'b*-'),hold on
plot(t(end):t1(end),[iinput(end),f_out],'rp-'),grid on
title('BP神經網路預測某地區人口數')
xlabel('年份'),ylabel('人口數');
legend('2009-2014年人口變化數','2014-2016年人口預測數');