當前位置:生活全書館 >

IT科技

> 中bp神經網路演算法應該怎麼實現 matlab

中bp神經網路演算法應該怎麼實現 matlab

BP神經網路是最基本、最常用的神經網路,Matlab有專用函式來建立、訓練它,主要就是newff()、train()、sim()這三個函式

BP神經網路演算法提供了一種普遍並且實用的方法從樣例中學習值為實數、離散值或者向量的函式,這裡就簡單介紹一下如何用MATLAB程式設計實現該演算法。

方法

這裡以一個普遍實用的簡單案例為例子進行程式設計的說明。

額。。。 一種啟發式的改進就是,為學習速率選用自適應值,它依賴於連續迭代步驟中的誤差函式值。 自適應調整學習速率的梯度下降演算法,在訓練的過程中,力圖使演算法穩定,同時又使學習的步長儘量地大,學習速率則是根據區域性誤差曲面作出相應的調整。

假設一組x1,x2,x3的值對應一個y值,有2000組這樣的數字,我們選擇其中1900組x1,x2,x3和y作為樣本,其餘100組x1,x2,x3作為測試資料來驗證。

1.初始權值不一樣,如果一樣,每次訓練結果是相同的 2.是 3.在train之前修改權值,IW,LW,b,使之相同 4.取多次實驗的均值 一點淺見,僅供參考

matlab 中bp神經網路演算法應該怎麼實現

首先需要讀取這些資料,並把資料賦值給input 和 output 。

clear; %輸入資料矩陣 p1=zeros(1,1000); p2=zeros(1,1000); for i=1:1000 p1(i)=rand; p2(i)=rand; end p=[p1;p2]; %目標(輸出)資料矩陣 t = cos(pi*p1)+sin(pi*p2); %對訓練集中的輸入資料矩陣和目標資料矩陣進行歸一化處理 [pn, inputStr]

我是把資料儲存在excel表中,所以用xlsread函式來讀取資料。讀取出來的資料是2000*4的矩陣。

matlab中BP神經網路的訓練演算法(traingd)與學習演算法(learngd)的具體關係? 兩者有什麼區別?如何共同實現神經網路的訓練的? 兩者有什麼區別?如何共同實現神經網路的

matlab 中bp神經網路演算法應該怎麼實現 第2張

將樣本資料進行歸一化處理。

lr=0.05; %lr為學習速率; err_goal=0.1; %err_goal為期望誤差最小值 max_epoch=15000; %max_epoch為訓練的最大次數; a=0.9; %a為慣性系數 Oi=0; Ok=0; %置隱含層和輸出層各神經元輸出初值為0 這些初始引數是誰提供給你? 調整一下這些引數看看.

matlab 中bp神經網路演算法應該怎麼實現 第3張

初始化網路結果,設定引數,並用資料對網路進行訓練。

第0節、引例 本文以Fisher的Iris資料集作為神經網路程式的測試資料集。Iris資料集可以在http://en.wikipedia.org/wiki/Iris_flower_data_set 找到。這裡簡要介紹一下Iris資料集: 有一批Iris花,已知這批Iris花可分為3個品種,現需要對其進行分

newff函式是給出了最簡單的設定,即輸入樣本資料,輸出樣本資料和隱含層節點數;epochs是設定迭代次數;lr是設定學習率;goal是設定目標值。

如果你的式子寫對了,那出來的結果肯定和sim函式輸出的結果是一樣的。 % 計算S1與S2層的輸出A1=tansig(W1*p,B1);A2=purelin(W2*A1,B2);隱層為tansig函式,輸出層簡單的線性相加,再附上閾值,不可能會錯的。sim函式的原理也就是如此。

matlab 中bp神經網路演算法應該怎麼實現 第4張

設定好引數,需要將預測資料進行歸一化處理,然後將預測結果輸出,並將輸出的結果進行反歸一化處理,神經網路就完成了。BPoutput為預測結果。

你提供的程式碼是一個基本的BP神經網路訓練過程。一般都是用GA訓練,之後再用改進動量法繼續訓練,直至最後達到目標。 遺

matlab 中bp神經網路演算法應該怎麼實現 第5張

程式執行時顯示的網路結構和執行過程如下圖。

使用神經網路工具箱可以非常簡便地實現網路建立和訓練,例項程式碼如下: %% BP演算法function Out=bpnet(p,t,p_test)%p,t為

matlab 中bp神經網路演算法應該怎麼實現 第6張

如果以後需要用到已訓練好的網路可以把訓練好的網路儲存起來,下次可以直接進行預測,具體方法見下圖。

如果你的式子寫對了,那出來的結果肯定和sim函式輸出的結果是一樣的。 % 計算S1與S2層的輸出A1=tansig(W1*p,B1);A2=purelin(W2*A1,B2);隱層為tansig函式,輸出層簡單的線性相加,再附上閾值,不可能會錯的。sim函式的原理也就是如此。

