BP神经网络模型介绍
神經網絡模型和算法:
Bp神經網絡是一種反向傳播機制,反饋錯誤,固化期望輸出
神經網絡,深度學習的底層
神經元由三層結構組成:
輸入層【例如信號、知識的輸入】,隱藏層【用作處理、訓練、學習,必不可少,相當于知識的理解】,輸出層【經過“學習”后的輸出】。
誤差反饋辦法:在模擬,交互時,常用到線性擬合,然而現實中大部分事務時是非線性的,而神經網絡就是通過不斷的誤差反饋,來擬合這種非線性的事務。
神經網絡結構確定,最重要的就是權值確定【神經網絡算法就是權值的調整確定】
生物神經元:輸入,信號加工、傳遞,輸出
人工神經模型:輸入信號x,權值w【不知關系,黑箱模型】,閾值θ【產生刺激最低的信號值,用于選擇要處理的信號,防止處理過多】,輸出y。x和y用大量的權w來鏈接。
神經網絡系統是多輸入,單輸出的非線性系統。
神經元輸入輸出關系【與權、閾有關】,net=wx,y=f(net),f是一種激活函數。
上面的關系也可以用向量表示,激活函數常為s函數、雙極s函數,均為連續函數。
學習訓練的模式有前饋,反饋【最好】,自由神經網絡,其中反饋模式最好。
神經網絡工作狀態:學習【利用學習調整權重,使網絡輸出符合實際】和工作【鏈接權重不變,作為分類器或預測數據用】
BP是一種有導師、有監督的反饋學習方式。
BP神經網絡的連接,每根線都是一個權值。
神經網絡就是找正確權值,而權值被輸入、輸出所固定。
找到一組實際輸出與標準輸出誤差最小的權值,找的他最小值,即函數的極值,所以激活函數要連續。
神經網絡工作步驟如下:
首先,計算個神經元輸入和輸出,第二步計算誤差函數對各輸出層神經元偏導數,第三步計算誤差函數對隱藏層神經元求偏導數,利用前兩步的結果修正權值,這其中有個學習率來修正【學習】。計算全局誤差,決定是否滿足要求,不滿足則繼續修正。
關鍵在于有正確標準數據,建立起了對應數據、標準輸出,不滿足則繼續修正·,所以神經網絡難以處理沒有預料到的情況。
應用最多的地方:擬合,評價,分類。
總結:神經網絡由三層架構組成,通過黑箱,構建了一個x【輸入】/y【輸出】關系,黑箱進行誤差、修正誤差、修正全過程、訓練過程。
神經網絡編程:
神經網絡編程案例推薦書:《MATLAB神經網絡43個案例分析》
普通的分類,通常用畫線把它們區分開來,而有時候不規則,使用不了畫線
則可用數據作為輸入,類型作為輸出來分類。
神經網絡還可用于評價類、預測類有輸入輸出關系的問題。
參數:數量【輸入】,輸出的一般為一個參數。
在MATLAB中編碼神經網絡算法,有的函數要作為激發,有的要作為輸出,有的要作為學習規則,例如下面這個例子:
如何用代碼構建神經網絡?至少要滿足三層架構,否則得到的輸出難以符合期望,其中隱藏層更是必不可少,甚至不能過于簡單的。
下圖希望訓練點,期望輸出線,得到的結果卻不擬合。
這是因為沒有訓練。故隱藏神經元越多越好【實際上多則慢】
大量的現實表明,神經網絡模型適合大樣本的擬合,適合大樣本數據量。如果小樣本時用神經網絡則顯的外行,反而不如最小二乘擬合有效。
總結
以上是生活随笔為你收集整理的BP神经网络模型介绍的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JavaWeb学习过程 之c3p0的使用
- 下一篇: kernel mtd 分区与UBOOT