線性分類BP神經(jīng)網(wǎng)絡(luò)_第1頁(yè)
線性分類BP神經(jīng)網(wǎng)絡(luò)_第2頁(yè)
線性分類BP神經(jīng)網(wǎng)絡(luò)_第3頁(yè)
線性分類BP神經(jīng)網(wǎng)絡(luò)_第4頁(yè)
線性分類BP神經(jīng)網(wǎng)絡(luò)_第5頁(yè)
已閱讀5頁(yè),還剩10頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、模式識(shí)別實(shí)驗(yàn)報(bào)告 西安交通大學(xué) 感知器準(zhǔn)則線性分類一、實(shí)驗(yàn)原理線性分類法的判別函數(shù)是的線性函數(shù),即 (1)式中是維特征向量,是權(quán)向量,是個(gè)常數(shù),稱為閾值權(quán),并定義如下決策規(guī)則:對(duì)于感知準(zhǔn)則線性分類法,我們的工作就是用樣本按感知準(zhǔn)則算法去估計(jì)和,并按照決策規(guī)則將未知樣本歸入正確的類別中去。我們將式(1)定義的線性判別函數(shù)寫(xiě)成如下形式 (2)其中為增廣樣本向量,為增廣權(quán)向量。w1yx1x2xdw2wdw0mi圖-1 單層感知器模型假設(shè)期望輸出為d,我們希望調(diào)整權(quán)系數(shù),使得誤差盡可能小。對(duì)于關(guān)于求導(dǎo),有 (3)這樣我們就得到權(quán)系數(shù)調(diào)整的梯度下降算法,即 (4)其中。通過(guò)迭代運(yùn)算即可得到滿足要求的。二

2、、實(shí)驗(yàn)步驟1. 設(shè)置變量和參數(shù)。下式中n為迭代次數(shù),則為輸入向量,也即訓(xùn)練樣本;為權(quán)值向量。2. 初始化,賦給一個(gè)較小的隨機(jī)非零值,n=0。3. 對(duì)于一組輸入樣本,指定它的期望輸出d。如果,則d=1,如果,則d=-1。4. 計(jì)算實(shí)際輸出。5. 調(diào)整感知器的權(quán)值向量。下式中p為學(xué)習(xí)速率,則6. 判斷是否滿則條件(這里的條件可以使誤差小于設(shè)定的值,或者權(quán)值變化很小,另外,在實(shí)現(xiàn)過(guò)程中還應(yīng)設(shè)置最大迭代次數(shù),以防算法不收斂程序進(jìn)入死循環(huán)):若滿足,算法結(jié)束,否則,將n加1,轉(zhuǎn)第3步重新執(zhí)行。三、實(shí)驗(yàn)結(jié)果及分析由于訓(xùn)練樣本的輸入順序?qū)W(xué)習(xí)的結(jié)果和收斂速度有一定影響,故一般情況下訓(xùn)練樣本最好在各類樣本中輪

3、流進(jìn)行,以防止權(quán)值調(diào)整的不均勻。因此我們首先將樣本順序打亂,然后開(kāi)始訓(xùn)練。1. 分別用第一組和第二組的30個(gè)數(shù)據(jù)進(jìn)行訓(xùn)練,剩下的各20個(gè)樣本進(jìn)行測(cè)試分類。結(jié)果如下:columns 1 through 20 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 columns 21 through 40 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1前20個(gè)為第一組,后20個(gè)為第二組,分類正確無(wú)誤。某次實(shí)驗(yàn)誤差絕對(duì)值收斂曲線如圖2。圖-2 1、2組誤差絕對(duì)值收斂曲線2. 分別用第一組和第三組的30個(gè)

4、數(shù)據(jù)進(jìn)行訓(xùn)練,剩下的各20個(gè)樣本進(jìn)行測(cè)試分類。結(jié)果如下: columns 1 through 20 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 columns 21 through 40 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1前20個(gè)為第一組,后20個(gè)為第三組,分類正確無(wú)誤。某次實(shí)驗(yàn)誤差絕對(duì)值收斂曲線如圖3。圖-3 1、3組分類誤差絕對(duì)值收斂曲線3. 分別用第二組和第三組的30個(gè)數(shù)據(jù)進(jìn)行訓(xùn)練,剩下的各20個(gè)樣本進(jìn)行測(cè)試分類。結(jié)果如下: columns 1 through 20 1