matlab 中bp神經網路演算法應該怎麼實現 第7張

擴充套件閱讀,以下內容您可能還感興趣。

matlab遺傳演算法改進bp神經網路

你提供的程式碼是一個基本的BP神經網路訓練過程。一般都是用GA訓練,之後再用改進動量法繼續訓練,直至最後百達到目標。

遺傳演算法(Genetic Algorithm)是模擬達爾文生物進化論的自然選擇和遺傳學機理的生物進化過程的計算模型,是一種通過模擬自然進化過程搜尋最優解的方法。遺傳演算法是從代表問題可能潛在的解集的一個種群(度population)開始的,而一個種群則由經過基因(gene)編碼的一定數目的個體(individual)組成。每個個體實際上是染色體(chromosome)帶有特徵的實體。染色體作為遺傳物質的主要載體,即多個基因的集合,其內部表現(即基因型)是某種基因組合,它決定了個體的形狀的外部表現,如黑頭髮的特徵是由染色體中控制這一特徵的某種基因組合決定的。

如何用MATLAB的神經網路工具箱實現三層BP網路

使用神經網路工具箱可以非常簡便地實現網路建立和訓練復,例項程式碼如下:%%制 BP演算法

function Out=bpnet(p,t,p_test)

%p,t為樣本需要提前組織好

global S1

net=newff(minmax(p),[S1,8],{'tansig','purelin'},'trainlm');    %trainlm訓練函式最有效

%net=newff(P,T,31,{'tansig','purelin'},'trainlm');%新版用法

net.trainParam.epochs=1000;

net.trainParam.goal=0.00001;

net.trainParam.lr=0.01;

net.trainParam.showWindow = false;      %阻止訓知練視窗的彈出

net.trainParam.showCommandLine = false; %阻止訓練視窗的彈出

net=train(net,p,t);

Out=sim(net,p_test);

end

上面的程式碼不完道整,完整的帶訓練樣本資料的程式見附件。

matlab 實現BP神經網路 怎樣根據隱含層和輸入層的權值閾值得到輸入到輸出的計算公式

如果你百的式子寫對了,那出來的結果肯定和sim函式輸度出的結果是一樣的。

% 計算S1與S2層的輸出

A1=tansig(W1*p,B1);

A2=purelin(W2*A1,B2);

隱層為tansig函式,輸出層簡單的知線性相加,再附上閾值,不可能會錯的。sim函式的原道理也就是如此。更多追問追答追問這裡w1是權值,B1是閾值?w2是權值,B2是閾值?這樣的話是說A2與sim(net,P)是相等的?可是算出來還是不一樣的。追答注意閾值是負號,或者你可以認為b為正數,而x0=-1!追問這裡x0是什麼? 或者我把檔案發給你看看或者QQ討教一下。按照輸入層到隱含層的權值乘以輸入值加閾值放在tansig函式中,然後隱含層到輸出層的權值乘以隱含層的輸出加閾值,應該就是輸出層的輸出,可是結果總是不對,但是sim(net,P)的結果是對的,按照你的所寫,A2就應該等於輸出層輸出吧,結果還是sim(net,P)不一樣。

能得到你的幫助不勝感激。追答就是閾值不是加,而是減。再試試。

求基於BP神經網路實現汽車牌照識別的matlab程式碼或者是汽車牌照識別系統(用matlab寫的,有用到BP神經網路

這是基於模板匹配法的車牌識別

基於BP神經網路的車牌識別程式網上有

追問有是有,但找不到可以成功執行的。您有資源嗎?可以發一個給我嗎?我是matlab小白,不會修改他的錯誤。幫幫我吧(*/∇\*)!好可惜我選的不是模版匹配不然你這個程式就很棒!或者是您可以把這個模板匹配的原始碼資源共享給我嗎?我可以留著做個對比資料

您好,請問您有基於BP神經網路演算法的車牌識別的程式程式碼嗎?用matlab可以執行的那種。

1、對樣本集進行歸一化

2、建立BP神經網路

3、設定網路的訓練引數

4、把樣本輸入BP網路進行訓練

5、把代識別的樣本輸入樣本進行訓練得到相應的結果,並輸出。

這就是構建BP神經網路的大致步驟更多追問追答追問您好,有沒有這種程式原始碼資源可以共享給我。最近就要交了,找了很久matlab基於BP神經網路的車牌識別的原始碼,但執行的時候總是報錯。您好,有沒有這種程式原始碼資源可以共享給我。最近就要交了,找了很久matlab基於BP神經網路的車牌識別的原始碼,但執行的時候總是報錯。追答這個又不難,你是大學生,多看一下書,你也會寫。追問但是我老師說在一週內就要交程式成功執行的視屏錄製給她,時間太趕了

  • 文章版權屬於文章作者所有,轉載請註明 https://shqsg.com/dianzi/k9pm3m.html