1. 程式人生 > >淺顯易懂的BP神經網路演算法matlab處理方法詳解

淺顯易懂的BP神經網路演算法matlab處理方法詳解

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

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

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


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

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


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


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

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


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


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


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


注意事項:在用神經網路進行預測時需要注意輸入資料的數量和樣本的數量,樣本數量較少時要考慮網路的可用性和準確性。