亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于BP神經(jīng)網(wǎng)絡(luò)工具箱實(shí)現(xiàn)函數(shù)逼近

        2011-06-06 12:22:16王麗萍
        時(shí)代農(nóng)機(jī) 2011年9期

        王麗萍

        (長安大學(xué),陜西 西安 710054)

        1 BP神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)

        BP神經(jīng)網(wǎng)絡(luò),通常由輸入層、輸出層和隱含層構(gòu)成,相鄰層節(jié)點(diǎn)之間通過權(quán)連接,同層神經(jīng)元之間沒有聯(lián)系,每一層神經(jīng)元的狀態(tài)只影響下一層的神經(jīng)元的輸入和輸出。

        根據(jù)Kolmogorov定理,在隱層使用S形傳輸函數(shù),在輸出層中使用線形傳輸函數(shù)的三層神經(jīng)網(wǎng)絡(luò),幾乎可以以任意精度逼近任何連續(xù)函數(shù),只要隱層中有足夠的單元可用。隱含層節(jié)點(diǎn)數(shù)的選取至今沒有確切的方法和理論,一般情況下根據(jù)學(xué)習(xí)樣本和測(cè)試樣本誤差的學(xué)習(xí)和修改來選取的。通常情況下隱含層神經(jīng)元個(gè)數(shù)太少,網(wǎng)絡(luò)所能獲取的用來解決問題的信息太少;隱含層神經(jīng)元個(gè)數(shù)太多,使得訓(xùn)練時(shí)間增大,不能夠在人們接受的時(shí)間內(nèi)完成訓(xùn)練,更重要是隱含層神經(jīng)元過多,可能引起所謂的“過擬合”現(xiàn)象,即把網(wǎng)絡(luò)訓(xùn)練集里一些無關(guān)緊要、非本質(zhì)的東西也學(xué)會(huì)。一個(gè)典型的3層BP神經(jīng)網(wǎng)絡(luò)模型結(jié)構(gòu)如圖1所示。

        2 BP神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)算法

        BP算法的基本思想是,學(xué)習(xí)過程由信號(hào)的正向傳播與誤差的反向傳播兩個(gè)過程組成。正向傳播時(shí),輸入樣本從輸入層傳入,經(jīng)隱含層處理后,傳向輸出層。若輸出層的實(shí)際輸出與期望的輸出不符,則轉(zhuǎn)入誤差的反向傳播階段。誤差反傳是將輸出誤差以某種形式通過隱層向輸入層逐層反傳將誤差信號(hào)沿原來的神經(jīng)元連接通路返回,返回過程中逐一修改各層神經(jīng)元連接的權(quán)值。

        學(xué)習(xí)步驟如下:

        設(shè)BP網(wǎng)絡(luò)的輸入層、隱含層和輸出層分別有I、J和K個(gè)神經(jīng)元,

        輸入層第i個(gè)神經(jīng)元的輸入和輸入層第i個(gè)神經(jīng)元的輸出分別為:xi和 oi;

        隱含層第j個(gè)神經(jīng)元的輸入:

        圖1 3層BP神經(jīng)網(wǎng)絡(luò)模型結(jié)構(gòu)圖

        式中,wij為輸入層中第i個(gè)神經(jīng)元到隱含層第j個(gè)神經(jīng)元的權(quán)值,θj為隱含層第j個(gè)神經(jīng)元的閾值;

        隱含層第j個(gè)神經(jīng)元的輸出:

        其中g(shù)( )為正切S型傳遞函數(shù);

        式中,wkj為隱含層中第j個(gè)神經(jīng)元到輸出層第k個(gè)神經(jīng)元的權(quán)值,θk為輸出層第k個(gè)神經(jīng)元的閾值;輸出層第k個(gè)神經(jīng)元的輸出:ok=g(netk)=netk(k=1,2,···k),其中 g( )為線性傳輸函數(shù);

        BP網(wǎng)絡(luò)的學(xué)習(xí)過程按使誤差函數(shù)減小最快的方向調(diào)整加權(quán)系數(shù),目標(biāo)是使網(wǎng)絡(luò)輸出與訓(xùn)練樣本的均方誤差最小。

        設(shè)訓(xùn)練樣本為 P 個(gè),輸入向量為 x1,x2,···xp,實(shí)際輸出向量為 o1,o2,···op,期望的輸出向量為 t1,t2,···tp。

        輸出層神經(jīng)元系數(shù)的修正公式:

        △wkj=ηδpkopj=ηopj(tpk-okp)(1-okp)okp

        隱含層權(quán)系數(shù)的調(diào)整:

        η為學(xué)習(xí)率。

        3 MATLAB神經(jīng)網(wǎng)絡(luò)工具箱

        MATLAB神經(jīng)網(wǎng)絡(luò)工具箱以人工神經(jīng)網(wǎng)絡(luò)為基礎(chǔ),根據(jù)自己的需要調(diào)用相關(guān)函數(shù),就可以完成網(wǎng)絡(luò)設(shè)計(jì)、權(quán)值初始化、網(wǎng)絡(luò)訓(xùn)練等,MATLAB神經(jīng)網(wǎng)絡(luò)工具箱包括的網(wǎng)絡(luò)有感知器、線性網(wǎng)絡(luò)、BP神經(jīng)網(wǎng)絡(luò)、徑向基網(wǎng)絡(luò)、自組織網(wǎng)絡(luò)和回歸網(wǎng)絡(luò),BP神經(jīng)網(wǎng)絡(luò)工具箱主要包括newff,sim和train三個(gè)神經(jīng)網(wǎng)絡(luò)函數(shù)。

        (1)newff:BP 神經(jīng)網(wǎng)絡(luò)參數(shù)設(shè)置函數(shù)

        函數(shù)功能:構(gòu)建一個(gè)BP神經(jīng)網(wǎng)絡(luò)。

        函 數(shù) 形 式 :net= newff(P,T,S,TF,BTF,BLF,PF,IPF,OPF,DDF)

        P:輸入數(shù)據(jù)矩陣

        T:輸出數(shù)據(jù)矩陣

        S:隱含層節(jié)點(diǎn)數(shù)

        TF:節(jié)點(diǎn)傳遞函數(shù),包括硬限幅傳遞函數(shù)hardlim,對(duì)稱硬限幅傳遞函數(shù)hardlims,線性傳遞函數(shù)purelin,正切S型傳遞函數(shù)tansig,對(duì)數(shù)S型傳遞函數(shù)logsig

        BTF:訓(xùn)練函數(shù),包括梯度下降BP算法訓(xùn)練函數(shù)traingd,動(dòng)量反傳的梯度下降BP算法訓(xùn)練函數(shù)traingdm,動(dòng)態(tài)自適應(yīng)學(xué)習(xí)率的梯度下降BP算法訓(xùn)練函數(shù)traingda,動(dòng)量反傳和動(dòng)態(tài)自適應(yīng)學(xué)習(xí)率的梯度下降BP算法訓(xùn)練函數(shù)traingdx,Levenberg_Marquardt的BP算法訓(xùn)練函數(shù)trainlm

        BLF:網(wǎng)絡(luò)學(xué)習(xí)函數(shù),包括BP學(xué)習(xí)規(guī)則learngd,帶動(dòng)量項(xiàng)的BP學(xué)習(xí)規(guī)則learngdm

        PF:性能分析函數(shù),包括均值絕對(duì)誤差性能分析函數(shù)mae,均方差性能分析函數(shù)mse

        IPF:輸入處理函數(shù)

        OPF:輸出處理函數(shù)

        DDF:驗(yàn)證數(shù)據(jù)劃分函數(shù)

        一般在使用過程中設(shè)置前六個(gè)參數(shù),后四個(gè)參數(shù)采用系統(tǒng)默認(rèn)參數(shù)。

        (2)train:BP 神經(jīng)網(wǎng)絡(luò)訓(xùn)練函數(shù)

        函數(shù)功能:用訓(xùn)練數(shù)據(jù)訓(xùn)練BP神經(jīng)網(wǎng)絡(luò)。

        函數(shù)形式:[net,tr]=train(NET,X,T,Pi,Ai)

        NET:待訓(xùn)練網(wǎng)絡(luò)

        X:輸入數(shù)據(jù)矩陣

        T:輸出數(shù)據(jù)矩陣

        Pi:初始化輸入層條件

        Ai:初始化輸出層條件

        net:訓(xùn)練好的網(wǎng)絡(luò)

        tr:訓(xùn)練過程記錄

        一般在使用過程中設(shè)置前三個(gè)參數(shù),后兩個(gè)參數(shù)采用系統(tǒng)默認(rèn)參數(shù)。

        (3)sim:BP 神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)函數(shù)

        函數(shù)功能:用訓(xùn)練好的BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)函數(shù)輸出

        函數(shù)形式:y=sim(net,x)

        net:訓(xùn)練好的網(wǎng)絡(luò)

        x:輸入數(shù)據(jù)

        y:網(wǎng)絡(luò)預(yù)測(cè)數(shù)據(jù)

        4 用MATLAB神經(jīng)網(wǎng)絡(luò)工具箱進(jìn)行函數(shù)逼近

        設(shè)要逼近的非線性函數(shù)為:

        y=8+2*exp(1-x.^2).*cos(2*pi*x),-0.4

        (1)網(wǎng)絡(luò)建立:使用net=newff(x,y,20,{'tansig','purelin'},'trainlm','learngdm');語句建立一個(gè)前饋BP神經(jīng)網(wǎng)絡(luò)。該BP神經(jīng)網(wǎng)絡(luò)只含有一個(gè)隱含層,神經(jīng)元的個(gè)數(shù)為20,隱層傳遞函數(shù)tansig,輸出層傳遞函數(shù)purelin,訓(xùn)練函數(shù)為Levenberg_Marquardt的BP算法訓(xùn)練函數(shù)trainlm,網(wǎng)絡(luò)學(xué)習(xí)函數(shù)是帶動(dòng)量項(xiàng)的BP學(xué)習(xí)規(guī)則learngdm。

        (2)網(wǎng)絡(luò)訓(xùn)練:使用net=train(net,x,y);語句訓(xùn)練建立喊的BP神經(jīng)網(wǎng)絡(luò)。在訓(xùn)練網(wǎng)絡(luò)之前設(shè)置好訓(xùn)練參數(shù)。

        用“net.trainParam.epochs=50;net.trainParam.goal=0.01;net.train-Param.lr=0.01;

        net.trainParam.show=10;”語句實(shí)現(xiàn)。其他參數(shù)默認(rèn)。

        (3)網(wǎng)絡(luò)仿真:使用“y1=sim(net,x);y2=sim(net,x);”語句仿真訓(xùn)練前后的BP神經(jīng)網(wǎng)絡(luò)。

        程序1:MATLAB程序源代碼

        x=[-0.4:0.04:3.6];

        y=8+2*exp(1-x.^2).*cos(2*pi*x);

        net=newff(x,y,20,{'tansig','purelin'},'trainlm','learngdm');

        y1=sim(net,x);%未訓(xùn)練前進(jìn)行仿真

        net.trainParam.epochs=50;

        net.trainParam.goal=0.01;

        net.trainParam.lr=0.01;

        net.trainParam.show=10;

        net=train(net,x,y); %訓(xùn)練函數(shù)

        y2=sim(net,x);

        figure(1)

        >>plot(x,y,'-',x,y1,'--',x,y2,'+')

        title('原函數(shù)與網(wǎng)絡(luò)訓(xùn)練前后的仿真結(jié)果比較')

        >>xlabel('x');ylabel('y')

        >>text(2,33,'-原函數(shù)y')

        >>text(2,30,'--未訓(xùn)練網(wǎng)絡(luò)的仿真結(jié)果y1')

        >>text(2,27,'+訓(xùn)練網(wǎng)絡(luò)的仿真結(jié)果y2')

        原函數(shù)與網(wǎng)絡(luò)訓(xùn)練前后的仿真結(jié)果比較

        圖2 原函數(shù)與網(wǎng)絡(luò)訓(xùn)練前后的仿真結(jié)果比較

        圖3 訓(xùn)練誤差

        由程序知直接調(diào)用MATLAB軟件包中的神經(jīng)網(wǎng)絡(luò)工具箱函數(shù)。圖2為原函數(shù)與網(wǎng)絡(luò)訓(xùn)練前后的仿真結(jié)果比較圖。由圖可知,用工具箱函數(shù)建立網(wǎng)絡(luò)時(shí),對(duì)權(quán)值和閾值的初始化是隨機(jī)的,所以未訓(xùn)練網(wǎng)絡(luò)的仿真效果很差,并且每次運(yùn)行結(jié)果也不同。訓(xùn)練后網(wǎng)絡(luò)的仿真輸出曲線和原函數(shù)的曲線非常接近,這說明訓(xùn)練后的網(wǎng)絡(luò)對(duì)非線性函數(shù)的逼近效果很好。網(wǎng)絡(luò)訓(xùn)練過程中誤差隨訓(xùn)練時(shí)間的變化迅速減少,在經(jīng)過4個(gè)單位時(shí)間以后,網(wǎng)絡(luò)的誤差就達(dá)到了逼近要求(圖3)。

        5 結(jié)論

        Matlab軟件包中的BP工具箱函數(shù)在數(shù)學(xué)計(jì)算、圖形計(jì)算、計(jì)算機(jī)仿真等方面為研究和設(shè)計(jì)神經(jīng)網(wǎng)絡(luò)提供了便利的工具,BP神經(jīng)網(wǎng)絡(luò)最強(qiáng)大的應(yīng)用之一就是函數(shù)逼近。BP工具箱函數(shù)克服了計(jì)算機(jī)高級(jí)語言編程的復(fù)雜性問題,語言簡單,調(diào)試方便,程序運(yùn)行效率極高,具有重要的推廣應(yīng)用前景.

        [1]王偉.人工神經(jīng)網(wǎng)絡(luò)原理入門及應(yīng)用[M].北京:北京航空航天大學(xué)出社,1995.

        [2]李國勇.神經(jīng)網(wǎng)絡(luò)控制及其Matlab實(shí)現(xiàn)[M].北京:電子工業(yè)出版社,2005.

        [3]周開利,康耀紅.神經(jīng)網(wǎng)路模型及其Matlab仿真程序設(shè)計(jì)[M].北京:清華大學(xué)出版社,2005.

        [4]飛思科技產(chǎn)品研發(fā)中心.神經(jīng)網(wǎng)絡(luò)理論與Matlab7實(shí)現(xiàn)[M].北京:電子工業(yè)出版社,2005.

        [5]叢爽.面向MATLAB工具箱的神經(jīng)網(wǎng)絡(luò)理論與應(yīng)用[M].合肥:中國科學(xué)技術(shù)大學(xué)出版社,1998.

        [6]聞新,周露,等.Matlab神經(jīng)網(wǎng)絡(luò)應(yīng)用設(shè)計(jì)[M].北京:科學(xué)出版社,2001.

        [7]閔惜琳,劉國華.用MATLAB神經(jīng)網(wǎng)絡(luò)工具箱開發(fā)BP網(wǎng)絡(luò)應(yīng)用[J].計(jì)算機(jī)應(yīng)用,2001,21(8):163-164.

        熟妇熟女乱妇乱女网站| 亚洲av自偷自拍亚洲一区| 精华国产一区二区三区| 精品乱人伦一区二区三区| 欧洲人妻丰满av无码久久不卡| 伊人久久亚洲综合影院首页| 99久久免费精品色老| av天堂最新在线播放| 成年女人粗暴毛片免费观看| 国产成人免费a在线视频| 成在线人免费无码高潮喷水| 久久中文字幕亚洲综合| 欧美老妇多毛xxxxx极瑞视频| 亚洲av日韩av不卡在线观看 | 无码伊人66久久大杳蕉网站谷歌 | 五月天综合社区| 亚洲av高清一区三区三区| 久久精品丝袜高跟鞋| 亚洲欧美一区二区三区| 一区二区三区内射视频在线观看| 久久午夜一区二区三区| 亚洲av无码专区在线| 欧美粗大无套gay| 亚洲色欲色欲大片WWW无码| 大屁股流白浆一区二区三区| av无码国产在线看免费网站| 抽插丰满内射高潮视频| 少妇一级aa一区二区三区片| 国产自拍偷拍视频免费在线观看| 中文字幕久久熟女蜜桃| 欧洲在线一区| 一区二区免费国产a在亚洲| 风韵丰满熟妇啪啪区老老熟妇| 国产日韩精品中文字无码| 天堂av一区二区在线观看| 久久久亚洲av成人乱码| 国产超碰人人做人人爽av大片| 狠狠躁夜夜躁人人爽超碰97香蕉| 亚洲精品国产主播一区二区| 中文字幕乱码亚洲无限码| 熟女熟妇伦av网站|