Matlab神經(jīng)網(wǎng)絡(luò)-1.ppt_第1頁
Matlab神經(jīng)網(wǎng)絡(luò)-1.ppt_第2頁
Matlab神經(jīng)網(wǎng)絡(luò)-1.ppt_第3頁
Matlab神經(jīng)網(wǎng)絡(luò)-1.ppt_第4頁
Matlab神經(jīng)網(wǎng)絡(luò)-1.ppt_第5頁
免費預(yù)覽已結(jié)束,剩余23頁可下載查看

下載本文檔

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

文檔簡介

1、1,第三部分神經(jīng)網(wǎng)絡(luò)與應(yīng)用 MATLAB神經(jīng)網(wǎng)絡(luò)工具箱應(yīng)用,武漢大學(xué)動機學(xué)院 2005.2,隨著Matlab版本的提高,其相應(yīng)的神經(jīng)網(wǎng)絡(luò)工具箱的版本也相應(yīng)的提高了。本課程主要以Matlab6.5作為講解對象,對應(yīng)的神經(jīng)網(wǎng)絡(luò)工具箱為NN Tool box4.0,其內(nèi)容非常豐富,涵蓋了很多現(xiàn)有的神經(jīng)網(wǎng)絡(luò)模型: 感知器網(wǎng)絡(luò) (Perceptron network); 線性神經(jīng)網(wǎng)絡(luò) (Linear network); BP網(wǎng)絡(luò) (Back propagation network, 簡稱BP網(wǎng)絡(luò)); 徑向基函數(shù)網(wǎng)絡(luò) (Radial Basis Function network,簡稱RBF網(wǎng)絡(luò)); 反饋網(wǎng)

2、絡(luò) (Recurrent Network): Hopfield網(wǎng)絡(luò)和Elman網(wǎng)絡(luò); 自組織網(wǎng)絡(luò) (Self-organizing network); 神經(jīng)網(wǎng)絡(luò)工具箱提供了很多經(jīng)典的學(xué)習(xí)算法,使用它能夠快速實現(xiàn)對實際問題的建模求解。由于其編程簡單,給使用者節(jié)省了大量的編程時間,使其能夠把更多的精力投入到網(wǎng)絡(luò)設(shè)計而不是具體程序?qū)崿F(xiàn)上。下面逐步介紹神經(jīng)網(wǎng)絡(luò)在Matlab語言環(huán)境下的設(shè)計應(yīng)用,以及神經(jīng)網(wǎng)絡(luò)工具箱的使用試驗等。,1.感知器(Perceptron),感知器是最早提出的一種神經(jīng)網(wǎng)絡(luò)模型,是一個具有單層神經(jīng)元 的網(wǎng)絡(luò)。網(wǎng)絡(luò)的激活函數(shù)是線性閾值單元,1957年由美國學(xué)者羅森布拉特 (F.Ros

3、enblatt)提出,目的就是為了模擬人類大腦的感知和學(xué)習(xí)能力。,盡管這種方法有一定的局限性,但這種神經(jīng)網(wǎng)絡(luò)模型的出現(xiàn)對早期神經(jīng)網(wǎng)絡(luò)的研究,以及后來許多神經(jīng)網(wǎng)絡(luò)的出現(xiàn)產(chǎn)生了極大的影響。目前來看,它仍然是一種很有用的神經(jīng)網(wǎng)絡(luò)模型,尤其適用于簡單的模式分類問題。 FRosenblatt已經(jīng)證明,如果兩類模式是線性可分的(只存在一個超平面將它們分 開),則算法一定足收斂的。,1.1 感知器神經(jīng)網(wǎng)絡(luò)模型結(jié)構(gòu),1.2 生成網(wǎng)絡(luò),應(yīng)用函數(shù) newp() 可以生成一個感知器網(wǎng)絡(luò),調(diào)用方式如下: net=newp (PR , S) 其中輸入量PR為一個R*2階矩陣,每行表示輸入元素得最大值和最小值;S為神經(jīng)元

