摘 要:分析了BP神經網絡的結構及其算法實現流程,利用C++語言構建了BP神經網絡的網絡模型,并通過一個實例,展示了用面向對象來實現BP神經網絡的優勢。
關鍵詞:BP神經網絡;面向對象程序設計;C++
中圖分類號:TP
文獻標識碼:A
文章編號:1672-3198(2010)08-0271-02
1 BP網絡算法分析
人工神經網絡是從人的神經系統得到啟發,由多個神經元廣泛連接而建立起來的一種大規模的、高度并行的智能信息處理系統。通常由多個網絡層構成,其中包括一個輸入層、一個或幾個隱層、一個輸出層,層與層之間采用全互連接,同層神經元之間不存在相互連接。
其算法基本思想是利用最小二乘法,即LMS算法,采用梯度搜索技術,以期使網絡的實際輸出值與期望輸出值之間的誤差均方值為最小。其學習過程由前向傳播和反向傳播組成。在前向傳播過程中,輸入模式經輸入層、隱層逐層處理,并傳向輸出層。如果在輸出層不能得到期望的輸出,則轉入反向傳播過程。反向傳播過程將誤差值沿連接通路逐層反向傳送,并修正各層連接權值。對于給定的一組訓練模式,不斷用一個訓練模式訓練網絡,重復前向傳播和誤差反向傳播過程,直至網絡均方誤差(Ep)小于給定值為止。