資源描述:
《bp神經(jīng)網(wǎng)絡(luò)地matlab語法》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫。
1、實用標準文案 1.數(shù)據(jù)預(yù)處理???????在訓(xùn)練神經(jīng)網(wǎng)絡(luò)前一般需要對數(shù)據(jù)進行預(yù)處理,一種重要的預(yù)處理手段是歸一化處理。下面簡要介紹歸一化處理的原理與方法。(1)什么是歸一化??數(shù)據(jù)歸一化,就是將數(shù)據(jù)映射到[0,1]或[-1,1]區(qū)間或更小的區(qū)間,比如(0.1,0.9)。(2)為什么要歸一化處理??<1>輸入數(shù)據(jù)的單位不一樣,有些數(shù)據(jù)的范圍可能特別大,導(dǎo)致的結(jié)果是神經(jīng)網(wǎng)絡(luò)收斂慢、訓(xùn)練時間長。<2>數(shù)據(jù)范圍大的輸入在模式分類中的作用可能會偏大,而數(shù)據(jù)范圍小的輸入作用就可能會偏小。<3>由于神經(jīng)網(wǎng)絡(luò)輸出層的激活函數(shù)的值域是有限制的,因此需要
2、將網(wǎng)絡(luò)訓(xùn)練的目標數(shù)據(jù)映射到激活函數(shù)的值域。例如神經(jīng)網(wǎng)絡(luò)的輸出層若采用S形激活函數(shù),由于S形函數(shù)的值域限制在(0,1),也就是說神經(jīng)網(wǎng)絡(luò)的輸出只能限制在(0,1),所以訓(xùn)練數(shù)據(jù)的輸出就要歸一化到[0,1]區(qū)間。<4>S形激活函數(shù)在(0,1)區(qū)間以外區(qū)域很平緩,區(qū)分度太小。例如S形函數(shù)f(X)在參數(shù)a=1時,f(100)與f(5)只相差0.0067。(3)歸一化算法? 一種簡單而快速的歸一化算法是線性轉(zhuǎn)換算法。線性轉(zhuǎn)換算法常見有兩種形式:??????<1>y=(x-min)/(max-min) 其中min為x的最小值,max為x的最大
3、值,輸入向量為x,歸一化后的輸出向量為y。上式將數(shù)據(jù)歸一化到[0,1]區(qū)間,當(dāng)激活函數(shù)采用S形函數(shù)時(值域為(0,1))時這條式子適用。??????<2>y=2*(x-min)/(max-min)-1??????這條公式將數(shù)據(jù)歸一化到[-1,1]區(qū)間。當(dāng)激活函數(shù)采用雙極S形函數(shù)(值域為(-1,1))時這條式子適用。(4)Matlab數(shù)據(jù)歸一化處理函數(shù)? Matlab中歸一化處理數(shù)據(jù)可以采用premnmx,postmnmx,tramnmx這3個函數(shù)。<1>premnmx語法:[pn,minp,maxp,tn,mint,maxt]=pr
4、emnmx(p,t)參數(shù):pn:p矩陣按行歸一化后的矩陣minp,maxp:p矩陣每一行的最小值,最大值文檔實用標準文案tn:t矩陣按行歸一化后的矩陣mint,maxt:t矩陣每一行的最小值,最大值作用:將矩陣p,t歸一化到[-1,1],主要用于歸一化處理訓(xùn)練數(shù)據(jù)集。<2>tramnmx語法:[pn]=tramnmx(p,minp,maxp)參數(shù):minp,maxp:premnmx函數(shù)計算的矩陣的最小,最大值pn:歸一化后的矩陣作用:主要用于歸一化處理待分類的輸入數(shù)據(jù)。<3>postmnmx語法:[p,t]=postmnmx(pn,m
5、inp,maxp,tn,mint,maxt)參數(shù):minp,maxp:premnmx函數(shù)計算的p矩陣每行的最小值,最大值mint,maxt:premnmx函數(shù)計算的t矩陣每行的最小值,最大值作用:將矩陣pn,tn映射回歸一化處理前的范圍。postmnmx函數(shù)主要用于將神經(jīng)網(wǎng)絡(luò)的輸出結(jié)果映射回歸一化前的數(shù)據(jù)范圍。2.使用Matlab實現(xiàn)神經(jīng)網(wǎng)絡(luò)?使用Matlab建立前饋神經(jīng)網(wǎng)絡(luò)主要會使用到下面3個函數(shù):newff:前饋網(wǎng)絡(luò)創(chuàng)建函數(shù)train:訓(xùn)練一個神經(jīng)網(wǎng)絡(luò)sim:使用網(wǎng)絡(luò)進行仿真?下面簡要介紹這3個函數(shù)的用法。(1)newff函數(shù)<1
6、>newff函數(shù)語法???????newff函數(shù)參數(shù)列表有很多的可選參數(shù),具體可以參考Matlab的幫助文檔,這里介紹newff函數(shù)的一種簡單的形式。語法:net=newff(A,B,{C},‘trainFun’)參數(shù):A:一個n×2的矩陣,第i行元素為輸入信號xi的最小值和最大值;B:一個k維行向量,其元素為網(wǎng)絡(luò)中各層節(jié)點數(shù);C:一個k維字符串行向量,每一分量為對應(yīng)層神經(jīng)元的激活函數(shù);trainFun:為學(xué)習(xí)規(guī)則采用的訓(xùn)練算法。表3.1BP網(wǎng)絡(luò)的常用函數(shù)表函數(shù)類型函數(shù)名稱函數(shù)用途前向網(wǎng)絡(luò)創(chuàng)建函數(shù)newcf創(chuàng)建級聯(lián)前向網(wǎng)絡(luò)Newff創(chuàng)
7、建前向BP網(wǎng)絡(luò)logsigS型的對數(shù)函數(shù)文檔實用標準文案傳遞函數(shù)tansigS型的正切函數(shù)purelin純線性函數(shù)學(xué)習(xí)函數(shù)learngd基于梯度下降法的學(xué)習(xí)函數(shù)learngdm梯度下降動量學(xué)習(xí)函數(shù)性能函數(shù)mse均方誤差函數(shù)msereg均方誤差規(guī)范化函數(shù)顯示函數(shù)plotperf繪制網(wǎng)絡(luò)的性能plotes繪制一個單獨神經(jīng)元的誤差曲面plotep繪制權(quán)值和閾值在誤差曲面上的位置errsurf計算單個神經(jīng)元的誤差曲面3.1.1BP網(wǎng)絡(luò)創(chuàng)建函數(shù)1)newff該函數(shù)用于創(chuàng)建一個BP網(wǎng)絡(luò)。調(diào)用格式為:net=newffnet=newff(PR,[S
8、1S2..SN1],{TF1TF2..TFN1},BTF,BLF,PF)其中,net=newff;用于在對話框中創(chuàng)建一個BP網(wǎng)絡(luò)。net為創(chuàng)建的新BP神經(jīng)網(wǎng)絡(luò);PR為網(wǎng)絡(luò)輸入向量取值范圍的矩陣;[S1S2…SNl]表示網(wǎng)