模式識別——用身高和或體重數據進行性別分類_第1頁
模式識別——用身高和或體重數據進行性別分類_第2頁
模式識別——用身高和或體重數據進行性別分類_第3頁
模式識別——用身高和或體重數據進行性別分類_第4頁
模式識別——用身高和或體重數據進行性別分類_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、用身高和/或體重數據進行性別分類 1、【實驗目的】(1)掌握最小錯誤率Bayes分類器的決策規(guī)則(2)掌握Parzen窗法(3)掌握Fisher線性判別方法(4)熟練運用matlab的相關知識。2、【實驗原理】(1)、最小錯誤率Bayes分類器的決策規(guī)則如果在特征空間中觀察到某一個(隨機)向量x = ( x1 , x2 , xd )T,已知類別狀態(tài)的先驗概率為:和類別的條件概率密度為,根據Bayes公式得到狀態(tài)的后驗概率 有:基本決策規(guī)則:如果,則,將 x 歸屬后驗概率最大的類別 。(2)、掌握Parzen窗法對于被估計點X:其估計概率密度的基本公式,設區(qū)域 RN 是以 hN 為棱長的 d 維

2、超立方體,則立方體的體積為;選擇一個窗函數,落入該立方體的樣本數為,點 x 的概率密度:其中核函數:,滿足的條件:;。(3)、Fisher線性判別方法Fisher線性判別分析的基本思想:通過尋找一個投影方向(線性變換,線性組合),將高維問題降低到一維問題來解決,并且要求變換后的一維數據具有如下性質:同類樣本盡可能聚集在一起,不同類的樣本盡可能地遠。 Fisher線性判別分析,就是通過給定的訓練數據,確定投影方向W和閾值y0,即確定線性判別函數,然后根據這個線性判別函數,對測試數據進行測試,得到測試數據的類別。線性判別函數的一般形式可表示成 ,其中 根據Fisher選擇投影方向W的原則,即使原樣

3、本向量在該方向上的投影能兼顧類間分布盡可能分開,類內樣本投影盡可能密集的要求,用以評價投影方向W的函數為: 上面的公式是使用Fisher準則求最佳法線向量的解,該式比較重要。另外,該式這種形式的運算,我們稱為線性變換,其中式一個向量,是的逆矩陣,如是d維,和都是d×d維,得到的也是一個d維的向量。向量就是使Fisher準則函數達極大值的解,也就是按Fisher準則將d維X空間投影到一維Y空間的最佳投影方向,該向量的各分量值是對原d維特征向量求加權和的權值。以上討論了線性判別函數加權向量W的確定方法,并討論了使Fisher準則函數極大的d維向量的計算方法,但是判別函數中的另一項尚未確定

4、,一般可采用以下幾種方法確定如或者或當與已知時可用當W0確定之后,則可按以下規(guī)則分類:3、【實驗內容及要求】(1)、實驗對象Datasetf1.TXT 女生的身高、體重數據Datasetm1.TXT男生的身高、體重數據- 訓練樣本集 Dataset1.txt 328個同學的身高、體重、性別數據Dataset2.txt 124個同學的身高、體重、性別數據- 測試樣本集(2)基本要求: (1) 用Datasetf1.TXT和Datasetm1.TXT的數據作為訓練樣本集,建立Bayes分類器,用測試樣本數據對該分類器進行測試。調整特征、分類器等方面的一些因素,考察它們對分類器性能的影響,從而加深對

5、所學內容的理解和感性認識。(試驗直接設計線性分類器的方法,與基于概率密度估計的貝葉斯分離器進行比較)(2) 試驗非參數估計,體會與參數估計在適用情況、估計結果方面的異同。4、【實驗結果與分析】(1)、Bayes分類器的實驗結果與分析A、對于Dataset1.txt 328個同學的身高、體重、性別數據的測試樣本集:A1、當先驗概率為:男0.5,女0.5時:身高分類錯誤個數: 15 身高分類錯誤率為: 12.10%體重分類錯誤個數: 15 體重分類錯誤率為: 12.10%【實驗結果:】A2、當先驗概率為:男0.75,女0.25時:身高分類錯誤個數: 19 身高分類錯誤率為: 15.32%體重分類錯

6、誤個數: 14 體重分類錯誤率為: 11.29%B、對于Dataset2.txt 124個同學的身高、體重、性別數據的測試樣本集:B1、當先驗概率為:男0.5,女0.5時:身高分類錯誤個數: 16 身高分類錯誤率為: 12.90%體重分類錯誤個數: 21 體重分類錯誤率為: 16.94%【實驗結果:】B2、當先驗概率為:男0.75,女0.25時:身高分類錯誤個數: 31 身高分類錯誤率為: 25.00%體重分類錯誤個數: 35 體重分類錯誤率為: 28.23%【結果分析:】Dataset1.txt樣本數據集中,男女先驗概率為(0.71vs0.29);Dataset2.txt樣本數據集中,男女先

7、驗概率為(0.66vs0.34)。對比實驗結果,可以發(fā)現身高的分類錯誤率都小于體重的分類錯誤率,樣本集越大,各個特征對應的分類錯誤率就越小。假設先驗概率為(0.5vs0.5)的分類錯誤率小于假設先驗概率為(0.75vs0.25)的分類集,就算假設的先驗概率與實際的很相近,可是結果不準確。程序框圖Bayes分類器源程序實驗代碼:clear all;load datasetf1.txt; load datasetm1.txt;%樣本的分析figure;for i=1:250 if(i<79) plot(datasetf1(i,2),datasetf1(i,1),'r+');