4、得數(shù)目。,1.3 網(wǎng)絡(luò)仿真,應(yīng)用函數(shù) sim() 可以對生成的感知器網(wǎng)絡(luò)進行仿真,即給定確定輸入p,求輸出a: a1=sim (net , p1) 其中net為一個已經(jīng)生成的感知器網(wǎng)絡(luò),p1為R*1輸入列向量,a1為S*1輸出向量。,1.4 網(wǎng)絡(luò)初始化,應(yīng)用函數(shù) init() 可以對生成的感知器網(wǎng)絡(luò)進行閾值和權(quán)值進行初始化。主要作用是將神經(jīng)網(wǎng)絡(luò)的閾值和權(quán)值復(fù)原回生成時的初始值: net=init (net) ;,1.5 網(wǎng)絡(luò)訓(xùn)練,對感知器網(wǎng)絡(luò)進行訓(xùn)練通常有兩種方法。一種是用反復(fù)應(yīng)用sim()和learnp()調(diào)整網(wǎng)絡(luò)的閾值和權(quán)值。另一種是直接使用函數(shù)train()或adapt(),其調(diào)用格式如

5、下: net=train(net, p, t)或net=adapt(net, p, t) 它可以自動更改網(wǎng)絡(luò)的權(quán)值和閾值,以滿足誤差的要求。,1.6 應(yīng)用舉例,設(shè)計一2輸入感知器神經(jīng)網(wǎng)絡(luò),將4個輸入向量分為兩類。5個輸入向量都是兩維向量,定義為P,以向量T表示對應(yīng)的期望輸出。 P=-0.5 -0.5 +0.5 -0.1; -0.5 +0.5 -0.5 +1.0; T=1 1 0 0; plotpv(P, T) % PLOTPV: Plot perceptron input/target vectors. hold on;,+ 表示與期望值1對應(yīng)的輸入量。 O 表示與期望值0對應(yīng)的輸入量。,1)

6、. 構(gòu)建初始網(wǎng)絡(luò),net=newp(-1 1;-1 1,1);,2). 網(wǎng)絡(luò)訓(xùn)練 net.adaptParam.passes=3; net=adapt(net,P,T); % PLOTPC Plot a classification line on a perceptron vector plot. plotpc(net.IW1,net.b1) hold on; %見下頁圖,3). 仿真 p=0.7;1.2; a=sim(net,p); plotpv(p,a); hold on; %見下頁圖,(0.7,1.2),由此可見,感知器網(wǎng)絡(luò)能夠做到對輸入向量進行正確分類,同時驗證了網(wǎng)絡(luò)的可行性。,問題

7、: 輸入奇異樣本對網(wǎng)絡(luò)訓(xùn)練的影響。假定仍然使用二輸入單神經(jīng)元的感知器網(wǎng)絡(luò),所不同的是網(wǎng)絡(luò)輸入樣本中存在奇異樣本(即輸入向量有遠遠大于其他所有的輸入向量),這樣訓(xùn)練過程會耗費很長時間。(見下頁圖) 線性不可分輸入量。單層感知器的一個致命的弱點就是輸入向量必須是線性可分的。如果輸入向量線性可分,感知器可給出正確的分類結(jié)果。而對于線性不可分的輸入向量,感知器就不能對輸入向量進行正確分類。(見下下頁圖),線性神經(jīng)網(wǎng)絡(luò)是最簡單的一種神經(jīng)網(wǎng)絡(luò),可以由一個或者多個線性神經(jīng)元組成。與感知器神經(jīng)網(wǎng)絡(luò)不同的是,線性神經(jīng)網(wǎng)絡(luò)的神經(jīng)元傳遞函數(shù)是線性函數(shù),因此線性神經(jīng)網(wǎng)絡(luò)的 輸出可以取任意值,而感知器神經(jīng)網(wǎng)絡(luò)的輸出只能

8、是0或1。對于線性神經(jīng)網(wǎng)絡(luò),需要一系列給定的輸入向量和相應(yīng)的期望輸出向量,每個輸入都有一個網(wǎng)絡(luò)輸出與之對應(yīng)。參照輸出量和期望輸出的差別,調(diào)整網(wǎng)絡(luò)權(quán)值和閾值,使得訓(xùn)練誤差的平方和最小或者小于一定值。,2. 線性神經(jīng)網(wǎng)絡(luò)(Linear network),線性神經(jīng)網(wǎng)絡(luò)采用Widrow-Hoff學(xué)習(xí)規(guī)則,稱為LMS(Least Mean Square)算法。線性神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)算法比感知器網(wǎng)絡(luò)的學(xué)習(xí)算法,在收斂速度和精度上面都有了較大的提高。,線性神經(jīng)網(wǎng)絡(luò)主要用于函數(shù)逼近、預(yù)測、信號處理濾波、模式識別和控制等方面。,2.1 線性神經(jīng)網(wǎng)絡(luò)模型結(jié)構(gòu),線性傳遞函數(shù),線性神經(jīng)元模型,線性神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),線性神經(jīng)元

