基于BP神經(jīng)網(wǎng)絡(luò)的曲線擬合(共8頁)_第1頁
基于BP神經(jīng)網(wǎng)絡(luò)的曲線擬合(共8頁)_第2頁
基于BP神經(jīng)網(wǎng)絡(luò)的曲線擬合(共8頁)_第3頁
基于BP神經(jīng)網(wǎng)絡(luò)的曲線擬合(共8頁)_第4頁
基于BP神經(jīng)網(wǎng)絡(luò)的曲線擬合(共8頁)_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、神經(jīng)網(wǎng)絡(luò)實驗報告基于(jy)BP網(wǎng)絡(luò)的曲線擬合學(xué) 院: 控制(kngzh)學(xué)院 姓 名: 李嘉頔 學(xué) 號: 09423021 2015年6月一、實驗(shyn)目的 = 1 * GB2 * MERGEFORMAT 掌握BP神經(jīng)網(wǎng)絡(luò)的權(quán)值修改(xigi)規(guī)則 = 2 * GB2 * MERGEFORMAT 利用(lyng)BP網(wǎng)絡(luò)修改權(quán)值對y=sin(x)曲線(qxin)實現(xiàn)擬合二、實驗要求人工神經(jīng)網(wǎng)絡(luò)是近年來發(fā)展起來的模擬人腦生物過程的人工智能技術(shù),具有自學(xué)習(xí)、自組織、自適應(yīng)和很強(qiáng)的非線性映射能力。在人工神經(jīng)網(wǎng)絡(luò)的實際應(yīng)用中,常采用BP神經(jīng)網(wǎng)絡(luò)或它的變化形式,BP神經(jīng)網(wǎng)絡(luò)是一種多層神經(jīng)網(wǎng)絡(luò),因

2、采用BP算法而得名,主要應(yīng)用于模式識別和分類、函數(shù)逼近、數(shù)據(jù)壓縮等領(lǐng)域。BP網(wǎng)絡(luò)是一種多層前饋神經(jīng)網(wǎng)絡(luò),由輸入層、隱層和輸出層組成。層與層之間采用全互連方式,同一層之間不存在相互連接,隱層可以有一個或多個。BP算法的學(xué)習(xí)過程由前向計算過程和誤差反向傳播過程組成,在前向計算過程中,輸入信息從輸入層經(jīng)隱層逐層計算,并傳向輸出層,每層神經(jīng)元的狀態(tài)只影響下一層神經(jīng)元的狀態(tài)。如輸出層不能得到期望的輸出,則轉(zhuǎn)入誤差反向傳播過程,誤差信號沿原來的連接通路返回,通過修改各層的神經(jīng)元的權(quán)值,使得網(wǎng)絡(luò)系統(tǒng)誤差最小,最終實現(xiàn)網(wǎng)絡(luò)的實際輸出與各自所對應(yīng)的期望輸出逼近。三、實驗內(nèi)容 3.1 訓(xùn)練數(shù)據(jù)導(dǎo)入要對BP網(wǎng)絡(luò)進(jìn)行

3、訓(xùn)練,必須準(zhǔn)備訓(xùn)練樣本。對樣本數(shù)據(jù)的獲取,可以通過用元素列表直接輸入、創(chuàng)建數(shù)據(jù)文件,從數(shù)據(jù)文件中讀取等方式,具體采用哪種方法,取決于數(shù)據(jù)的多少,數(shù)據(jù)文件的格式等。本文采用直接輸入100個樣本數(shù)據(jù)的方式,同時采用歸一化處理,可以加快網(wǎng)絡(luò)的訓(xùn)練速度。將輸入x和輸出y都變?yōu)?1到1之間的數(shù)據(jù),歸一化后的訓(xùn)練樣本如下圖: 3.2 網(wǎng)絡(luò)(wnglu)初始化根據(jù)系統(tǒng)輸入輸出序列,確定網(wǎng)絡(luò)輸入層節(jié)點數(shù)為1,隱含(yn hn)層節(jié)點數(shù)H為20,輸出層節(jié)點數(shù)為1。初始化輸入層、隱含層和輸出層神經(jīng)元之間的連接權(quán)值,初始化隱含(yn hn)層閾值,輸出層閾值,給定學(xué)習(xí)速率,和,給定算法迭代次數(shù)inum和最大可接受誤

4、差error,同時給定神經(jīng)元激勵函數(shù)sigmoid。 3.3 前向輸出計算根據(jù)輸入變量x,輸入層和隱含層間連接權(quán)值和隱含層閾值,計算隱含層輸出P: 其中n為輸入層節(jié)點數(shù),本實驗中取1;l為隱含層節(jié)點數(shù),本實驗中取20;f為隱含層激勵函數(shù),該函數(shù)可設(shè)置為多種形式,本實驗中所選函數(shù)為:根據(jù)隱含層輸出P,隱含層和輸出層間連接權(quán)值和輸出層閾值,計算BP神經(jīng)網(wǎng)絡(luò)預(yù)測輸出: 其中m為輸出層節(jié)點數(shù),本實驗中取1。 3.4 權(quán)值修正根據(jù)網(wǎng)絡(luò)預(yù)測輸入Q和期望輸出y,計算網(wǎng)絡(luò)預(yù)測誤差e:BP神經(jīng)網(wǎng)絡(luò)采用梯度修正法作為權(quán)值和閾值的學(xué)習(xí)算法,從網(wǎng)絡(luò)預(yù)測誤差的負(fù)梯度方向修正權(quán)值和閾值。在本實驗采用的sigmoid激勵函

