實驗一感知器網(wǎng)絡(luò)的訓(xùn)練及應(yīng)用_第1頁
實驗一感知器網(wǎng)絡(luò)的訓(xùn)練及應(yīng)用_第2頁
實驗一感知器網(wǎng)絡(luò)的訓(xùn)練及應(yīng)用_第3頁
實驗一感知器網(wǎng)絡(luò)的訓(xùn)練及應(yīng)用_第4頁
實驗一感知器網(wǎng)絡(luò)的訓(xùn)練及應(yīng)用_第5頁
已閱讀5頁,還剩8頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、-. z.智能信息處理技術(shù)基礎(chǔ)實驗報告專業(yè)班級電子信息工程1001班學(xué)生新南學(xué)生*1012140123指導(dǎo)教師周春臨實驗一 感知器網(wǎng)絡(luò)的訓(xùn)練與應(yīng)用一、實驗?zāi)康?、掌握感知器網(wǎng)絡(luò)的根本概念及訓(xùn)練方法;2、掌握感知器網(wǎng)絡(luò)的根本使用;3、掌握利用Matlab對感知器網(wǎng)絡(luò)進展構(gòu)建與實現(xiàn)的方法。二、實驗原理1、感知器網(wǎng)絡(luò)模型1感知器網(wǎng)絡(luò)模型的拓撲構(gòu)造如圖1所示: 2感知器網(wǎng)絡(luò)模型學(xué)習(xí)算法a、初始化:賦予權(quán)值一個較小的隨機值錯誤!未找到引用源。(非零值);b、將第錯誤!未找到引用源。個模式錯誤!未找到引用源。送入輸入神經(jīng)元,并給出理想輸出值錯誤!未找到引用源。;c、計算神經(jīng)元網(wǎng)絡(luò)模型的實際輸出錯誤!未找到

2、引用源。;d、根據(jù)錯誤!未找到引用源。與錯誤!未找到引用源。計算第錯誤!未找到引用源。條連線的權(quán)值增量:e、轉(zhuǎn)b,選取第個樣本,直到學(xué)完所有輸入樣本;f、按式g、假設(shè),轉(zhuǎn)到b,否則完畢。三、實驗容1、利用Matlab對感知器網(wǎng)絡(luò)進展構(gòu)建與實現(xiàn)1Percept1簡單分類問題:設(shè)計單一感知器神經(jīng)元來解決一個簡單的分類問題:將4個輸入向量分為兩類,其中兩個輸入向量對應(yīng)的目標(biāo)值為1,另兩個對應(yīng)的目標(biāo)值為0,輸入向量為:P=-2-0.90.5-0.5;-0.20.8-0.62.0,目標(biāo)向量為:T=1010,源程序如下:P=-2-0.90.5-0.5;-0.20.8-0.62.0;T=1010;plotp

