模式識別大作業(yè)02125128(修改版)(共9頁)_第1頁
模式識別大作業(yè)02125128(修改版)(共9頁)_第2頁
模式識別大作業(yè)02125128(修改版)(共9頁)_第3頁
模式識別大作業(yè)02125128(修改版)(共9頁)_第4頁
模式識別大作業(yè)02125128(修改版)(共9頁)_第5頁
已閱讀5頁,還剩5頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、 模式識別(m sh sh bi)大作業(yè) 班級(bnj) 021252 姓名(xngmng) 譚紅光 學號 02125128 1.線性投影與Fisher準則函數(shù) 各類在維特征空間里的樣本均值向量:, (1)通過變換映射到一維特征空間后,各類的平均值為:, (2)映射后,各類樣本“類內離散度”定義為:, (3)顯然,我們希望在映射之后,兩類的平均值之間的距離越大越好,而各類的樣本類內離散度越小越好。因此,定義Fisher準則函數(shù): (4)使最大的解就是最佳解向量,也就是Fisher的線性判別式.從的表達式可知,它并非的顯函數(shù),必須進一步變換。已知:,, 依次代入上兩式,有:, (5)所以: (6

2、)其中(qzhng): (7)是原維特征空間(kngjin)里的樣本類內離散度矩陣,表示兩類均值向量之間的離散度大小,因此,越大越容易(rngy)區(qū)分。將(4.5-6)和(4.5-2)代入(4.5-4)式中: (8)其中:, (9)因此: (10)顯然: (11)稱為原d維特征空間里,樣本“類內離散度”矩陣。是樣本“類內總離散度”矩陣。為了便于分類,顯然越小越好,也就是越小越好。將上述的所有推導(tudo)結果代入表達式:可以(ky)得到:其中(qzhng),是一個比例因子,不影響的方向,可以刪除,從而得到最后解: (12)就使取得最大值,可使樣本由維空間向一維空間映射,其投影方向最好。是一個

3、Fisher線性判斷式.這個向量指出了相對于Fisher準則函數(shù)最好的投影線方向。2.近鄰法線簡述最近鄰(Nearest Neighbor,KNN)分類算法,是一個理論上比較成熟的方法,也是最簡單的機器學習算法之一。該方法的思路是:如果一個樣本在特征空間中的k個最相似(即特征空間中最鄰近)的樣本中的大多數(shù)屬于某一個類別,則該樣本也屬于這個類別。KNN算法中,所選擇的鄰居都是已經正確分類的對象。該方法在定類決策上只依據(jù)最鄰近的一個或者幾個樣本的類別來決定待分樣本所屬的類別。 KNN方法雖然從原理上也依賴于極限定理,但在類別決策時,只與極少量的相鄰樣本有關。由于KNN方法主要靠周圍有限的鄰近的樣本

4、,而不是靠判別類域的方法來確定所屬類別的,因此對于類域的交叉或重疊較多的待分樣本集來說,KNN方法較其他方法更為適合。將與測試樣本最近鄰樣本的類別作為決策的結果。對一個類別問題,每類有個樣本,,則第類的判別函數(shù)為: (1)因此,最近鄰決策規(guī)則:若 (2)3.設計思路根據(jù)公式用Matlab計算出w0,然后對測試數(shù)據(jù)進行與w0的比較進行分類。在用歐式距離進行分類。流程圖:算法(sun f)的流程設計圖。程序代碼: mine=xlsread(C:UsersAdministratorDesktopmine.xls); %導入mine數(shù)據(jù)(shj)rock=xlsread(C:UsersAdminist

5、ratorDesktoprock.xls); %導入rock數(shù)據(jù)(shj)amine=randsample(111,55,false); %產生55個隨機數(shù)作為mine行下標bmine=zeros(55,60);for i=1:55 for j=1:60 bmine(i,j)=mine(amine(i,1),j); mine(amine(i,1),j)=2; endend %選出mine訓練樣本dmine=zeros(56,60);r=1;for i=1:111 if mine(i,1)=2 i=i+1; else for j=1:60 dmine(r,j)=mine(i,j); end r=

6、r+1; endend %選出mine測試樣本cmine=zeros(1,60);for i=1:60 for j=1:55 cmine(1,i)=cmine(1,i)+bmine(j,i); endend arock=randsample(97,48,false);brock=zeros(48,60);for i=1:48 for j=1:60 brock(i,j)=rock(arock(i,1),j); rock(arock(i,1),j)=2; endend %選出rock的訓練樣本drock=zeros(49,60);p=1;for i=1:97 if rock(i,1)=2 i=i+

7、1; else for j=1:60 drock(p,j)=rock(i,j); end p=p+1; endend %選出rock的測試(csh)樣本crock=zeros(1,60);for i=1:60 for j=1:48 crock(1,i)=crock(1,i)+brock(j,i); endend%fisher線性判別(pnbi)mm=cmine/55; %mine的類均值(jn zh)向量mr=crock/48; %rock的類均值向量 mm=mm;mr=mr;s_mine=zeros(60,60);s_rock=zeros(60,60);for i=1:55 s_mine=s

8、_mine+(bmine(i,:)-mm)*(bmine(i,:)-mm);end %mine的類內離散度矩陣for i=1:48 s_rock=s_rock+(brock(i,:)-mr)*(brock(i,:)-mr);end %rock的類內離散度矩陣sw=s_mine+s_rock;w1=inv(sw)*(mm-mr); %最佳投影方向w0=w1*(mm+mr)/2; %閾值%畫坐標軸x=-1:2;y=-1:2;hold on;plot(x,y);y=w0;plot(y,y,xk); %閾值(y zh)的坐標text(0.6,0.5,w);text(-0.4,0,rock);text(

9、0.4,0.2,mine);title(fisher02125128);xlabel(mine);ylabel(rock);%測驗(cyn)分類器emine=0;erock=0;for i=1:56 y=w1*dmine(i,:); if yw0 plot(y,y,og); %分對的mine樣本(yngbn)的坐標 else plot(y,y,+m); emine=emine+1; %mine分錯的個數(shù) endendfor i=1:49 y=w1*drock(i,:); if yw0 plot(y,y,oc); %分對的rock樣本的坐標 else plot(y,y,+r); erock=er

10、ock+1; %rock分錯的個數(shù) endenddisp(w0);disp(erock/97);disp(emine/111);text(-0.2,0.63,errmine: num2str(emine*100/111) %);text(-0.2,-0.43,errrock: num2str(erock*100/97) %); %最近臨法 eemine=0; eerock=0; for i=1:56 min1=inf; min2=inf; for j=1:55 x=norm(dmine(i,1:60)-bmine(j,:); if(xmin1) min1=x; end end for jj=1

11、:48 y=norm(dmine(i,1:60)-brock(jj,:); if(ymin2) eemine=eemine+1; end end for i=1:49 min3=inf; min4=inf; for j=1:55 xx=norm(drock(i,1:60)-bmine(j,:); if(xxmin3) min3=xx; end end for jj=1:48 yy=norm(drock(i,1:60)-brock(jj,:); if(yymin3) eerock=eerock+1; end end disp(eemine/111); disp(eerock/97);運行(ynx

12、ng)結果截圖次數(shù)12345678910平均值erock0.15460.17530.19590.18560.07220.17530.19590.1340.21650.15460.1672emine0.13510.17120.10810.18920.15320.09910.12610.20720.15320.15320.1496eemine0.07210.09010.09010.08110.08110.07210.08110.06310.07210.09010.0793eerock0.17530.18560.17530.09280.16490.15460.13410.19590.18560.16490.1629結果(ji gu)分析可以(ky)看出近鄰法得到的識別率比fisher得到的識別率高,這也說明了近鄰法比fisher更優(yōu)。5.總結(zngji) 通過這次大作業(yè)更好的理解了fisher線性判別方法,又把學過的地方從頭看了幾遍,算作一次很好的復習,也通過這次大作業(yè)學會了matlab語言的基本使用,期間遇到很多問題,比如如何將數(shù)據(jù)導入到matlab中,如何將數(shù)據(jù)隨機分成兩份,如何將結果放到坐標圖上,在網上查了些函數(shù)又和室友討論了一下才解決了這些問題??偟膩碚f,收獲很大,更深入

溫馨提示

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

評論

0/150

提交評論