8、end plot(datasetm1(i,2),datasetm1(i,1),'k*'); hold on;endtitle('樣本數據');xlabel('體重(Kg)'),ylabel('身高(cm)');legend('男生','女生');fid=fopen('dataset1.txt','r'); test1=fscanf(fid,'%f %f %s',3,inf);test=test1'fclose(fid);Fmean = mean

9、(datasetf1);Mmean = mean(datasetm1);Fvar = std(datasetf1);Mvar = std(datasetm1);preF = 0.5;preM = 0.5;error = 0;Nerror = 0;%身高的決策figure;for i = 1:124PFheight = normpdf(test(i,1),Fmean(1,1),Fvar(1,1) ;PMheight = normpdf(test(i,1),Mmean(1,1),Mvar(1,1) ;pFemale = preF*PFheight;pMale = preM*PMheight; if

10、(pFemale<pMale) plot(i,test(i,1),'k*'); if (test(i,3)='f') Nerror = Nerror +1; end else plot(i,test(i,1),'r+'); if (test(i,3)='M') Nerror = Nerror +1; end end hold on;end;error = Nerror/124*100;title('身高最小錯誤率Bayes分類');xlabel('測試序號'),ylabel('身高(c

11、m)');sprintf('%s %d %s %0.2f%s','身高分類錯誤個數:',Nerror,'身高分類錯誤率為:',error,'%')%體重決策figure;error = 0;Nerror = 0;for j= 1:124PFweight = normpdf(test(j,2),Fmean(1,2),Fvar(1,2) ;PMweight = normpdf(test(j,2),Mmean(1,2),Mvar(1,2) ;pwFemale = preF*PFweight;pwMale = preM*PMwei

12、ght;if(pwFemale<pwMale) plot(j,test(j,2),'k*'); if (test(j,3)='f') Nerror = Nerror +1; end else plot(j,test(j,2),'r+'); if (test(j,3)='M') Nerror = Nerror +1; end end hold on;end;error = Nerror/124*100;title('體重最小錯誤率Bayes分類');xlabel('測試序號'),ylabel(&

13、#39;體重(kg)');sprintf('%s %d %s %0.2f%s','體重分類錯誤個數:',Nerror,'體重分類錯誤率為:',error,'%')(2)、Parzen窗法的實驗結果與分析(先驗概率為0.5vs0.5)A、對于Dataset1.txt中有78個女生和250個男生, 共328個同學的身高、體重、性別數據的測試樣本集的結果:女生人數為:84; 男生人數為:244; 拒分人數:0;女生錯分人數:4; 男生錯分人數:33;總的錯分人數:37;女生分類錯誤率: 0.0800; 男生分類錯誤率:0.132

14、0; 總的分類錯誤率:0.1128;B、對于Dataset2.txt中有40個女生和84個男生, 共124個同學的身高、體重、性別數據的測試樣本集:女生人數為:41; 男生人數為:83;拒分人數:0;女生錯分人數:15; 男生錯分人數:6;總的錯分人數:21;女生分類錯誤率: 0.3000; 男生分類錯誤率:0.0240 ; 總的分類錯誤率: 0.1694 ;結果分析:Parzen窗法的分類結果比較準確,樣本集越大,錯誤率就越小。Parzen窗法的源程序代碼:clc; clear all; FH FW=textread('datasetf1.txt','%f%f'

15、;); MH MW=textread('datasetm1.txt','%f%f'); FA=FH FW; MA=MH MW; N1=max(size(FA);h1=7; hn1=h1/(sqrt(N1); VN1=hn12; N2=max(size(MA); h2=7; hn2=h2/(sqrt(N2); VN2=hn22; tH tW=textread('dataset1.txt','%f%f%*s'); X=tH tW; M N=size(X); s=zeros(M,1); error=0; errorgirl=0; err

16、orboy=0; errorrate=0; errorgirlrate=0; errorboyrate=0; girl=0; boy=0; bad=0; for k=1:M A=X(k,1) X(k,2); x=A; p=0.5;%p為屬于女生的先驗概率,則1-p為男生的先驗概率 pp=0; for i=1:N1 fa=FA(i,1) FA(i,2); n=1/sqrt(2*pi)*exp(-0.5*abs(x-fa)*(x-fa)')/(hn12); pp=pp+n; end p1=1/VN1*pp' y1=1/N1*p1;%是女生的條件概率密度函數 qq=0; for j=1:N2 ma=MA(j,1) MA(j,2); m=1/sqrt(2*pi)*exp(-0.5*abs(x-ma)*(x-ma)')/(hn22); qq=m+qq; end q1=sum(1/VN2*qq'); y2=1/N2*q1;%男生的概率密度函數,即其條件概率 g=p*y1-(1-p)*y2;%g為判別函數 if g>0 if k<=50 s(k,1)=0;%判為女生 girl=girl+1; else errorboy=errorboy+1; end else if g<0 if k<=5

溫馨提示

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

評論

0/150

提交評論