5、 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 columns 21 through 40 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1前20個(gè)為第一組,后20個(gè)為第三組,由上面結(jié)果可知,第二組一個(gè)樣本被錯(cuò)誤分到第三類中去。某次實(shí)驗(yàn)誤差絕對(duì)值收斂曲線如圖4。圖-4 2、3組誤差絕對(duì)值收斂曲線4. 如果我們用樣本未被打亂的第二組和第三組的30個(gè)數(shù)據(jù)進(jìn)行訓(xùn)練,剩下的各20個(gè)樣本進(jìn)行測(cè)試分類運(yùn)行后結(jié)果如下,顯然第二類測(cè)試樣本分類基本錯(cuò)誤,且誤差不收斂。columns 1 through 20 -

6、1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 1 -1columns 21 through 40 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1圖-5 未將樣本次序打亂時(shí)2、3組誤差絕對(duì)值收斂曲線附1:感知器線性分類源程序11clear% 原始數(shù)據(jù)導(dǎo)入iris = load('c:matlab7work模式識(shí)別iris.txt');m=30;for k=1:2 for i = 1:m x1(i+(k-1)*m,1) =1; for j = 2:5

7、%第一組和第二組分類訓(xùn)練樣本 %x1(i+(k-1)*m,j) = iris(i+(k-1)*50,j); %第一組和第三組分類訓(xùn)練樣本 %x1(i+(k-1)*m,j) = iris(i+(k-1)*100,j); %第二組和第三組分類訓(xùn)練樣本 x1(i+(k-1)*m,j) = iris(i+k*50,j); end d1(i+(k-1)*m,1)=2*(1.5-k); endendx2(:,1:5)=x1;x2(:,6)=d1;%將數(shù)據(jù)順序打亂xd=x2(randperm(numel(x2)/6),:);%xd=x2;x=xd(:,1:5);d=xd(:,6);w=rand(5,1)*(

8、1-0)%初始權(quán)系數(shù)p=0.2;%學(xué)習(xí)因子n=2*m;%最大迭代次數(shù)為60*n次for l=1:60 for i=1:n if(x(i,:)*w>0) y(i)=1; else y(i)=-1; end e(i)=d(i)-y(i); w=w+p*e(i)*x(i,:)' plot(i+n*(l-1),sum(abs(e),'r.') hold on end if sum(abs(e)<1 break; endxlabel('迭代次數(shù)')ylabel('error')title('誤差的收斂曲線')k=50-m

9、;for k=1:2 for i = 1:k xt(i+(k-1)*k,1) =1; for j = 2:5 %第一組和第二組分類訓(xùn)練樣本 %xt(i+(k-1)*k,j) = iris(i+(k-1)*50+m,j); %第一組和第三組分類訓(xùn)練樣本 %xt(i+(k-1)*k,j) = iris(i+(k-1)*100+m,j); %第二組和第三組分類訓(xùn)練樣本 xt(i+(k-1)*k,j) = iris(i+k*50+m,j); end endendg=2*(xt(:,:)*w>0)-0.5); %測(cè)試g' iris數(shù)據(jù)bp神經(jīng)網(wǎng)絡(luò)分類一、實(shí)驗(yàn)原理bp網(wǎng)絡(luò)實(shí)質(zhì)上實(shí)現(xiàn)了一個(gè)從輸

10、入到輸出的映射功能,而數(shù)學(xué)理論已證明它具有實(shí)現(xiàn)任何復(fù)雜非線性映射的功能,把輸入空間變換到其隱層輸出所張成的空間,在這個(gè)空間中分類問(wèn)題變得比較容易。這使得它特別適合于求解內(nèi)部機(jī)制復(fù)雜的問(wèn)題,比如模式識(shí)別等。我們無(wú)需建立模型或了解其內(nèi)部過(guò)程,只需輸入樣本,獲得輸出。只要bp網(wǎng)絡(luò)結(jié)構(gòu)優(yōu)秀,一般20個(gè)輸入函數(shù)以下的問(wèn)題都能在50000次的學(xué)習(xí)以內(nèi)收斂到最低誤差附近。網(wǎng)絡(luò)能通過(guò)學(xué)習(xí)帶正確答案的實(shí)例集自動(dòng)提取“合理的”求解規(guī)則,即具有自學(xué)習(xí)能力,同時(shí)網(wǎng)絡(luò)具有一定的推廣、概括能力。bp網(wǎng)絡(luò)的工作過(guò)程由正向計(jì)算輸出和誤差反向傳播兩部分組成。在正向計(jì)算輸出過(guò)程中,從輸入層向后逐層計(jì)算輸出,直到輸出層的最終輸出值

11、,之后計(jì)算實(shí)際輸出與目標(biāo)輸出之間的誤差。在誤差反向傳播中,從輸出層開(kāi)始反向逐層傳播誤差信號(hào),修正各層權(quán)值。反復(fù)執(zhí)行這兩個(gè)過(guò)程,直到知道網(wǎng)絡(luò)輸出值和目標(biāo)值之間的誤差小于給定精度要求。bp算法通過(guò)學(xué)習(xí)來(lái)修正多層神經(jīng)網(wǎng)絡(luò)的權(quán)值,采用梯度下降法實(shí)現(xiàn)最小化,使得網(wǎng)絡(luò)輸出值和目標(biāo)值之間誤差平方最小。其學(xué)習(xí)算法有最速下降bp算法、動(dòng)量bp算法、學(xué)習(xí)率可變的bp算法、彈性算法、變梯度算法和lm算法等。三層網(wǎng)絡(luò)的bp網(wǎng)絡(luò)結(jié)構(gòu)如圖-1所示。圖-1 bp網(wǎng)絡(luò)結(jié)構(gòu)圖二、實(shí)驗(yàn)步驟matlab中有專門(mén)的神經(jīng)網(wǎng)絡(luò)工具箱,可以調(diào)用相關(guān)函數(shù)完成網(wǎng)絡(luò)的訓(xùn)練和測(cè)試。下面的程序首先用樣本訓(xùn)練bp網(wǎng)絡(luò)權(quán)值,達(dá)到誤差限,滿足要求,然后將

12、待識(shí)別樣本輸入到訓(xùn)練好的網(wǎng)絡(luò)中,得到輸出結(jié)果,根據(jù)判別規(guī)則,判斷其類別。當(dāng)網(wǎng)絡(luò)用于分類時(shí),樣本的期望輸出值為d = 0 或d=1 ,但由于 y 值在u = ± 時(shí)才為0 或1,這有可能將某些網(wǎng)絡(luò)權(quán)值驅(qū)向無(wú)窮大。為了避免這種飽和現(xiàn)象,期望輸出可適當(dāng)放寬,如y>0.9 為1,y<0.1 為0。bp算法步驟如下:1、確定訓(xùn)練樣本和測(cè)試樣本。三類樣本各取前30個(gè)樣本作為訓(xùn)練,剩下的用作測(cè)試分類樣本。由于有3個(gè)類別,我們用2個(gè)數(shù)表示類別,0.9 0.1表示第一組,0.1 0.9表示第二組,0.9 0.9表示第三組,然后將二進(jìn)制數(shù)組合成目標(biāo)向量。2、樣本數(shù)據(jù)處理,包括歸一化和打亂樣本

13、數(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ù)為4,隱層神經(jīng)元數(shù)為10,,輸出層神經(jīng)元數(shù)為2,隱含層的傳輸函數(shù)為sigmoid函數(shù),輸出層傳輸函數(shù)亦為sigmoid函數(shù)(logsig),如圖-2所示。圖-2 logsig函數(shù)4、確定訓(xùn)練函數(shù)進(jìn)行訓(xùn)練。我們選擇適用于模式識(shí)別分類時(shí)速度最快的彈性算法。即當(dāng)連續(xù)兩迭代的梯度方向相同時(shí),可將權(quán)值和閾值的修正值乘以一個(gè)增量因子,使其修正值增加,當(dāng)連續(xù)兩迭代的梯度方向相反時(shí),可將權(quán)值和閾值的修正值乘以一個(gè)減量因子,使其修正值減??;當(dāng)梯度為零時(shí)

14、,權(quán)值和修正值保持不變;當(dāng)權(quán)值的修正發(fā)生震蕩時(shí),其修正值將減小。在matlab中,此算法為trainrp函數(shù)。5、完成訓(xùn)練后,調(diào)用訓(xùn)練結(jié)果,輸入測(cè)試數(shù)據(jù),進(jìn)行測(cè)試。6、分析分類結(jié)果。三、實(shí)驗(yàn)結(jié)果及分析三類樣本前30個(gè)樣本訓(xùn)練,設(shè)定誤差為0.0045,經(jīng)過(guò)1178次迭代,得到的誤差性能曲線如圖-3所示。圖-3 誤差性能曲線同時(shí)得到的統(tǒng)計(jì)結(jié)果為n1 = 20 n2 = 19 n3 = 18。分類結(jié)果如圖-4所示,圖中“+”為第一組測(cè)試樣本,“*”為第二組測(cè)試樣本,“*”為第三組測(cè)試樣本,可以看到第一組測(cè)試樣本分類完全正確,第二類測(cè)試樣本有一個(gè)樣本分到了第三組中,第三組測(cè)試樣本有2個(gè)分到第二組中。圖

15、-4 三組測(cè)試樣本分類結(jié)果示意圖對(duì)于bp神經(jīng)網(wǎng)絡(luò),只要網(wǎng)絡(luò)隱層合適,訓(xùn)練的樣本有足夠的代表性,經(jīng)訓(xùn)練后的網(wǎng)絡(luò)能夠有效且快捷地解決很多非線性多類樣本的模式分類問(wèn)題,它在工程應(yīng)用上也取得了很大的成功。但是對(duì)于網(wǎng)絡(luò)層數(shù),接點(diǎn)數(shù)、初始權(quán)值和學(xué)習(xí)速率能諸多因素有時(shí)還需憑經(jīng)驗(yàn)確定,另外它所得到的解不唯一,且不能保證得到最優(yōu)解。附2:iris數(shù)據(jù)bp神經(jīng)網(wǎng)絡(luò)分類源程序clear% 原始數(shù)據(jù)導(dǎo)入iris = load('c:matlab7work模式識(shí)別iris.txt');m=30;for k=1:3 for i = 1:m for j = 1:4 x1(i+(k-1)*m,j) = iri

