詳細MATLAB 中BP神經網絡算法的實現


MATLAB 中BP神經網絡算法的實現

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

具體步驟

  1.  

    這里以一個普遍實用的簡單案例為例子進行編程的說明。

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

    MATLAB 中BP神經網絡算法的實現
  2.  

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

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

    MATLAB 中BP神經網絡算法的實現
  3.  

    將樣本數據進行歸一化處理。

    MATLAB 中BP神經網絡算法的實現
  4.  

    初始化網絡結果,設置參數,並用數據對網絡進行訓練。

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

    MATLAB 中BP神經網絡算法的實現
  5.  

    設置好參數,需要將預測數據進行歸一化處理,然后將預測結果輸出,並將輸出的結果進行反歸一化處理,神經網絡就完成了。BPoutput為預測結果。

    MATLAB 中BP神經網絡算法的實現
  6.  

    程序運行時顯示的網絡結構和運行過程如下圖。

    MATLAB 中BP神經網絡算法的實現
  7.  

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

    MATLAB 中BP神經網絡算法的實現
    但是在用神經網絡進行預測時需要注意輸入數據的數量和樣本的數量,樣本數量較少時要考慮網絡的可用性和准確性。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM