模式識(shí)別實(shí)驗(yàn)二_第1頁
模式識(shí)別實(shí)驗(yàn)二_第2頁
模式識(shí)別實(shí)驗(yàn)二_第3頁
模式識(shí)別實(shí)驗(yàn)二_第4頁
模式識(shí)別實(shí)驗(yàn)二_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、感知器準(zhǔn)則算法1、 實(shí)驗(yàn)原理: 假設(shè)已知一組容量為N的樣本集,其中為維增廣樣本向量,分別來自和類。如果有一個(gè)線性機(jī)器能把每個(gè)樣本正確分類,即存在一個(gè)權(quán)向量,使得對(duì)于任何,都有0,而對(duì)一任何,都有0。因此,我們令那么,我們就可以不管樣本原來的類型標(biāo)志,只要找到一個(gè)對(duì)全部樣本都滿足0,的權(quán)向量就行了。此過程稱為樣本的規(guī)范化,成為規(guī)范化增廣樣本向量,后面我們用來表示它。我們的目的是找到一個(gè)解向量,使得為此我們首先考慮處理線性可分問題的算法,先構(gòu)造這樣一個(gè)準(zhǔn)則函數(shù)式中是被權(quán)向量錯(cuò)分類的樣本集合。錯(cuò)分類時(shí)有,或因此總是大于等于0。下一步便是求解使達(dá)到極小值時(shí)的解向量。這里我們采用梯度下降法,首先對(duì)求梯度

2、,這是一個(gè)純量函數(shù)對(duì)向量的求導(dǎo)問題,不難看出梯度是一個(gè)向量,其方向是J增長(zhǎng)最快的方向,福梯度方向是減小最快的,這指引我們?cè)谇鬁?zhǔn)則函數(shù)的極小值時(shí)沿負(fù)梯度方向能最快達(dá)到極小值點(diǎn)。梯度下降法的迭代公式為,將上式代入得這樣,經(jīng)過有限次修改,一定能找到一個(gè)解向量。其中任意給定權(quán)向量。3、 實(shí)驗(yàn)內(nèi)容:實(shí)驗(yàn)所需樣本數(shù)據(jù)如下表給出(每個(gè)樣本空間為兩維,x1表示一維的值,x2表示第二維的值),編制程序?qū)崿F(xiàn)、類的分類。我們將符號(hào)簡(jiǎn)化,把=1。這樣,梯度下降算法可以寫成其中對(duì)任何都有。實(shí)驗(yàn)時(shí),=1的情況來找到一個(gè)解向量。 感知器算法實(shí)驗(yàn)數(shù)據(jù)樣本12345678910W1x10.16.8-3.52.04.13.1-0

3、.80.95.03.9x21.17.1-4.12.72.85.0-1.31.26.44.0W2x17.1-1.44.56.34.21.42.42.58.44.1x24.2-4.30.01.61.9-3.2-4.0-6.13.7-2.2W3x1-3.00.52.9-0.1-4.0-1.3-3.4-4.1-5.11.9x2-2.98.72.15.22.23.76.23.41.65.1W4x1-2.0-8.9-4.2-8.5-6.7-0.5-5.3-8.7-7.1-8.0x2-8.40.2-7.7-3.2-4.2-9.2-6.7-6.4-9.7-6.34、 實(shí)驗(yàn)結(jié)果及分析:1)梯度下降算法輸出結(jié)果:

4、a=0;0;0的收斂步驟 a=1;1;1的收斂步驟 a=1;1;1將更快收斂到。由此可見對(duì)于同一個(gè)樣本,權(quán)向量的初值會(huì)影響到修正時(shí)的收斂步數(shù)。梯度下降算法:主要程序clear;W1=0.1 6.8 -3.5 2.0 4.1 3.1 -0.8 0.9 5.0 3.9; 1.1 7.1 -4.1 2.7 2.8 5.0 -1.3 1.2 6.4 4.0;W2=7.1 -1.4 4.5 6.3 4.2 1.4 2.4 2.5 8.4 4.1; 4.2 -4.3 0.0 1.6 1.9 -3.2 -4.0 -6.1 3.7 -2.2;W3=-3.0 0.5 2.9 -0.1 -4.0 -1.3 -3.

5、4 -4.1 -5.1 1.9; -2.9 8.7 2.1 5.2 2.2 3.7 6.2 3.4 1.6 5.1;%將所有訓(xùn)練樣本進(jìn)行規(guī)范化增廣ww1=ones(1,size(W1,2);W1; ww2=ones(1,size(W2,2);W2;ww3=ones(1,size(W3,2);W3;%對(duì)W1、W2訓(xùn)練w12=ww1,-ww2; %增廣樣本規(guī)范化為w12y=zeros(1,size(w12,2); %產(chǎn)生大小為1行,size(x,2)列的矩陣,矩陣元素都是0。a=0;0;0;%初始權(quán)向量ak=0;while any(y=0) for i=1:size(y,2) %y矩陣的列數(shù) y(

6、i)=a*w12(:,i); %a表示轉(zhuǎn)秩 end; a=a+(sum(w12(:,find(y=0); %修正向量a k=k+1;%收斂步數(shù)end;a %顯示最終求得的權(quán)向量a的值k %迭代次數(shù)值subplot(1,2,1);plot(W1(1,:),W1(2,:),r.);hold on;plot(W2(1,:),W2(2,:),*);%找到樣本在坐標(biāo)中的集中區(qū)域,以便于打印樣本坐標(biāo)圖xmin=min(min(W1(1,:),min(W2(1,:);xmax=max(max(W1(1,:),max(W2(1,:);xindex=xmin-1:(xmax-xmin)/100:xmax+1;y

7、index=-a(2)*xindex/a(3)-a(1)/a(3);plot(xindex,yindex);BP算法實(shí)現(xiàn)異或問題一、實(shí)驗(yàn)原理 BP算法由于硬限幅函數(shù)是非可微函數(shù),不能實(shí)現(xiàn)多層神經(jīng)網(wǎng)絡(luò)的一種有效的LMS學(xué)習(xí)算法。而BP算法中所用到的是Sigmoid型函數(shù),它既具有完成分類所需的非線性特性,又具有實(shí)現(xiàn)LMS算法所需的可微特性。采用S型函數(shù)的神經(jīng)元的輸入和輸出之間的關(guān)系為: 采用了S型函數(shù)就可將用于單神經(jīng)元的LMS學(xué)習(xí)算法適當(dāng)推廣,得到一種適用于前向多層神經(jīng)網(wǎng)絡(luò)的有效學(xué)習(xí)算法。我們現(xiàn)在著手研究一個(gè)采用S型函數(shù)的前向三層神經(jīng)網(wǎng)絡(luò)來說明其原理。對(duì)于訓(xùn)練樣本p,它的輸入是N維矢量X,X=,

8、網(wǎng)絡(luò)的第一,二,三層分別包括J,K,M個(gè)神經(jīng)元,它的總輸出是一個(gè)M維矢量,Y=,第i層到第i+1層之間的權(quán)重系數(shù)用來表示??稍O(shè)前向三層神經(jīng)網(wǎng)絡(luò)輸出各個(gè)分量的理想值是,i=0,1,M-1,而這些分量的實(shí)際值是, i=0,1,M-1,理想值和實(shí)際值之間的誤差是。各輸出誤差的平方和可以表示為: 現(xiàn)在我們希望改變網(wǎng)絡(luò)中的各個(gè)加權(quán)系數(shù),使得盡可能的減小。為此我們可以采取最陡下降算法的公式來調(diào)整權(quán)重系數(shù)。公式如下: 式中的是學(xué)習(xí)的步幅,它應(yīng)隨學(xué)習(xí)過程而變化。對(duì)于通用神經(jīng)層,它的各個(gè)輸出與各個(gè)輸入之間的關(guān)系可以表示為: 如果設(shè),則式中的表示s型函數(shù)。我們不難看出上式即為給輸入加一個(gè)恒等于1部分,在神經(jīng)網(wǎng)絡(luò)中

9、也應(yīng)相應(yīng)的加一個(gè)節(jié)點(diǎn),而且這個(gè)節(jié)點(diǎn)的權(quán)系數(shù)就是這一層網(wǎng)絡(luò)的閾值。我們省去具體的推導(dǎo)過程,下面直接給出結(jié)果。(1)對(duì)于第三層: (2)對(duì)于第二層: (3)對(duì)于第一層: 其中: 通過以上公式就可得到三層神經(jīng)網(wǎng)絡(luò)的各個(gè)權(quán)系數(shù)的調(diào)整量。可見,這一算法的計(jì)算過程是先計(jì)算第三層(即輸出層)的各項(xiàng)“誤差分量”,然后用計(jì)算第二層(隱含層)的“等效誤差分量” ,最后再用計(jì)算第一層的“等效誤差分量” 。只要算出這些誤差分量,系數(shù)調(diào)整量即可立即求得。所以,這是一種由輸出層向輸入層逐步反推的學(xué)習(xí)算法,故稱之為“逆推”學(xué)習(xí)算法,即BP算法。二、實(shí)驗(yàn)步驟1、生成訓(xùn)練樣本和測(cè)試樣本。在(1,0)(0,1)(0,0)(1,1

10、)四個(gè)點(diǎn)附近各有隨機(jī)生成服從高斯分布的30個(gè)樣本,其中20個(gè)用作訓(xùn)練,剩下10個(gè)用作測(cè)試。根據(jù)異或問題要求,將(1,0)(0,1)附近的點(diǎn)歸為第一組,(0,0)(1,1)附近的點(diǎn)歸為第二組。由于有2個(gè)類別,對(duì)于目標(biāo)結(jié)果,我們用0.9表示第一組,0.1表示第二組。2、樣本數(shù)據(jù)處理。把數(shù)據(jù)重新打亂順序進(jìn)行輸入,可以讓數(shù)據(jù)更加具備典型性和更優(yōu)良的泛化能力。3、建立神經(jīng)網(wǎng)絡(luò),設(shè)置網(wǎng)絡(luò)層數(shù)為3層,即輸入層、隱層、輸出層;輸入層神經(jīng)元數(shù)為2,隱層神經(jīng)元數(shù)為5,輸出層神經(jīng)元數(shù)為1。4、確定訓(xùn)練函數(shù)進(jìn)行訓(xùn)練。選擇適用于模式識(shí)別分類時(shí)速度最快的彈性算法。5、完成訓(xùn)練后,調(diào)用訓(xùn)練結(jié)果,輸入測(cè)試數(shù)據(jù)進(jìn)行測(cè)試,分析分

11、類結(jié)果。三、實(shí)驗(yàn)結(jié)果及分析運(yùn)行程序后得到樣本(包括訓(xùn)練樣本和測(cè)試樣本),樣本如圖所示。設(shè)定網(wǎng)絡(luò)誤差為0.001,樣經(jīng)過訓(xùn)練,經(jīng)過30次迭代,得到的滿足誤差限的網(wǎng)絡(luò)性能曲線如圖所示。對(duì)于訓(xùn)練好的滿足要求的網(wǎng)絡(luò)測(cè)試剩下40個(gè)樣本,第1-10個(gè)樣本在以點(diǎn)(1,0)為中心的區(qū)域內(nèi),第11-20個(gè)樣本在以點(diǎn)(0,1)為中心的區(qū)域內(nèi),第21-30個(gè)樣本在以點(diǎn)(0,0)為中心的區(qū)域內(nèi),第31-40個(gè)樣本在以點(diǎn)(1,1)為中心的區(qū)域內(nèi),按異或規(guī)則,我們希望得到的前20個(gè)值在0.9左右,后20個(gè)值在0.1左右。測(cè)試結(jié)果如下,顯然與我們期望吻合,故分類正確。 如果我們以Y=0.5為閾值,當(dāng)Y0.5時(shí),將樣本歸為第

12、一類,當(dāng)Y0.5時(shí),將樣本歸為第二類,則可得到某個(gè)滿足要求的網(wǎng)絡(luò)近似分界面,如圖所示。上圖中,兩條點(diǎn)線兩側(cè)的區(qū)域在此網(wǎng)絡(luò)中分為第一類,中間所夾的區(qū)域?yàn)榈诙?,點(diǎn)線為大致的分界面。顯然網(wǎng)絡(luò)確實(shí)可以實(shí)現(xiàn)非線性樣本特征的分類。異或問題的BP網(wǎng)絡(luò)分類法程序:clearn=30;a=1 0;0 1;0 0;1 1;for k=1:4x(n*(k-1)+1):(n*k),1:2)=random(normal,a(k,1),0.05,n,1),random(normal,a(k,2),0.05,n,1); %產(chǎn)生n行1列均值為a(k,1)a(k,2)標(biāo)準(zhǔn)差為0.05的正態(tài)分布 %取1至n行,1至2列的數(shù)據(jù)

13、x(n*(k-1)+1):(n*k),3)=abs(floor(k/2-0.1)-0.9); %不大于的最大整數(shù)endfigure; %畫兩類樣本for i=1:2*n plot(x(i,1),x(i,2),r+) hold onendfor i=1:2*n plot(x(i+2*n,1),x(i+2*n,2),b+) hold onendxlabel(x(1)ylabel(x(2)title(訓(xùn)練樣本)grid onaxis(-0.5 1.5 -0.5 1.5)M=20;%抽取樣本訓(xùn)練for k=1:4 for i = 1:M xpt(i+(k-1)*M,:)=x(i+(k-1)*n,:);

14、 endend%訓(xùn)練網(wǎng)絡(luò)xd=xpt(randperm(numel(xpt)/3),:); %P=randperm(N,K)返回一個(gè)包含K個(gè)在0到N之間的隨機(jī)元素向量,P=randperm(N)返回一個(gè)包含N個(gè)在0到N之間產(chǎn)生的隨機(jī)元素的向量,各行各列重新排P=xd(:,1:2);T=xd(:,3);net=newff(minmax(P),6,1,logsig logsig,trainrp); %創(chuàng)建一個(gè)反饋式網(wǎng)絡(luò),6為隱含層節(jié)點(diǎn)數(shù),1為輸出層節(jié)點(diǎn)數(shù),logsig為輸入層到隱含層、隱含層到輸出層的傳遞函數(shù),trainrp為輸出層的訓(xùn)練函數(shù)net.trainparam.epochs=1000;

15、%網(wǎng)絡(luò)最大收斂次數(shù)net.trainparam.goal=0.0001; %收斂誤差net=train(net,P,T); %調(diào)用TRAINGND算法訓(xùn)練BP網(wǎng)絡(luò)sim(net,P) %BP網(wǎng)絡(luò)進(jìn)行仿真結(jié)果figure %畫網(wǎng)絡(luò)分界面s=100;for i=1:s for j=1:s tt(:,(i-1)*s+j)=i/s;j/s; Y=sim(net,tt(:,(i-1)*s+j); %對(duì)bp網(wǎng)絡(luò)進(jìn)行仿真 if(abs(Y-0.5)0.5& Y(2,i)0.5) n1=n1+1; end case 2 plot(Y(1,i+(k-1)*N),Y(2,i+(k-1)*N),gs) if(Y(1,i+N)0.5) n2=n2+1

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論