資源描述:
《《神經(jīng)網(wǎng)絡(luò)bp算法》ppt課件》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、第7章7.2典型神經(jīng)網(wǎng)絡(luò)--BP反向傳播網(wǎng)絡(luò)Back—PropagationNetwork,由于其權(quán)值的調(diào)整采用反向傳播(Backpropagation)的學(xué)習(xí)算法,因此被稱為BP網(wǎng)絡(luò)。BP網(wǎng)絡(luò)是一種單向傳播的多層前向網(wǎng)絡(luò)其神經(jīng)元的變換函數(shù)是S型函數(shù),因此輸出量為0到1之間的連續(xù)量它可以對非線性可微分函數(shù)進(jìn)行權(quán)值訓(xùn)練,從而實(shí)現(xiàn)輸入到輸出的任意的非線性映射。網(wǎng)絡(luò)中心思想是梯度下降法通過梯度搜索技術(shù),使網(wǎng)絡(luò)實(shí)際輸出值與期望輸出值的誤差均方值最小。網(wǎng)絡(luò)的學(xué)習(xí)過程是一種誤差邊向后傳播邊修正權(quán)系數(shù)的過程7.2.2B
2、P網(wǎng)絡(luò)結(jié)構(gòu)BP神經(jīng)網(wǎng)絡(luò)模型結(jié)構(gòu)輸入層隱層輸出層輸入輸出BP網(wǎng)絡(luò)是一種多層前向神經(jīng)網(wǎng)絡(luò)一般分三層:輸入層,隱層,輸出層,也可以有2層或更多個隱層。層與層之間采用全互聯(lián)方式,同一層單元之間不存在相互連接。1)輸入層單元無轉(zhuǎn)換函數(shù),直接接收信號傳給下一層,所以有些書不認(rèn)為輸入層是一個網(wǎng)絡(luò)層。2)在一般情況下,均是在隱含層采用S型激活函數(shù),而輸出層采用線性激活函數(shù)。………………x1x2xny1yp只有當(dāng)希望對網(wǎng)絡(luò)的輸出進(jìn)行限制,如限制在0和1之間,那么則在輸出層包含S型激活函數(shù)BP網(wǎng)絡(luò)特點(diǎn)是多層網(wǎng)絡(luò),包括輸入層、
3、隱層和輸出層層與層之間采用全互連方式,同一層神經(jīng)元之間不連接權(quán)值通過學(xué)習(xí)算法進(jìn)行調(diào)節(jié)神經(jīng)元激發(fā)函數(shù)為S函數(shù)層與層的連接是單向的,信息傳播是雙向的感知機(jī)網(wǎng)絡(luò)利用輸出誤差只能修改最后一層的權(quán)值而BP網(wǎng)絡(luò)實(shí)現(xiàn)了多層學(xué)習(xí),每一層的權(quán)值均可訓(xùn)練學(xué)習(xí)修改。BP學(xué)習(xí)規(guī)則BP算法屬于δ算法,是一種監(jiān)督式的學(xué)習(xí)算法。其主要思想為:對于q個輸入學(xué)習(xí)樣本:P1,P2,……Pq,已知與其對應(yīng)的輸出樣本為:T1,T2,……Tq。學(xué)習(xí)的目的:是用網(wǎng)絡(luò)的實(shí)際輸出A1,A2,……Aq與目標(biāo)矢量T1,T2,……Tq之間的誤差來修改其權(quán)值使
4、Al(l=l,2…,q)與期望的Tl盡可能地接近;即:使網(wǎng)絡(luò)輸出層的誤差平方和達(dá)到最小。BP算法的學(xué)習(xí)過程由正向傳播和反向傳播組成BP算法是由兩部分組成:信息的正向傳遞與誤差的反向傳播。在正向傳播過程中,輸入信息從輸入經(jīng)隱含層逐層計算傳向輸出層,每一層神經(jīng)元的狀態(tài)只影響下一層神經(jīng)元的狀態(tài)。如果在輸出層沒有得到期望的輸出,則計算輸出層的誤差變化值,然后轉(zhuǎn)向反向傳播,通過網(wǎng)絡(luò)將誤差信號沿原來的連接通路反傳回來修改各層神經(jīng)元的權(quán)值直至達(dá)到期望目標(biāo)。BP網(wǎng)絡(luò)用途1)函數(shù)逼近:用輸入矢量和相應(yīng)的輸出矢量訓(xùn)練一個網(wǎng)絡(luò)
5、逼近—個函數(shù);2)模式識別:用一個特定的輸出矢量將它與輸入矢量聯(lián)系起來;3)分類:把輸入矢量以所定義的合適方式進(jìn)行分類;4)數(shù)據(jù)壓縮:減少輸出矢量維數(shù)以便于傳輸或存儲。BP網(wǎng)絡(luò)的逼近用于逼近的BP網(wǎng)絡(luò)前向傳播:計算網(wǎng)絡(luò)輸出輸出層輸出隱層輸出采用S函數(shù)隱層輸入:BP網(wǎng)絡(luò)逼近仿真Chap7_1.m設(shè)計的網(wǎng)絡(luò)結(jié)構(gòu)為2-6-1;權(quán)值w1,w2的初值取[-1,+1]之間的隨機(jī)值,取初始化加輸入和期望輸出計算隱層和輸出層的輸出迭代次數(shù)加1調(diào)節(jié)輸出層和隱層的連接權(quán)值改變訓(xùn)練樣板訓(xùn)練樣終止?迭代終止?BP算法的基本流程N(yùn)
6、oNoyyBP網(wǎng)絡(luò)模式識別一、由于神經(jīng)網(wǎng)絡(luò)具有自學(xué)習(xí)、自組織和并行處理等特征,并具有很強(qiáng)的容錯能力和聯(lián)想能力,因此,神經(jīng)網(wǎng)絡(luò)具有模式識別能力。在神經(jīng)網(wǎng)絡(luò)識別中,根據(jù)標(biāo)準(zhǔn)的輸入輸出模式對,采用神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)算法,以標(biāo)準(zhǔn)的模式作為學(xué)習(xí)樣本進(jìn)行訓(xùn)練,通過學(xué)習(xí)調(diào)整神經(jīng)網(wǎng)絡(luò)的連接權(quán)值。當(dāng)訓(xùn)練滿足要求后,得到知識庫,利用神經(jīng)網(wǎng)絡(luò)并行推理算法便可對所需的輸入模式進(jìn)行識別。BP網(wǎng)絡(luò)的訓(xùn)練過程為了訓(xùn)練一個BP網(wǎng)絡(luò),需要計算網(wǎng)絡(luò)加權(quán)輸入矢量以及網(wǎng)絡(luò)輸出和誤差矢量,然后求得誤差平方和。當(dāng)所訓(xùn)練矢量的誤差平方和小于誤差目標(biāo),訓(xùn)練則
7、停止,否則在輸出層計算誤差變化,且采用反向傳播學(xué)習(xí)規(guī)則來調(diào)整權(quán)值,并重復(fù)此過程。當(dāng)網(wǎng)絡(luò)完成訓(xùn)練后,對網(wǎng)絡(luò)輸入一個不是訓(xùn)練集合中的矢量,網(wǎng)絡(luò)將給出輸出結(jié)果。為了能夠較好地掌握BP網(wǎng)絡(luò)的訓(xùn)練過程,我們再用兩層網(wǎng)絡(luò)為例來敘述BP網(wǎng)絡(luò)的訓(xùn)練步驟。1)用小的隨機(jī)數(shù)對每一層的權(quán)值W初始化,以保證網(wǎng)絡(luò)不被大的加權(quán)輸入飽和;2)計算網(wǎng)絡(luò)各層輸出矢量A1和A2以及網(wǎng)絡(luò)誤差E3)計算各層反傳的誤差變化并計算各層權(quán)值的修正值以及新權(quán)值4)再次計算權(quán)值修正后誤差平方和:5)檢查誤差是否小于給定誤差,若是,訓(xùn)練結(jié)束;否則繼續(xù)。以上
8、所有的學(xué)習(xí)規(guī)則與訓(xùn)練的全過程,仍然可以用函數(shù)trainbp.m來完成。它的使用同樣只需要定義有關(guān)參數(shù):顯示間隔次數(shù),最大循環(huán)次數(shù),目標(biāo)誤差,以及學(xué)習(xí)速率,而調(diào)用后返回訓(xùn)練后權(quán)值,循環(huán)總數(shù)和最終誤差:TP=[disp_freqmax_epocherr_goal1r];[W,B,epochs,errors]=trainbp(W,B,’F’,P,T,TP);基于BP算法的多層前饋網(wǎng)絡(luò)用圖像壓縮編碼Ackley和Hinton等人198