9、模型如上圖所示,其中R為輸入向量元素的數(shù)目。從網(wǎng)絡(luò)結(jié)構(gòu)上看,和感知器神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)類似,不同的是神經(jīng)元的傳遞函數(shù)是線性傳遞函數(shù)purelin()。,由于線性神經(jīng)網(wǎng)絡(luò)中神經(jīng)元的傳遞函數(shù)為線性函數(shù),其輸入輸出之間是簡單的比例關(guān)系。單個線性神經(jīng)元可以通過下式計算: a=purelin(n)=purelin(Wp+b)= Wp+b,上圖中也給出一個具有R個輸入,S個神經(jīng)元的單層線性神經(jīng)元網(wǎng)絡(luò)的兩種形式,輸出向量數(shù)目和神經(jīng)元數(shù)目相等,也是S個。權(quán)值矩陣為為w,閾值為b,這種 網(wǎng)絡(luò)也稱為Madaline網(wǎng)絡(luò)。,這里介紹的是單層線性神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),它和多層線性神經(jīng)網(wǎng)絡(luò)一樣有用。因為對于每一個多層線性神經(jīng)網(wǎng)絡(luò)而言

10、,都可以設(shè)計出一個性能相當(dāng)?shù)膯螌泳€性神經(jīng)網(wǎng)絡(luò)。,2.2 網(wǎng)絡(luò)生成和仿真,應(yīng)用newlin()可以構(gòu)造一個線性神經(jīng)元網(wǎng)絡(luò),調(diào)用方式如下: net=newlin (PR , S) 其中輸入量PR為一個R*2階矩陣,每行表示輸入元素得最大值和最小值;S為神經(jīng)元得數(shù)目。網(wǎng)絡(luò)權(quán)值和閾值在神經(jīng)網(wǎng)絡(luò)創(chuàng)建時,初值自動設(shè)為0。,2.3 線性神經(jīng)網(wǎng)絡(luò)設(shè)計,與感知器網(wǎng)絡(luò)進行仿真的方法類似,應(yīng)用函數(shù) sim() 可以對生成的線性神經(jīng)網(wǎng)絡(luò)進行仿真,即給定確定輸入p,求輸出a: a1=sim (net , p1) 其中net為一個已經(jīng)生成的感知器網(wǎng)絡(luò),p1為R*1輸入列向量,a1為S*1輸出向量。,不同于其他網(wǎng)絡(luò)結(jié)構(gòu),如

11、果輸人和期望輸出已知,線性神經(jīng)網(wǎng)絡(luò)可以直接設(shè)計,應(yīng)用newlind()可以設(shè)計出特定的神經(jīng)網(wǎng)絡(luò),其權(quán)值和閾值能夠保證均方差最小。,調(diào)用方式如下: net=newlind (P , T) 其中輸入量P和T為輸入和期望輸出。 例: 假定輸入和期望輸出為: P=1 2 3; % 輸入 T=2.0 4.1 5.9;% 期望輸出 net=newlind(P,T)% 設(shè)計網(wǎng)絡(luò) Y=sim(net,P) % 驗證網(wǎng)絡(luò)的性能 Y= 2.0500 4.0000 5.9500,2.4 應(yīng)用舉例,2.4.1 應(yīng)用線性網(wǎng)絡(luò)進行預(yù)測,1)問題的提出 設(shè)計一個線性網(wǎng)絡(luò),要求在每一個時間步長內(nèi),線性網(wǎng)絡(luò)通過保留信號T前5次

