基本BP算法包括信號的前向傳播和誤差的反向傳播兩個過程沟使。即計算誤差輸出時按從輸入到輸出的方向進(jìn)行哼拔,而調(diào)整權(quán)值和閾值則從輸出到輸入的方向進(jìn)行钠乏。正向傳播時话瞧,輸入信號通過隱含層作用于輸出節(jié)點,經(jīng)過非線性變換蜂桶,產(chǎn)生輸出信號儡毕,若實際輸出與期望輸出不相符,則轉(zhuǎn)入誤差的反向傳播過程扑媚。誤差反傳是將輸出誤差通過隱含層向輸入層逐層反傳腰湾,并將誤差分?jǐn)偨o各層所有單元,以從各層獲得的誤差信號作為調(diào)整各單元權(quán)值的依據(jù)钦购。通過調(diào)整輸入節(jié)點與隱層節(jié)點的聯(lián)接強(qiáng)度和隱層節(jié)點與輸出節(jié)點的聯(lián)接強(qiáng)度以及閾值檐盟,使誤差沿梯度方向下降,經(jīng)過反復(fù)學(xué)習(xí)訓(xùn)練押桃,確定與最小誤差相對應(yīng)的網(wǎng)絡(luò)參數(shù)(權(quán)值和閾值)葵萎,訓(xùn)練即告停止。此時經(jīng)過訓(xùn)練的神經(jīng)網(wǎng)絡(luò)即能對類似樣本的輸入信息唱凯,自行處理輸出誤差最小的經(jīng)過非線形轉(zhuǎn)換的信息羡忘。
計算過程
BP神經(jīng)網(wǎng)絡(luò)的計算過程由正向計算過程和反向計算過程組成。正向傳播過程磕昼,輸入模式從輸入層經(jīng)隱單元層逐層處理卷雕,并轉(zhuǎn)向輸出層,每~層神經(jīng)元的狀態(tài)只影響下一層神經(jīng)元的狀態(tài)票从。如果在輸出層不能得到期望的輸出漫雕,則轉(zhuǎn)入反向傳播,將誤差信號沿原來的連接通路返回峰鄙,通過修改各神經(jīng)元的權(quán)值浸间,使得誤差信號最小。
BP神經(jīng)網(wǎng)絡(luò)也存在以下的一些主要缺陷吟榴。
①學(xué)習(xí)速度慢魁蒜,即使是一個簡單的問題,一般也需要幾百次甚至上千次的學(xué)習(xí)才能收斂。
②容易陷入局部極小值兜看。
③網(wǎng)絡(luò)層數(shù)锥咸、神經(jīng)元個數(shù)的選擇沒有相應(yīng)的理論指導(dǎo)。
④網(wǎng)絡(luò)推廣能力有限细移。
BP網(wǎng)絡(luò)主要用于以下四個方面搏予。
1)函數(shù)逼近:用輸入向量和相應(yīng)的輸出向量訓(xùn)練一個網(wǎng)絡(luò)逼近一個函數(shù)。
2)模式識別:用一個待定的輸出向量將它與輸入向量聯(lián)系起來弧轧。
3)分類:把輸入向量所定義的合適方式進(jìn)行分類缔刹。
4)數(shù)據(jù)壓縮:減少輸出向量維數(shù)以便于傳輸或存儲。
激活函數(shù)
必須處處可導(dǎo)(一般都使用S型函數(shù))
激活函數(shù)例如sigmoid:一個根據(jù)不同因素劣针、以及各個因素的重要性程度而做決策的模型。
使用S型激活函數(shù)時亿扁,BP網(wǎng)絡(luò)輸入與輸出關(guān)系
輸入:
輸出:
輸出的導(dǎo)數(shù):
BP網(wǎng)絡(luò)的標(biāo)準(zhǔn)學(xué)習(xí)算法
學(xué)習(xí)的過程:
神經(jīng)網(wǎng)絡(luò)在外界輸入樣本的刺激下不斷改變網(wǎng)絡(luò)的連接權(quán)值捺典,以使網(wǎng)絡(luò)的輸出不斷地接近期望的輸出。
學(xué)習(xí)的本質(zhì):
對各連接權(quán)值的動態(tài)調(diào)整
學(xué)習(xí)規(guī)則:
權(quán)值調(diào)整規(guī)則从祝,即在學(xué)習(xí)過程中網(wǎng)絡(luò)各神經(jīng)元的連接權(quán)值變化所依據(jù)的一定的調(diào)整規(guī)則
BP網(wǎng)絡(luò)的標(biāo)準(zhǔn)學(xué)習(xí)算法-算法思想
學(xué)習(xí)的類型:? 有導(dǎo)師學(xué)習(xí)
核心思想:將輸出誤差以某種形式通過隱層向輸入層逐層反傳(即襟己,將誤差分?jǐn)偨o各層的所有單元——各層單元的誤差信號,以此來修正各單元權(quán)值)
個人理解 :就如同之前的梯度下降函數(shù)每次更新Θ值一樣牍陌,每次來一個樣本擎浴,就更新Θ值,使得代價函數(shù)變得越來越小毒涧。這個類似贮预,先給他們的權(quán)值賦個隨機(jī)初值,然后計算到最后一層(輸出層)契讲,若輸出結(jié)果與實際值有誤差(這個正常情況下是肯定有的)仿吞,那么就進(jìn)行誤差的反向傳播算法,來優(yōu)化各層的Θ值(權(quán)重值)
學(xué)習(xí)的過程: 信號的正向傳播——》誤差的反向傳播
BP網(wǎng)絡(luò)的標(biāo)準(zhǔn)學(xué)習(xí)算法-學(xué)習(xí)過程
正向傳播
輸入樣本-----輸入層------各隱層--------輸出層
判斷是否轉(zhuǎn)入反向傳播階段
若輸入層的實際輸出(h(x))與期望的輸出(y)不符捡偏。
誤差反傳
誤差以某種形式在各層表示-----修正各層單元的權(quán)值(w或者Θ)
最終結(jié)果
網(wǎng)絡(luò)輸出的誤差減少到了可以接受的程度(或 進(jìn)行到預(yù)先設(shè)定的學(xué)習(xí)次數(shù)為止)
http://www.cnblogs.com/charlotte77/p/5629865.html
http://blog.csdn.net/shenxiaoming77/article/details/50392709
https://baike.baidu.com/item/BP%E7%A5%9E%E7%BB%8F%E7%BD%91%E7%BB%9C/4581827?fr=aladdin
http://blog.csdn.net/acdreamers/article/details/44657439
http://blog.csdn.net/u013007900/article/details/50118945