




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、BP 神經(jīng)網(wǎng)絡實例智能控制第一章BP 神經(jīng)網(wǎng)絡基本原理一、 BP 神經(jīng)網(wǎng)絡基本概念1、人工神經(jīng)網(wǎng)絡人工神經(jīng)網(wǎng)絡ANN ( Artificial Neural Network) ,是對人類大腦系統(tǒng)的一階特性的一種描述。簡單地講,它是一個數(shù)學模型,可以用電子線路來實現(xiàn),也可以用計算機程序來模擬,是人工智能研究地一種方法。近年來發(fā)展迅速并逐漸成熟的一種人工智能技術,其來源于對神經(jīng)元細胞的模擬。人工神經(jīng)網(wǎng)絡具有以下三個特點:信息分布表示,運算全局并行與局部操作,信息非線性處理。由于這三個特點,使得由人工神經(jīng)網(wǎng)絡構成的分類器具有強大的數(shù)據(jù)擬和與泛化能力,因而廣泛運用于模式識別與機器學習領域。神經(jīng)網(wǎng)絡模式
2、識別的過程分為兩步:首先是學習過程,通過大量的訓練樣本,對網(wǎng)絡進行訓練,根據(jù)某種學習規(guī)則不斷對連接權值進行調節(jié),然后使網(wǎng)絡具有某種期望的輸出,這種輸出就可以將訓練樣本正確分類到其所屬類別中去,此時可以認為網(wǎng)絡是學習到了輸入數(shù)據(jù)或樣本間的內在規(guī)律。接下來是分類過程,應用前面學習過程所訓練好的權值,對任意送入網(wǎng)絡的樣本進行分類。人工神經(jīng)網(wǎng)絡模型各種各樣,目前已有數(shù)十種。他們從各個角度對生物神經(jīng)系統(tǒng)的不同層次進行了描述和模擬。代表模型有感知機、多層映射BP 網(wǎng)、 RBF網(wǎng)絡、 HoPfiled 模型、 Boit機等等。雖然人工神經(jīng)網(wǎng)絡有很多模型,但按神經(jīng)元的連接方式只有兩種型態(tài):沒有反饋的前向網(wǎng)絡和
3、相互結合型網(wǎng)絡。前向網(wǎng)絡是多層映射網(wǎng)絡,每一層中的神經(jīng)元只接受來自前一層神經(jīng)元的信號,因此信號的傳播是單方向的。BP 網(wǎng)絡是這類網(wǎng)絡中最典型的例子。在相互結合型網(wǎng)絡中,任意兩個神經(jīng)元都可能有連接,因此輸入信號要在網(wǎng)絡中往返傳遞,從某一初態(tài)開始,經(jīng)過若干變化,漸漸趨于某一穩(wěn)定狀態(tài)或進入周期震蕩等其它狀態(tài),這方面典型的網(wǎng)絡有Hopfiled 模型等。2、 BP神經(jīng)網(wǎng)絡BP 算法是利用輸出層的誤差來估計輸出層的直接前導層的誤差,再用這個誤差估計更前一層的誤差。如此下去,就獲得了所有其他各層的誤差估計。這樣就形成了將輸出端表現(xiàn)出的誤差沿著與輸入信號傳送相反的方向逐級向網(wǎng)絡的輸入端傳遞的過程。因此,人們
4、就又將此算法稱為向后傳播算法,簡稱BP 算法。如下圖所示:算法過程為( 1)設置各權值和閾值的初始值w(jil)0 ,j(l)0( l 0,1,., L) 為小隨機數(shù)。( 2)輸入訓練樣本Iq,dq ,對每個樣本進行(3) (5)步。(3)計算各個網(wǎng)絡層的實際輸出x(l)f(s(l)f(w(l)x(l 1)(l)( 4)計算訓練誤差j(l) (dqjx(jl)f(s(jl),輸出層3智能控制nl 1(l) (l )(l 1) (l 1)j f (sj )wkj,隱含層和輸入層k1(5)修正權值和閾值w(jil 1)k 1w(jil)kj(l)xi(l 1)(w(jil)k w(jil)k 1)
5、j(l 1)k 1j(l)kj(l)( j(l)kj(l)k 1)( 6 )當樣本集中的所有樣本都經(jīng)歷了( 3 ) (5)步后,即完成了一個訓練周期Q1m2( Epoch) ,計算性能指標E=Eq ,其中Eqdqjxqj。q12j1(7)如果性能指標滿足精度要求,即E ,那么訓練結束,否則,轉到(2) ,繼續(xù)下一個訓練周期。是小的正數(shù),根據(jù)實際情況而定,例如0.013、流程圖根據(jù) BP 網(wǎng)絡的算法,我們可得流程圖如下。第二章BP 神經(jīng)網(wǎng)絡實例分析一、實例要求1、 f1(x) cos(x), x (0, 2 )取九個點來訓練網(wǎng)絡,然后得出擬合曲線。2、 f2(x) sin(x) ,x (0,2
6、)取適當數(shù)量訓練點來訓練網(wǎng)絡,然后得出擬合曲線3、;x, y ( 10,10)sin x sin y f3 x,yxy取 11*11 個點來訓練網(wǎng)絡,并用21*21 個點測試擬合的曲面。二、計算結果如下1、第一個函數(shù):f1( x)cos(x), x (0, 2 )10.80.60.40.20-0.2-0.4-0.6-0.8-1學習曲線10.80.60.40.20-0.2-0.4-0.6-0.8-1檢驗曲線01234567( 2)學習率為0.2,訓練次數(shù)為 3300時訓練過程如學習曲線所示,圈圈為學習后產生的,折線為標準函數(shù)點連線。檢驗過程如檢驗所示。2)學習率為0.01,訓練次數(shù)為3300時的
7、曲線。1.5-1學習曲線1-0.50.5)(xscoy=001234567xx大時,曲線收斂比較快,可以比較快速達到精度要求。但實際上,學習率超出收斂邊界,反而收斂導致不穩(wěn)定,甚至發(fā)散。2、第二個函數(shù):從函數(shù) 1 可以看出,學習率比較,容易f2(x) sin(x) ,x (0,2 )61)學習率為0.2,樣本點數(shù)為10,學習次數(shù)為5000時的曲線如下:學習曲線1.41.210.40.2)(sxo0.8cy 0.601234567x智能控制1.10.4誤差曲線10.90.80.70.60.535004000 45005000050010001500200025003000訓練次數(shù)2)學習率為0.
8、2,樣本點數(shù)為30,學習次數(shù)為5000時的曲線如下:學習曲線05671234x)x(soc=y1.2檢驗曲線10.80.60.40.2001234567x-0.2但學習時加。從 函 數(shù) 2可 以 看1.4點個數(shù)精度越越多所增誤差曲線1.210.80.60.40.25001000150020002500300035004000450050600訓練次數(shù)0智能控制3、第三個函數(shù)f3 x, y sin x sin y ;x, y ( 10,10)xy學習率為0.1,動量項學習率為0.05,訓練次數(shù)為5000,訓練樣本數(shù)為11*11學習實際輸出150018學習期望輸出檢驗期望輸出誤差曲線S 形函數(shù)%精
9、度要求 %學習率%訓練樣本數(shù) %訓練次數(shù) %檢驗樣本數(shù) %輸入層閾值 %第一層隱含層閾值 %第二層隱含層閾值 %輸出層閾值 %輸入信號為兩個 %第一層隱含層與第二層隱含層的權系數(shù) %第二層隱含層與輸出層的權系數(shù) %符號變量,用于兩個輸入值附:程序源代碼第一個和第二個函數(shù)的程序:%此 BP網(wǎng)絡為兩層隱含層,每個隱含層4 個節(jié)點。輸入輸出各一層%輸入層和輸出層均采用恒等函數(shù),隱含層采用clear all;close all;b=0.01;a=0.2;c=2;Num=30;N=3300;Nj=80;o0=rand(2,1);o1=rand(4,1);o2=rand(4,1);o3=rand(1,1)
10、;w1=rand(4,2);w2=rand(4,4);w3=rand(1,4);syms x y;%fcn=cos(x);fcn=abs(sin(x);x0=0:2*pi/(Num-1):2*pi;y0=0:2*pi/(Num-1):2*pi;x=x0;y=y0;X(1,:)=x0;X(2,:)=y0;yf=eval(fcn);x3=zeros(1,Num);time=0;for j=1:1:Nfor i=1:1:Num%前向計算:s1=w1*X(:,i)-o1;x1=1./(1+exp(-s1);s2=w2*x1-o2;x2=1./(1+exp(-s2);s3=w3*x2-o3;%x3=1.
11、/(1+exp(-s3);x3(i)=s3;%反向計算:% 被學習的函數(shù)%輸入的訓練樣本% 輸出的訓練樣本%第一層隱含層輸出%第二層隱含層輸出%輸出層輸出%e3=(yf(i)-x3)./(exp(s3)+2+exp(-s3);e3=yf(i)-x3(i);e2=(w3)*e3)./(exp(s2)+2+exp(-s2);e1=(w2)*e2)./(exp(s1)+2+exp(-s1);%輸出層誤差%第二層隱含層誤差%第一層隱含層誤差%權值和閾值修正w3=w3+a*e3*(x2);w2=w2+a*e2*(x1); w1=w1+a*e1*(X(:,i); o3=o3-a*e3;o2=o2-a*e2
12、;o1=o1-a*e1;endE(j)=0.5*(yf-x3)*(yf-x3); time=time+1;if E(j)b break%權值修正% 閾值修正%方差%記錄學習次數(shù)endend %檢驗 m=0:2*pi/(Nj-1):2*pi;n=0:2*pi/(Nj-1):2*pi;x=m;y=n;ym=eval(fcn);%期望輸出M(1,:)=x;M(2,:)=y;m3=zeros(1,Nj);for i=1:1:NjS1=w1*M(:,i)-o1;m1=1./(1+exp(-S1);%第一層隱含層輸出S2=w2*m1-o2;m2=1./(1+exp(-S2);%第二層隱含層輸出S3=w3*
13、m2-o3;%m3(i)=1./(1+exp(-S3);%輸出層輸出m3(i)=S3;endfigure(1);plot(m,ym,g- );hold onplot(m,m3, r. ); title( 檢驗曲線 ) ;xlabel(x);ylabel( y=cos(x);figure(2);plot(x0,yf,b- );hold onplot(x0,x3, ro ); title( 學習曲線 ) ;xlabel( x ) ;ylabel( y=cos(x) ) ;k=1:time;figure(3) ;plot(k,E); title( 誤差曲線 ) ;xlabel( 訓練次數(shù) ) ;yl
14、abel( 誤差值 ) ;第三個函數(shù)的程序%此 BP網(wǎng)絡為兩層隱含層,每個隱含層10 個節(jié)點。輸入輸出各一層%輸入層和輸出層均采用恒等函數(shù),隱含層采用S 形函數(shù)clear all;close all;b=0.05;a=0.1;c=0.05;Num=11;N=5000;Nj=21;o0=rand(2,1);o1=rand(10,1);o2=rand(10,1);o3=rand(1,1);w1=rand(10,2);w2=rand(10,10);w3=rand(1,10);o1_before=zeros(4,1);o2_before=zeros(4,1);o3_before=zeros(1,1);
15、w1_before=zeros(4,2);w2_before=zeros(4,4);w3_before=zeros(1,4);o1_next=zeros(4,1);o2_next=zeros(4,1);o3_next=zeros(1,1);w1_next=zeros(4,2);w2_next=zeros(4,4);w3_next=zeros(1,4);x0,y0=meshgrid(-10:20/(Num-1)-0yf=(sin(x0).*sin(y0)./(x0.*y0);%精度要求%學習率%動量項學習率%訓練樣本數(shù)%訓練次數(shù)%檢驗樣本數(shù)%輸入層閾值% 第一層隱含層閾值%第二層隱含層閾值%輸出
16、層閾值% 輸入層與第一層隱含層的權系數(shù)%第一層隱含層與第二層隱含層的權系數(shù)%第二層隱含層與輸出層的權系數(shù)%用于存儲前一次的閾值%用于存儲前一次的權值%用于存儲后一次的閾值%用于存儲后一次的權值.001:10);% 輸入的訓練樣本%被學習的函數(shù)x3=zeros(Num,Num);time=0;E=zeros(1,N);for j=1:1:Nfor i=1:1:Numfor h=1:1:NumX=zeros(2,1);X(1,:)=x0(i,h);X(2,:)=y0(i,h);%前向計算:s1=w1*X-o1;x1=1./(1+exp(-s1);s2=w2*x1-o2;x2=1./(1+exp(-
17、s2);s3=w3*x2-o3;%x3=1./(1+exp(-s3);x3(i,h)=s3;%反向計算:% 第一層隱含層輸出%第二層隱含層輸出%輸出層輸出%e3=(yf(i)-x3)./(exp(s3)+2+exp(-s3);e3=yf(i)-x3(i);e2=(w3)*e3)./(exp(s2)+2+exp(-s2);e1=(w2)*e2)./(exp(s1)+2+exp(-s1);w3_next=w3+a*e3*(x2)+c*(w3-w3_before);w2_next=w2+a*e2*(x1)+c*(w2-w2_before);w1_next=w1+a*e1*X+c*(w1-w1_bef
18、ore);o3_next=o3-a*e3+c*(o3-o3_before);o2_next=o2-a*e2+c*(o2-o2_before);o1_next=o1-a*e1+c*(o1-o1_before);w1_before=w1;w2_before=w2;w3_before=w3;o1_before=o1;o2_before=o2;o3_before=o3;w1=w1_next;w2=w2_next;w3=w3_next;o1=o1_next;o2=o2_next;o3=o3_next;d=yf(i,h);y=x3(i,h);E(j)=E(j)+0.5*(d-y)2);%方差end%輸出層誤差% 第二層隱含層誤差% 第一層隱含層誤差%權值修正%閾值修正endtime=time+1;% 記錄學習次數(shù)if E(j)bbreakendend%檢驗m,n=meshgrid(-10:(20/(Nj-1)-0.001):10);ym=(sin(m).*sin(n)./(m.*n);m3=zeros(Nj,Nj);for i=1:1:Njfor j=1:1:NjM=zeros(2,1);M(1,:)=m(i,j);M(2,:)=n(i,j);S1=w1*M-o1;m1=1./(1+exp(-S1);S2=w2*m1-o2;m2=1./(1+exp(-S2);S3=
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 時尚潮流商場鞋帽區(qū)品牌聯(lián)合營銷協(xié)議
- 餐飲學員合同協(xié)議書
- 鐵路周圍安全協(xié)議書
- 車輛承包保管協(xié)議書
- 酒店銷售bd協(xié)議書
- 香煙飲料轉讓協(xié)議書
- 東營聯(lián)通5g協(xié)議書
- 首鋼礦業(yè)崗位協(xié)議書
- 閑置花卉轉讓協(xié)議書
- 農業(yè)灌溉放水員協(xié)議書
- 2024-2025學年部編版一年級下學期期末語文試卷(含答案)
- (二模)保定市2025年高三第二次模擬考試地理試卷(含答案解析)
- 應用文寫作-介紹智能校園圖書館的英文發(fā)言稿+講義-2025屆吉林省長春市高三下學期質量監(jiān)測(三)英語試題
- 完整的離婚協(xié)議書打印電子版(2025年版)
- 2025年CSCO胃癌診療指南更新要點解讀
- 去極端化教育宣講
- 【MOOC】電工電子學-浙江大學 中國大學慕課MOOC答案
- 2024-2025學年中職數(shù)學基礎模塊 下冊高教版(2021·十四五)教學設計合集
- 創(chuàng)新工程實踐智慧樹知到期末考試答案章節(jié)答案2024年北京大學等跨校共建
- MOOC 跨文化交際入門-華中師范大學 中國大學慕課答案
- 小小科學家《生物》模擬試卷A(附答案)
評論
0/150
提交評論