12、值,并能夠預(yù)測出下一步的值。這樣,網(wǎng)絡(luò)的輸入信號P為信號T的前5次值,由信號T的延遲處理得到。 假設(shè)信號T,持續(xù)時間為5S,采樣頻率為40次/S,則信號輸入為: % 確定輸入信號: time=0:0.025:5;% 確定時間向量 T= sin(time*4*pi);% 正弦信號,f=2Hz, =2*pi*f Q=length(T); % 求T的前5次值作為網(wǎng)絡(luò)的輸入: P= zeros(5,Q);% 形成5*Q輸入矩陣 P(1,2:Q)=T(1,1:(Q-1); % 輸入向量的第一行,P(2,3:Q)=T(1,1:(Q-2); % 輸入向量的第二行 P(3,4:Q)=T(1,1:(Q-3);

13、% 輸入向量的第三行 P(4,5:Q)=T(1,1:(Q-4); % 輸入向量的第四行 P(5,6:Q)=T(1,1:(Q-5); % 輸入向量的第五行 % 繪制信號T的曲線 plot(time,T); xlabel(時間); ylabel(目標(biāo)信號); title(待預(yù)測信號); 2). 網(wǎng)絡(luò)設(shè)計 網(wǎng)絡(luò)有5個輸入信號(過去值)和1個輸出信號(預(yù)測值),故采用有5個輸入的單個線性神經(jīng)元網(wǎng)絡(luò),網(wǎng)絡(luò)結(jié)構(gòu)如下頁圖所示。應(yīng)用newlind()函數(shù)來設(shè)計這個網(wǎng)絡(luò),即可得到網(wǎng)絡(luò)的權(quán)值和閾值,并且達到最小均方差。,% 設(shè)計網(wǎng)絡(luò) net=newlind(P,T);% 獲得5輸入線性神經(jīng)網(wǎng)絡(luò) 3). 網(wǎng)絡(luò)測試,

14、將上述5個延遲信號作為輸入量,應(yīng)用sim()函數(shù)求出相應(yīng)的網(wǎng)絡(luò)輸出a,然后將。與信號目標(biāo)值t進行比較,結(jié)果如下圖所示。同時計算-出預(yù)算誤差,結(jié)果也示于圖中。 a=sim(net, P); figure(1); plot(time, a, time, T, +); xlabel(時間); ylabel( 輸出 - 目標(biāo) + ); title(輸出信號和目標(biāo)信號); figure(2); e=T- a; plot(time, e); xlabel(時間); ylable(誤差); title(誤差信號);,從上面預(yù)測誤差曲線中可以看出,在最初的幾步計算中,網(wǎng)絡(luò)的預(yù)測誤差很大。這是因為此時網(wǎng)絡(luò)還沒有

15、產(chǎn)生信號的5次延遲值,5步計算以后才真正產(chǎn)生輸入信號,因此難免出現(xiàn)初始誤差。第5步以后,預(yù)測誤差很快下降。由此可見,線性網(wǎng)絡(luò)對于線性時間序列的預(yù)測問題是有實用價值的。,4). 結(jié)論 對于非線性系統(tǒng),newlind()函數(shù)無法達到零誤差,只能將均方差降到最小。但是通過增加延遲信號量,可以降低由模型非線性帶來的預(yù)測誤差,這樣使得線性網(wǎng)絡(luò)在許多情況下也能應(yīng)用于非線性系統(tǒng)。當(dāng)然,如果系統(tǒng)的非線性程度較強,或者期望精度較高,則不適宜用線性網(wǎng)絡(luò)解決??刹捎肂P網(wǎng)絡(luò)或者徑向基網(wǎng)絡(luò)。,2.4.2 線性系統(tǒng)辨識,線性網(wǎng)絡(luò)可以用于對實際系統(tǒng)建模。如果實際系統(tǒng)是線性的或者接近線性的,則線性系統(tǒng)辨識誤差會很小。 1)

16、 問題提出 構(gòu)造輸入信號X周期為5S,采樣周期為25mS。信號X為: time=0:0.025:5; X=sin(sin(time).*time*10);% x=sin(sint)*t*10,繪制信號X隨時間變化的曲線如下圖所示。 plot(time,X); xlabel(時間); Ylabel(輸入信號); Title(系統(tǒng)輸入信號);,取網(wǎng)絡(luò)輸入是輸入信號X當(dāng)前值和前兩次的值。 Q= size (X, 2); P= zeros(3, Q); P(1,1:Q)=X (1,1:Q); P(2,2:Q)=X (1,1:(Q-1); P(3,3:Q)=X (1,1:(Q-2); 如果系統(tǒng)輸出可測,則系統(tǒng)輸出的測量只可由下列語句得到: % 求系統(tǒng)1*y(n) = b(1)*x(n) + b(2)*x(n-1) + b(3)*x(n-2) 的響應(yīng) T=filter(1 0.5 -1.5,1,X); % 繪制輸出響應(yīng)曲線 plot (time, T); xlabel(時間); ylabel(輸出信號); title(系統(tǒng)輸出信號); 系統(tǒng)輸出響應(yīng)曲線如下頁示:,2) 網(wǎng)絡(luò)設(shè)計 網(wǎng)絡(luò)具有三個輸入和一個輸出,應(yīng)用newlind()函數(shù)生成線性網(wǎng)絡(luò): net=newlind(

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論