16、s(i+(k-1)*50,j+1); endd1(i+(k-1)*m,1)=abs(mod(k,2)-0.1); d1(i+(k-1)*m,2)=abs(floor(k/2)-0.1); endendx2(:,1:4)=x1;x2(:,5:6)=d1;%訓(xùn)練樣本順序打亂xd=x2(randperm(numel(x2)/6),:);x=xd(:,1:4); d=xd(:,5:6);p,minp,maxp = premnmx(x);%歸一化p=p' t=d'net=newff(minmax(p),12,2,'logsig' 'logsig','

17、;trainrp');net.trainparam.epochs=2000;net.trainparam.goal=0.0045;net=train(net,p,t);sim(net,p)n=50-m;for k=1:3 for i = 1 : n for j = 1:4 p_test(i+(k-1)*n,j) = iris(i+(k-1)*50+m,j+1); end endendp_p,minp,maxp = premnmx(p_test);p_p=p_p'y=sim(net,p_p)figuren1=0;n2=0;n3=0;%統(tǒng)計(jì)各組分類正確數(shù)for k=1:3 for

18、i=1:n switch k case 1 plot(y(1,i+(k-1)*n),y(2,i+(k-1)*n),'r+') if(y(1,i)>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 && y(2,i+n)>0.5) n2=n2+1; end case 3 plot(y(1,i+(k-1)*n),y(2,i+(k-1)*n),'b*') i

19、f(y(1,i+2*n)>0.5 && y(2,i+2*n)>0.5) n3=n3+1; end end hold on endendhold onplot(0:0.001:1,0.5,'-b' )hold onplot(0.5,0:0.001:1,'-b')axis(-0.2 1.2 -0.2 1.2)xlabel('y(1)')ylabel('y(2)')title('分類結(jié)果')grid on模式識(shí)別實(shí)驗(yàn)報(bào)告 異或問(wèn)題的bp網(wǎng)絡(luò)分類法一、實(shí)驗(yàn)原理bp網(wǎng)絡(luò)的非線性映射特性使得它可以實(shí)

20、現(xiàn)線性不可分樣本的模式分類。具體參見(jiàn)實(shí)驗(yàn)二iris數(shù)據(jù)bp神經(jīng)網(wǎng)絡(luò)分類的實(shí)驗(yàn)原理部分。二、實(shí)驗(yàn)步驟1、生成訓(xùn)練樣本和測(cè)試樣本。在(1,0)(0,1)(0,0)(1,1)四個(gè)點(diǎn)附近各有隨機(jī)生成服從高斯分布的30個(gè)樣本,其中20個(gè)用作訓(xùn)練,剩下10個(gè)用作測(cè)試。根據(jù)異或問(wèn)題要求,將(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,

21、隱層神經(jīng)元數(shù)為5,,輸出層神經(jīng)元數(shù)為1,隱含層的傳輸函數(shù)為sigmoid函數(shù),輸出層傳輸函數(shù)亦為sigmoid函數(shù)(logsig),如圖-2所示。4、確定訓(xùn)練函數(shù)進(jìn)行訓(xùn)練。選擇適用于模式識(shí)別分類時(shí)速度最快的彈性算法。5、完成訓(xùn)練后,調(diào)用訓(xùn)練結(jié)果,輸入測(cè)試數(shù)據(jù),進(jìn)行測(cè)試。6、分析分類結(jié)果。三、實(shí)驗(yàn)結(jié)果及分析運(yùn)行程序后得到樣本(包括訓(xùn)練樣本和測(cè)試樣本),樣本如圖-1所示。圖-1 訓(xùn)練樣本點(diǎn)設(shè)定網(wǎng)絡(luò)誤差為0.001,樣經(jīng)過(guò)訓(xùn)練,經(jīng)過(guò)30次迭代,得到的滿足誤差限的網(wǎng)絡(luò)性能曲線如圖-2所示。圖-2 誤差性能曲線 對(duì)于訓(xùn)練好的滿足要求的網(wǎng)絡(luò)測(cè)試剩下40個(gè)樣本,第1-10個(gè)樣本在以點(diǎn)(1,0)為中心的區(qū)域內(nèi)

22、,第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í),將樣本歸為第一類,當(dāng)y0.5時(shí),將樣本歸為第一類,則可得到某個(gè)滿足要求的網(wǎng)絡(luò)近似分界面,如圖-3所示。圖-3 網(wǎng)絡(luò)近似分界面上圖中,兩條點(diǎn)線兩側(cè)的區(qū)域在此網(wǎng)絡(luò)中分為第一類,中間所夾的區(qū)域?yàn)榈诙?,點(diǎn)線為大致的分界面。顯然網(wǎng)絡(luò)確實(shí)可以實(shí)現(xiàn)非線性樣本特征的分類。附3:異或問(wèn)題的bp網(wǎng)絡(luò)分類法源程序15clear%生成樣本n=30;a=1 0;0 1;0 0;1 1;for k=1:4 x(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); x(n*(k-1)+1):(n*k),3)=abs(floor(k/2-0.1)-0.9);endfigure;%畫(huà)兩類樣本for i=1:2*n plot(x(i,1),x(i,2),'r+') hold onendfor i=1:

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論