5、數(shù)下,隱含層和輸出層間連接權(quán)值和輸出層閾值更新公式為: 輸入層和隱含層間連接權(quán)值和輸出層閾值更新公式為: 通過是否達(dá)到迭代次數(shù)或者(huzh)錯誤率是否在可接受范圍內(nèi)來判斷算法迭代是否結(jié)束,若沒有結(jié)束,則繼續(xù)迭代。四、實驗(shyn)步驟和結(jié)果 3.1 數(shù)據(jù)(shj)輸入和歸一化%function x,y,y1,Error=BPnet(t)%清空環(huán)境變量clc;clear; num=1;%要擬合的曲線試舉例for i=0.01*pi:0.02*pi:2*pi%訓(xùn)練樣本 x(num)=i;%輸入數(shù)據(jù) y(num)=sin(x(num);%期望輸出 num=num+1;end num1=size(

6、x,2);max_x=max(x);%訓(xùn)練樣本歸一化max_y=max(y);min_x=min(x);min_y=min(y);% 最大最小法(歸一化)for i=1:num1 x(i)=2*(x(i)-min_x)/(max_x-min_x)-1; y(i)=2*(y(i)-min_y)/(max_y-min_y)-1;end 3.2 網(wǎng)絡(luò)結(jié)構(gòu)初始化H=20;%隱含層神經(jīng)元個數(shù)w=2*rand(1,H)-1;%初始化隱層權(quán)值v=2*rand(1,H)-1;%初始化輸出層權(quán)值t0=2*rand(1,H)-1;%隱層閾值t1=2*rand(1,1)-1;%輸出層閾值 a0=0.4;a1=0.3

7、;u=1;%步長error=0.0001;err=error; %可接受誤差 inum=1;y1=zeros(1,100); 3.3 BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練while inum=error ii=randperm(length(x); y2=y(ii); x2=x(ii);%打亂樣本(yngbn)順序 err=0; for m=1:100 d=y2(m); %給定(i dn)輸出 for i=1:H p(i)=w(i)*x2(m)+t0(i); P(i)=logsig(p(i).*u); end q1=0; for j=1:H q(j)=P(j)*v(j); q1=q1+q(j); end q2=q

8、1+t1;%輸出(shch) % if m=100 Q=q2;%Q=tanh(q2.*u); %輸出層輸出 %Q=2*logsig(q2.*u)-1;%輸出層也可用sigmoid做激勵函數(shù)% else% Q=-logsig(q2.*u);% end y1(m)=Q; e=(d-Q).2/2;%誤差平方函數(shù) err=err+e; c1=(d-Q)*u; %c1=2*(d-Q)*Q*(1-Q)*u; for n=1:H d1(n)=c1*P(n); v1(n)=v(n)+a1*d1(n); end t1=t1+a1*c1;%對輸出層的每一個權(quán)值修正 for r=1:H d0(r)=c1*v(r)*

9、(1-P(r)*x2(m)*P(r); w1(r)=w(r)+a0*d0(r); t0(r)=t0(r)+a0*c1*v(r)*(1-P(r)*P(r);%對隱層的每一個權(quán)值修正 end w=w1; v=v1; end err=err/100; erro(inum)=err; inum=inum+1;end 3.4 BP神經(jīng)網(wǎng)絡(luò)預(yù)測(yc)num=1;for i=0.02*pi:0.02*pi:2*pi%預(yù)測(yc)樣本(yngbn) z(num)=i; z1(num)=i; num=num+1;end num1=size(z,2);max_z=max(z);%預(yù)測樣本歸一化min_z=min

10、(z);% 最大最小法(歸一化)for i=1:num1 z(i)=2*(z(i)-min_z)/(max_z-min_z)-1;end for m=1:100 for i=1:H p(i)=w(i)*z(m)+t0(i); P(i)=logsig(p(i).*u);%隱含層輸出 end q1=0; for j=1:H q(j)=P(j)*v(j); q1=q1+q(j); end q2=q1+t1; Q=q2;%輸出層輸出 y2(m)=Q;end figure;plot(z,sin(z1),b);%期望輸出hold on;plot(z,y2,r*);%預(yù)測輸出 3.5 BP神經(jīng)網(wǎng)絡(luò)預(yù)測結(jié)果迭代(di di)20次后的預(yù)測結(jié)果如下圖:迭代50次后的預(yù)測(yc)結(jié)果如下圖:迭代100次后的預(yù)測(yc)結(jié)果如下圖:迭代200次后的預(yù)測結(jié)果如下圖: 通過上面四個圖可以看出,隨著迭代次數(shù)的增加,預(yù)測誤差是逐漸減小的,在開始的迭代中,誤差減小較快,最后經(jīng)過規(guī)定次數(shù)的迭代,基本上能將函數(shù)y=sin(x)擬合出來。雖然BP神經(jīng)網(wǎng)絡(luò)具有(jyu)較高的擬合能力,但是預(yù)測結(jié)果仍然存在一定的誤差,基本的BP神經(jīng)網(wǎng)絡(luò)對于一些復(fù)雜

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論