3、v(P,T);pause;net=newp(-11;-11,1);watchon;cla;plotpv(P,T);linehandle=plotpc(net.IW1,net.b1);E=1;net=init(net);linehandle=plotpc(net.IW1,net.b1);while(sse(E)net,Y,E=adapt(net,P,T);linehandle=plotpc(net.IW1,net.b1);drawnow;end;pause;watchoff;p=0;-0.5;a=sim(net,p);plotpv(p,a);ThePoint=findobj(gca,type,l

4、ine);set(ThePoint,Color,red);holdon;plotpv(P,T);plotpc(net.IW1,net.b1);holdoff;disp(Endofpercept1);運行結(jié)果如下列圖所示:Percept2多個感知器神經(jīng)元的分類問題:將上例的輸入向量擴大為10組,將輸入向量分為4類,即輸入向量為:P=0.60.70.90.91.70.00.4-0.7-0.4-1.5;1.61.81.60.70.80.60.50.9-1.0-1.3,目標(biāo)向量為:T=1110011101;0000011111,源程序如下:P=0.60.70.90.91.70.00.4-0.7-0.4

5、-1.5;1.61.81.60.70.80.60.50.9-1.0-1.3;T=1110011101;0000011111;plotpv(P,T);net=newp(-1.51;-1.51,2);figure;watchon;cla;plotpv(P,T);linehandle=plotpc(net.IW1,net.b1);E=1;net=init(net);linehandle=plotpc(net.IW1,net.b1);while(sse(E)net,Y,E=adapt(net,P,T);linehandle=plotpc(net.IW1,net.b1,linehandle);drawn

6、ow;end;watchoff;figure;p=0.7;1.2;a=sim(net,p);plotpv(p,a);ThePoint=findobj(gca,type,line);set(ThePoint,Color,red);holdon;plotpv(P,T);plotpc(net.IW1,net.b1);holdoff;disp(Endofpercept2);運行結(jié)果如下列圖所示:Percept3輸入奇異樣本對網(wǎng)絡(luò)訓(xùn)練的影響當(dāng)網(wǎng)絡(luò)的輸入樣本中存在奇異樣本時即該樣本向量相對其他所有樣本向量特別大或特別小,此時網(wǎng)絡(luò)訓(xùn)練時間將大大增加,如輸入向量為:P=-0.7-0.50.6-0.1-40;-

7、0.60.7-0.51.060,目標(biāo)向量為:T=11011,源程序如下:P=-0.7-0.50.6-0.1-40;-0.60.7-0.51.060;T=11011;plotpv(P,T);net=newp(-401;-150,1);pause;plotpv(P,T);linehandle=plotpc(net.IW1,net.b1);cla;plotpv(P,T);linehandle=plotpc(net.IW1,net.b1);E=1;net.adaptParam.passes=1net=init(net);linehandle=plotpc(net.IW1,net.b1);while(s

8、se(E)net,Y,E=adapt(net,P,T);linehandle=plotpc(net.IW1,net.b1,linehandle);drawnow;end;pause;p=0.7;1.2;a=sim(net,p);plotpv(p,a);ThePoint=findobj(gca,type,line);set(ThePoint,Color,red);holdon;plotpv(P,T);plotpc(net.IW1,net.b1);holdoff;pause;a*is(-22-22);disp(Endofpercept3);運行結(jié)果如下列圖所示:在上述網(wǎng)絡(luò)中由于樣本向量相對其他所有

9、樣本向量特別大或特別小,故網(wǎng)絡(luò)訓(xùn)練時間將大大增加,為解決此問題只需用標(biāo)準化感知器學(xué)習(xí)規(guī)則訓(xùn)練即可大大縮短訓(xùn)練時間。原始感知器學(xué)習(xí)規(guī)則的權(quán)值調(diào)整為:標(biāo)準化感知器學(xué)習(xí)規(guī)則的權(quán)值調(diào)整為:編寫源程序如下:P=-0.6-0.80.5-0.5-40;-0.50.5-0.51.350;T=11001;plotpv(P,T);pause;net=newp(-401;-150,1,hardlim,learnpn);cla;plotpv(P,T);linehandle=plotpc(net.IW1,net.b1);E=1;net.adaptParam.passes=1;net=init(net);linehand

10、le=plotpc(net.IW1,net.b1); while(sse(E)net,Y,E=adapt(net,P,T);linehandle=plotpc(net.IW1,net.b1,linehandle);drawnow;end;pause;p=0.7;1.2;a=sim(net,p);plotpv(p,a);ThePoint=findobj(gca,type,line);set(ThePoint,Color,red);holdon;plotpv(P,T);plotpc(net.IW1,net.b1);holdoff;pause;a*is(-22-22);disp(Endofperce

11、pt4);采用標(biāo)準化感知器學(xué)習(xí)規(guī)則訓(xùn)練的運行結(jié)果如下列圖所示:Percept5線性不可分的輸入向量定義向量,輸入向量為:P=-0.5-0.50.3-0.1-0.8;-0.50.5-0.51.00.0;輸出向量為:T=11000;源程序如下:P=-0.8-0.50.30-0.8;-0.10.5-0.51.00.0;T=11010;plotpv(P,T);net=newp(-11;-11,1);plotpv(P,T);linehandle=plotpc(net.IW1,net.b1);pause;fora=1:25net,Y,E=adapt(net,P,T);linehandle=plotpc(n

12、et.IW1,net.b1,linehandle);drawnow;end;運行結(jié)果如下列圖所示:四、實驗心得單層感知器僅對線性可分問題具有分類能力故具有一定的局限性,由于它的構(gòu)造與功能都比擬簡單,所以在解決實際問題時很少被采用,但在神經(jīng)網(wǎng)絡(luò)中具有重要意義,是研究其他網(wǎng)絡(luò)的根底,而且較容易學(xué)習(xí)和理解,適合與作為學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)的起點。在輸入奇異樣本時,采用標(biāo)準化感知器學(xué)習(xí)規(guī)則訓(xùn)練即可大大縮短訓(xùn)練時間。實驗二BP網(wǎng)絡(luò)的訓(xùn)練與應(yīng)用一 實驗?zāi)康模?.理解基于BP網(wǎng)絡(luò)的多層感知器的工作原理2.通過調(diào)節(jié)算法參數(shù)的了解參數(shù)的變化對BP多層感知器訓(xùn)練的影響3了解BP多層感知器的局限性二 實驗容:1根據(jù)實驗容推導(dǎo)

13、出輸出的計算公式以及誤差的計算公式2使用Matlab編程實現(xiàn)BP多層感知器3調(diào)節(jié)學(xué)習(xí)率及隱結(jié)點的個數(shù),觀察對于不同的學(xué)習(xí)率、不同的隱結(jié)點個數(shù)時算法的收斂速度4改用批處理的方法實驗權(quán)值的收斂,并參加動量項來觀察批處理以及改良的的算法對結(jié)果和收斂速度的影響。三實驗原理以及過程的推導(dǎo)1. 根本BP 算法的多層感知器模型下面所示是一個單輸入單輸出的BP多層感知器的模型,它含有一個隱層。下面對誤差和權(quán)值的調(diào)整過程進展推導(dǎo)對于單樣本的輸入*i則隱層的輸出:yi=f1(netj);netj=(*i*vi)輸出層的輸出:O=f2(net);net=(wi*yi)變換函數(shù):f1=f2=*;當(dāng)網(wǎng)絡(luò)輸出與期望輸出不

14、等時,存在輸出誤差EE=(d-o)2;計算各層的誤差:把誤差分配到各層以調(diào)整各層的權(quán)值,所以,各層權(quán)值的調(diào)整量等于誤差E對各權(quán)值的負偏導(dǎo)與學(xué)習(xí)率的乘積,計算得到對權(quán)值W和權(quán)值V的調(diào)整量如下:將上面的式子展開到隱層得:E=(d-o)2=d- f2(net)= d-f2( )將上式展開到輸入層得:E=(d-o)2=d- f2(net)= d-f2( f1()調(diào)整權(quán)值的原則是使誤差不斷地減小,因此應(yīng)使權(quán)值的調(diào)整量與誤差的梯度下降成正比,即wj=-vj=-計算得到對各權(quán)值的調(diào)整為:wj=*(d(1,p)-o(1,p)*y(1,i)vj= *(d(1,p)-o(1,p)*w(1,i)*y(1,i)*(1

15、-y(1,i)*(1,p)其中P為第P個樣本:四 實驗步驟Step 1 初始化對權(quán)值矩陣W、V 賦隨機數(shù),將樣本模式計數(shù)器p 和訓(xùn)練次數(shù)計數(shù)器q 置于1,誤差E置0,學(xué)習(xí)率設(shè)為01 的小數(shù),網(wǎng)絡(luò)訓(xùn)練后的精度Emin 設(shè)為一個正的小數(shù);Step 2 輸入訓(xùn)練樣本對,計算各層輸出用當(dāng)前樣本*p、dp 對向量數(shù)組*、d 賦值,用下式計算Y 和O 中各分量yi=f1(netj);netj=(*i*vi)O=f2(netj);net=(wi*yi)Step 3 計算網(wǎng)絡(luò)輸出誤差設(shè)共有P 對訓(xùn)練樣本,網(wǎng)絡(luò)對于不同的樣本具有不同的誤差2 Step 4 計算各層誤差信號:各層的誤差信號為誤差E對各層權(quán)值的偏導(dǎo)

16、Step 5 調(diào)整各層權(quán)值w=*(d(1,p)-o(1,p)*y(1,i)v= *(d(1,p)-o(1,p)*w(1,i)*y(1,i)*(1-y(1,i)*(1,p)Step 6 檢查是否對所有樣本完成一次輪訓(xùn)假設(shè)pP,計算器p=p+1,q=q+1,返回Step 2, 否則轉(zhuǎn)到Step 7Step 7 檢查網(wǎng)絡(luò)總誤差是否到達精度要求當(dāng)用ERME作為網(wǎng)絡(luò)的總誤差時,假設(shè)滿足ERMEEmin,訓(xùn)練完畢,否則E 置0,p 置1,返回Step 2。單樣本訓(xùn)練:每輸入一個樣本,都要回傳誤差并調(diào)整權(quán)值,會導(dǎo)致收斂速度過慢批處理Batch訓(xùn)練:根據(jù)總誤差,計算各層的誤差信號并調(diào)整權(quán)值,在樣本數(shù)較多時,批

17、訓(xùn)練比單樣本訓(xùn)練時的收斂速度快五 實驗結(jié)果對于單本輸入的網(wǎng)絡(luò)程序如下:function limoyan;%建立以limoyan為文件名的m文件clc;clear;*=-4:0.08:4;%產(chǎn)生樣本j=input(j=);%輸入隱結(jié)點的個數(shù)n=input(n=);%輸入學(xué)習(xí)率w=rand(1,j);%對權(quán)值w賦較小的初值w0=0.5;%對權(quán)值w0賦較小的初值v=rand(1,j);%對權(quán)值V賦較小的初值v1=rand(1,j);%對權(quán)值V1賦較小的初值*0=-1;%對閾值*0賦初值y0=-1;%對閾值y0賦初值err=zeros(1,101);wucha=0;erro=;Erme=0;zong=

18、;Emin=0.1;d=zeros(1,101);%以初值0賦給期望輸出for m=1:101 d(1,m)=1.1*(1.0-*(1,m)+2*(1,m)*(1,m)*e*p(-*(1,m)*(1,m)/2);%以Hermit多項式產(chǎn)生期望輸出end;o=zeros(1,101);netj=zeros(1,j);net=zeros(1,j);y=zeros(1,j);p=1;q=1;while q30000 %設(shè)定最大的迭代交數(shù) for p=1:101 %計算隱層的輸出 for i=1:j netj(1,i)=v(1,i)*(1,p)+v1(1,i)*0; y(1,i)=1/(1+e*p(-

19、netj(1,i); end; o(1,p)=w*y+y0*w0+0.01*randn(1,1);%計算輸出并給輸出加上上定的擾動 wucha=1/2*(d(1,p)-o(1,p)*(d(1,p)-o(1,p);%計算誤差 err(1,p)=wucha; erro=erro,wucha; for m=1:j;%調(diào)整各層的權(quán)值 w0=w0-n*w0; w(1,m)=w(1,m)+n*(d(1,p)-o(1,p)*y(1,m); v(1,m)=v(1,m)+n*(d(1,p)-o(1,p)*w(1,m)*y(1,m)*(1-y(1,m)*(1,p); v1(1,m)=v1(1,m)+n*(d(1,

20、p)-o(1,p)*w(1,m)*y(1,m)*(1-y(1,m)*0; end; q=q+1; end; Erme=0; for t=1:101; Erme=Erme+err(1,t); end; err=zeros(1,101); Erme=sqrt(Erme/101); zong=zong,Erme; if ErmeEmin break;%誤差到達允許值時停頓迭代 end;end;%輸入結(jié)果Ermeplot(*,d,-r);hold on;plot(*,o,-.b);*label(Hermit多項式曲線與所構(gòu)建BP網(wǎng)絡(luò)輸出曲線)qfigure(2);plot(zong);*label(誤

21、差的收斂曲線)命令窗口的輸出如下:j=5n=0.05Erme = 0.0996q = 19999Hermit多項式曲線與所構(gòu)建BP網(wǎng)絡(luò)輸出曲線:誤差的收斂曲線如下:單樣本訓(xùn)練的統(tǒng)計如下:學(xué)習(xí)率結(jié)點數(shù)0.050.070.10.120.150.1750.093600.086590.097840.093640.087250.0932480.099210.089210.094580.091250.084570.09478100.89250.087940.085270.091450.084120.09147120.097840.092580.087960.091580.078360.08397對于批處理

22、的情況:在原程序的根底上改變中間的一段;命令窗口的輸出如下:j=10n=0.1Erme = 0.0997q = 15757Hermit多項式曲線與所構(gòu)建BP網(wǎng)絡(luò)輸出曲線:誤差的收斂曲線如下:單樣本訓(xùn)練的統(tǒng)計如下:學(xué)習(xí)率結(jié)點數(shù)0.050.070.10.120.150.1750.099060.095870.094570.090960.099140.0987470.092580.091050.092670.091580.094570.09547100.089420.093240.091280.084570.092170.09527120.085960.089250.087590.091540.082

23、470.09457對于參加動量項的網(wǎng)絡(luò)如下: 命令窗口的輸出如下:j=15n=0.1Erme = 0.1000q = 6768Hermit多項式曲線與所構(gòu)建BP網(wǎng)絡(luò)輸出曲線:誤差的收斂曲線如下:單樣本訓(xùn)練的統(tǒng)計如下:學(xué)習(xí)率結(jié)點數(shù)0.050.070.10.120.150.1750.096570.095780.096540.0983540.098240.0904780.096580.093680.093420.096480.094270.09153100.092570.094570.092310.094260.095470.08972120.092580.92150.091270.092380.0

24、93410.08931六.問題答復(fù)1. 比擬單樣本訓(xùn)練和批處理訓(xùn)練的區(qū)別;答:單樣本輸入是每輸入一個樣本就調(diào)整一次權(quán)值,并計算誤差的大小,而對于批處理來說,是等所有的樣本都輸入以后再調(diào)整權(quán)值.當(dāng)樣本較多的時候批處理能獲得較快的收斂速度.2. 根據(jù)結(jié)果分析增加動量項后算法的變化答:參加動量項后,就等于讓權(quán)值的收斂方向向著一定的方向進展,由輸出的數(shù)據(jù)可以看出這一點,對于一樣的結(jié)點數(shù),一樣的學(xué)習(xí)率,參加動量項后,收速度即迭代次數(shù)明顯的降低.3. 改變不同參數(shù)的BP網(wǎng)絡(luò)運行情況及結(jié)果,并給予相應(yīng)的結(jié)果分析答:改變不同參數(shù),對網(wǎng)絡(luò)運行情況的影響,可以概括為:隨著結(jié)點數(shù)的增多,收斂的概率和速度都會相應(yīng)的有

25、把增加.相應(yīng)的誤差會要小一點.但誤差的大小除了取決于結(jié)點外,還主要決定于到達允許誤差時的值,所以總誤差的值有一定的隨機性.對于改變網(wǎng)絡(luò)的學(xué)習(xí)率,對來說小的學(xué)習(xí)率會使收斂更穩(wěn)定一點,但是速度也會相對地慢一點,大的學(xué)習(xí)率在一定程度上能加快收斂的速度,但是穩(wěn)定性要比小的學(xué)習(xí)率小的多,換句話說,大的學(xué)習(xí)率收斂的概率要小得多,很容易發(fā)散,所以說,隨著學(xué)習(xí)的增大,迭代的次數(shù)會先減小后增大。大到一定程度進,由于波動太大。結(jié)果就不在收斂。4. 思考:輸出層可以采用Sigmoid函數(shù)嗎?為什么?答:輸出層可以采用的函數(shù)很多,從理論上說,一個函數(shù)都是可以應(yīng)用的,但是如果采用Sigmoid函數(shù)的話,占用的存要比用線

26、性函數(shù)大的多,相對的運行的速度也要比用線性函數(shù)慢的多,而對于連續(xù)的函數(shù)的擬合,輸出函數(shù)用線性函數(shù)就能很好的解決。5. 試驗中遇到的問題和解決方法?答:在開場的時候把問題想得太簡單,在沒有加閾值的情下編出了程序,運行后才發(fā)現(xiàn),結(jié)點數(shù)很多,想明白后再閾值加上使程序顯得混亂。實驗三SOM模型的訓(xùn)練與應(yīng)用一、實驗?zāi)康模?、熟悉MATLAB中SOM神經(jīng)網(wǎng)絡(luò)工具箱的使用方法;2、了解SOM神經(jīng)網(wǎng)絡(luò)各種優(yōu)化算法的原理;3、掌握SOM神經(jīng)網(wǎng)絡(luò)各種優(yōu)化算法的特點;4、掌握使用SOM神經(jīng)網(wǎng)絡(luò)各種優(yōu)化算法解決實際問題的方法。二、實驗容:從網(wǎng)絡(luò)構(gòu)造上來說,SOM網(wǎng)絡(luò)最大的特點是神經(jīng)元被放置在一維、二維或者更高維的網(wǎng)格

27、節(jié)點上。下列圖就是最普遍的自組織特征映射二維網(wǎng)格模型。SOM網(wǎng)絡(luò)的一個典型特性就是可以在一維或二維的處理單元陣列上,形成輸入信號的特征拓撲分布,因此SOM網(wǎng)絡(luò)具有抽取輸入信號模式特征的能力。SOM網(wǎng)絡(luò)一般只包含有一維陣列和二維陣列,但也可以推廣到多維處理單元陣列中去。下面只討論應(yīng)用較多的二維陣列。輸入層是一維的神經(jīng)元,具有N個節(jié)點,競爭層的神經(jīng)元處于二維平面網(wǎng)格節(jié)點上,構(gòu)成一個二維節(jié)點矩陣,共有M個節(jié)點。輸入層與競爭層的神經(jīng)元之間都通過連接權(quán)值進展連接,競爭層臨近的節(jié)點之間也存在著局部的互聯(lián)。SOM網(wǎng)絡(luò)中具有兩種類型的權(quán)值,一種是神經(jīng)元對外部輸入的連接權(quán)值,另一種是神經(jīng)元之間的互連權(quán)值,它的大小控制著神經(jīng)元之間相互作用的強弱。在SOM網(wǎng)絡(luò)中,競爭層又是輸出層。SOM網(wǎng)絡(luò)通過引入網(wǎng)格形成了自組織特征映射的輸出空間,并且在各個神經(jīng)元之間建立了拓撲連接關(guān)系。神經(jīng)元之間的聯(lián)系是由它們在網(wǎng)格上的位置所決定的,這種聯(lián)系模擬了人腦中的神經(jīng)元之間的側(cè)抑制功能,成為網(wǎng)絡(luò)實現(xiàn)競爭的根底。SOM網(wǎng)絡(luò)的主要目的是將任意維數(shù)的輸入轉(zhuǎn)換為一維或二維的離散映射,并且以拓撲有

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論