⑴ 如何建立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神經網路預測模型的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神經網路構建預測模型後看預測效果。神經網路不能像樹模型這些通過shape來預測重要性,計算量太大不適用,要通過permutation預測,進訓練好的模型預測,預測效果越差即准確率越差,就說明特徵重要性越大。
⑷ BP神經網路預測問題
把net_1=newff(minmax(P),[10,1],{'tansig','purelin'},'traingdm') 中的1改成27,即改為net_1=newff(minmax(P),[10,27],{'tansig','purelin'},'traingdm')
還有,你幹嘛提兩個問題啊
http://..com/question/1238364052427418259.html?oldq=1
⑸ BP神經網路評價和預測有什麼不同
前者是知道測試輸出的,通過訓練好的網路模型來預測輸出,然後與真實輸出對比,來評價網路好與壞。例如對函數y=x^2在[-1:0.1:1]區間訓練,通過BP網路測試[0.4:0.2:1]輸出為a,b,c,d,真實值很顯然就是0.16,0.36,0.64,1,然後通過誤差對比來評價;後者是不知道真實輸出的,只能用預測輸出,例如對股票預測。
⑹ BP神經網路的原理的BP什麼意思
人工神經網路有很多模型,但是日前應用最廣、基本思想最直觀、最容易被理解的是多層前饋神經網路及誤差逆傳播學習演算法(Error Back-Prooaeation),簡稱為BP網路。
在1986年以Rumelhart和McCelland為首的科學家出版的《Parallel Distributed Processing》一書中,完整地提出了誤差逆傳播學習演算法,並被廣泛接受。多層感知網路是一種具有三層或三層以上的階層型神經網路。典型的多層感知網路是三層、前饋的階層網路(圖4.1),即:輸入層、隱含層(也稱中間層)、輸出層,具體如下:
圖4.1 三層BP網路結構
(1)輸入層
輸入層是網路與外部交互的介面。一般輸入層只是輸入矢量的存儲層,它並不對輸入矢量作任何加工和處理。輸入層的神經元數目可以根據需要求解的問題和數據表示的方式來確定。一般而言,如果輸入矢量為圖像,則輸入層的神經元數目可以為圖像的像素數,也可以是經過處理後的圖像特徵數。
(2)隱含層
1989年,Robert Hecht Nielsno證明了對於任何在閉區間內的一個連續函數都可以用一個隱層的BP網路來逼近,因而一個三層的BP網路可以完成任意的n維到m維的映射。增加隱含層數雖然可以更進一步的降低誤差、提高精度,但是也使網路復雜化,從而增加了網路權值的訓練時間。誤差精度的提高也可以通過增加隱含層中的神經元數目來實現,其訓練效果也比增加隱含層數更容易觀察和調整,所以一般情況應優先考慮增加隱含層的神經元個數,再根據具體情況選擇合適的隱含層數。
(3)輸出層
輸出層輸出網路訓練的結果矢量,輸出矢量的維數應根據具體的應用要求來設計,在設計時,應盡可能減少系統的規模,使系統的復雜性減少。如果網路用作識別器,則識別的類別神經元接近1,而其它神經元輸出接近0。
以上三層網路的相鄰層之間的各神經元實現全連接,即下一層的每一個神經元與上一層的每個神經元都實現全連接,而且每層各神經元之間無連接,連接強度構成網路的權值矩陣W。
BP網路是以一種有教師示教的方式進行學習的。首先由教師對每一種輸入模式設定一個期望輸出值。然後對網路輸入實際的學習記憶模式,並由輸入層經中間層向輸出層傳播(稱為「模式順傳播」)。實際輸出與期望輸出的差即是誤差。按照誤差平方最小這一規則,由輸出層往中間層逐層修正連接權值,此過程稱為「誤差逆傳播」(陳正昌,2005)。所以誤差逆傳播神經網路也簡稱BP(Back Propagation)網。隨著「模式順傳播」和「誤差逆傳播」過程的交替反復進行。網路的實際輸出逐漸向各自所對應的期望輸出逼近,網路對輸入模式的響應的正確率也不斷上升。通過此學習過程,確定下各層間的連接權值後。典型三層BP神經網路學習及程序運行過程如下(標志淵,2006):
(1)首先,對各符號的形式及意義進行說明:
網路輸入向量Pk=(a1,a2,...,an);
網路目標向量Tk=(y1,y2,...,yn);
中間層單元輸入向量Sk=(s1,s2,...,sp),輸出向量Bk=(b1,b2,...,bp);
輸出層單元輸入向量Lk=(l1,l2,...,lq),輸出向量Ck=(c1,c2,...,cq);
輸入層至中間層的連接權wij,i=1,2,...,n,j=1,2,...p;
中間層至輸出層的連接權vjt,j=1,2,...,p,t=1,2,...,p;
中間層各單元的輸出閾值θj,j=1,2,...,p;
輸出層各單元的輸出閾值γj,j=1,2,...,p;
參數k=1,2,...,m。
(2)初始化。給每個連接權值wij、vjt、閾值θj與γj賦予區間(-1,1)內的隨機值。
(3)隨機選取一組輸入和目標樣本
提供給網路。
(4)用輸入樣本
、連接權wij和閾值θj計算中間層各單元的輸入sj,然後用sj通過傳遞函數計算中間層各單元的輸出bj。
基坑降水工程的環境效應與評價方法
bj=f(sj) j=1,2,...,p (4.5)
(5)利用中間層的輸出bj、連接權vjt和閾值γt計算輸出層各單元的輸出Lt,然後通過傳遞函數計算輸出層各單元的響應Ct。
基坑降水工程的環境效應與評價方法
Ct=f(Lt) t=1,2,...,q (4.7)
(6)利用網路目標向量
,網路的實際輸出Ct,計算輸出層的各單元一般化誤差
。
基坑降水工程的環境效應與評價方法
(7)利用連接權vjt、輸出層的一般化誤差dt和中間層的輸出bj計算中間層各單元的一般化誤差
。
基坑降水工程的環境效應與評價方法
(8)利用輸出層各單元的一般化誤差
與中間層各單元的輸出bj來修正連接權vjt和閾值γt。
基坑降水工程的環境效應與評價方法
(9)利用中間層各單元的一般化誤差
,輸入層各單元的輸入Pk=(a1,a2,...,an)來修正連接權wij和閾值θj。
基坑降水工程的環境效應與評價方法
(10)隨機選取下一個學習樣本向量提供給網路,返回到步驟(3),直到m個訓練樣本訓練完畢。
(11)重新從m個學習樣本中隨機選取一組輸入和目標樣本,返回步驟(3),直到網路全局誤差E小於預先設定的一個極小值,即網路收斂。如果學習次數大於預先設定的值,網路就無法收斂。
(12)學習結束。
可以看出,在以上學習步驟中,(8)、(9)步為網路誤差的「逆傳播過程」,(10)、(11)步則用於完成訓練和收斂過程。
通常,經過訓練的網路還應該進行性能測試。測試的方法就是選擇測試樣本向量,將其提供給網路,檢驗網路對其分類的正確性。測試樣本向量中應該包含今後網路應用過程中可能遇到的主要典型模式(宋大奇,2006)。這些樣本可以直接測取得到,也可以通過模擬得到,在樣本數據較少或者較難得到時,也可以通過對學習樣本加上適當的雜訊或按照一定規則插值得到。為了更好地驗證網路的泛化能力,一個良好的測試樣本集中不應該包含和學習樣本完全相同的模式(董軍,2007)。
⑺ bp神經網路預測模型和logistics回歸模型哪個更難
bp神經網路預測模型更難。根據查詢相關公開信息顯示,bp神經網路預測模型通過過樣本數據的訓練,不斷修正網路權值和閾值使誤差函數沿負梯度方向下降,逼近期望輸出。是一種應用為廣泛的神經網路模型,多用於函數逼近、模型識別分類、數據壓縮和時間序列預測等。logistics回歸模型是一種廣義的線性回歸分析模型,常用於數據挖掘,疾病自動診斷,經濟預測等領域。
⑻ BP神經網路預測模型在matlab下編程如何顯示出它的預測值
%畫出預測輸出結果和期望輸出結果圖
figure;
plot(output_fore,':og');
hold on;
plot(output2_lianghua','-*');
legend('預測輸出','期望輸出');
title('BP網路預測輸出','fontsize',12);
ylabel('函數輸出','fontsize',12);
xlabel('樣本','fontsize',12);
%畫出預測結果誤差圖
figure
plot(error,'-*')
title('BP網路預測誤差','fontsize',12)
ylabel('誤差','fontsize',12)
xlabel('樣本','fontsize',12)
⑼ 預測模型可分為哪幾類
1、趨勢外推預測方法
趨勢外推預測方法是根據事物的歷史和現實數據,尋求事物隨時間推移而發展變化的規律,從而推測其未來狀況的一種常用的預測方法。
趨勢外推法的假設條件是:
(1)假設事物發展過程沒有跳躍式變化,即事物的發展變化是漸進型的。
(2)假設所研究系統的結構、功能等基本保持不變,即假定根據過去資料建立的趨勢外推模型能適合未來,能代表未來趨勢變化的情況。
由以上兩個假設條件可知,趨勢外推預測法是事物發展漸進過程的一種統計預測方法。簡言之,就是運用一個數學模型,擬合一條趨勢線,然後用這個模型外推預測未來時期事物的發展。
2、回歸預測方法
回歸預測方法是根據自變數和因變數之間的相關關系進行預測的。自變數的個數可以一個或多個,根據自變數的個數可分為一元回歸預測和多元回歸預測。同時根據自變數和因變數的相關關系,分為線性回歸預測方法和非線性回歸方法。回歸問題的學習等價於函數擬合:選擇一條函數曲線使其很好的擬合已知數據且能很好的預測未知數據。
3、卡爾曼濾波預測模型
卡爾曼濾波是以最小均方誤差為估計的最佳准則,來尋求一套遞推估計的模型,其基本思想是: 採用信號與雜訊的狀態空間模型,利用前一時刻地估計值和現時刻的觀測值來更新對狀態變數的估計,求出現時刻的估計值。
它適合於實時處理和計算機運算。卡爾曼濾波器問題由預計步驟,估計步驟,前進步驟組成。 在預計步驟中, t時狀態的估計取決於所有到t-1 時的信息。在估算步驟中, 狀態更新後, 估計要於時間t的實際觀察比較。更新的狀態是較早的推算和新觀察的綜合。 置於每一個成分的權重由「 Kalmangain」(卡爾曼增益) 決定,它取決於雜訊 w 和 v。(雜訊越小,新的觀察的可信度越高,權重越大,反之亦然)。前進步驟意味著先前的「新」觀察在准備下一輪預計和估算時變成了「舊」 觀察。 在任何時間可以進行任何長度的預測(通過提前狀態轉換)。
4、組合預測模型
組合預測法是對同一個問題,採用多種預測方法。組合的主要目的是綜合利用各種方法所提供的信息,盡可能地提高預測精度。組合預測有 2 種基本形式,一是等權組合, 即各預測方法的預測值按相同的權數組合成新的預測值;二是不等權組合,即賦予不同預測方法的預測值不同的權數。 這 2 種形式的原理和運用方法完全相同,只是權數的取定有所區別。 根據經驗,採用不等權組合的組合預測法結果較為准確。
5、BP神經網路預測模型
BP網路(Back-ProPagation Network)又稱反向傳播神經網路, 通過樣本數據的訓練,不斷修正網路權值和閾值使誤差函數沿負梯度方向下降,逼近期望輸出。它是一種應用較為廣泛的神經網路模型,多用於函數逼近、模型識別分類、數據壓縮和時間序列預測等。點擊打開鏈接(BP神經網路預測實例)
⑽ 什麼是BP神經網路
BP演算法的基本思想是:學習過程由信號正向傳播與誤差的反向回傳兩個部分組成;正向傳播時,輸入樣本從輸入層傳入,經各隱層依次逐層處理,傳向輸出層,若輸出層輸出與期望不符,則將誤差作為調整信號逐層反向回傳,對神經元之間的連接權矩陣做出處理,使誤差減小。經反復學習,最終使誤差減小到可接受的范圍。具體步驟如下:
1、從訓練集中取出某一樣本,把信息輸入網路中。
2、通過各節點間的連接情況正向逐層處理後,得到神經網路的實際輸出。
3、計算網路實際輸出與期望輸出的誤差。
4、將誤差逐層反向回傳至之前各層,並按一定原則將誤差信號載入到連接權值上,使整個神經網路的連接權值向誤差減小的方向轉化。
5、対訓練集中每一個輸入—輸出樣本對重復以上步驟,直到整個訓練樣本集的誤差減小到符合要求為止。