




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、模式識別原理與應用非參數(shù)估計 第四周一、 密度估計上圖為一個N(-5,4)正態(tài)分布和N(5,2)正態(tài)分布相疊加的分布,后面將圍繞這個分布分別使用直方圖密度估計和核密度估計。1、基于直方圖密度估計基于直方圖密度估計的缺點:樣本量要大,間隔控量,不光滑,下面為直方圖密度估計的代碼:clear;% 繪制原始圖像X=(-25:0.002:15);Y=(normpdf(X,-5,4)+normpdf(X,5,2)/2;figure(1);plot(X,Y);% 隨機生成1000個N(-5,4)正態(tài)分布和1000個N(5,2)正態(tài)分布rndDistribute=normrnd(-5,4,1000,1);n
2、ormrnd(5,2,1000,1);n=2000; % 直方圖生成dif=1; %直方圖間隔n=(max(rndDistribute)-min(rndDistribute)/dif; %直方圖條數(shù)H X=hist(rndDistribute,n);H=H/sum(H)/dif;figure(2);bar(X,H);結果:2、核密度估計概率密度函數(shù)為pnx=knnVn=1n i=1n1VnK(x-xihn) ,其中K(u)為核函數(shù),這里給出兩種常用的核函數(shù)。利用核函數(shù)Ku=1u120otherwise得到的結果:其中,hn分別為0.5,0.8,1,2。利用核函數(shù)Kz=12exp-z22得到的結
3、果:其中,hn分別為0.5,0.8,1,2。這里程序定義了兩個函數(shù):Kernel.m,Density.m。Kernel.m主要是通過傳入的method參數(shù)來分別調用這兩種核函數(shù),Density.m是計算核密度估計公式pnx=1n i=1n1VnK(x-xihn)主程序就是根據(jù)不同的參數(shù)調用Density并繪制圖像。源代碼如下:function K = Kernel( ui,method )%KERNEL 01核 高斯核 if strcmp(method,'01') t=zeros(size(ui); t(abs(ui)<=0.5)=1; K=sum(t); elseif
4、strcmp(method,'GAS') t=1/sqrt(2*pi).*exp(-ui.2/2); K=sum(t); endendfunction kn = Density(rndDistribute, x,hn,method )%公式計算 kn=zeros(size(x); for i=1:1:size(x,2); kn(i)=Kernel(rndDistribute-x(i)/hn,method)/hn; end kn=kn/size(rndDistribute,1);endclear;% 繪制原始圖像X=(-25:0.002:15);Y=(normpdf(X,-5,4
5、)+normpdf(X,5,2)/2;figure(1);plot(X,Y);% 隨機生成1000個N(-5,4)正態(tài)分布和1000個N(5,2)正態(tài)分布rndDistribute=normrnd(-5,4,1000,1);normrnd(5,2,1000,1);n=2000;% 核密度估計% 01核 和 高斯核% hn 分別為 0.5 0.8 1 2% 01核figure(2);x=-25:0.01:15;hn=0.5;kn=Density(rndDistribute,x,hn,'01');subplot(2,2,1);plot(x,kn);hn=0.8;kn=Density
6、(rndDistribute,x,hn,'01');subplot(2,2,2);plot(x,kn);hn=1;kn=Density(rndDistribute,x,hn,'01');subplot(2,2,3);plot(x,kn);hn=2;kn=Density(rndDistribute,x,hn,'01');subplot(2,2,4);plot(x,kn);% 高斯核figure(3);x=-25:0.01:15;hn=0.5;kn=Density(rndDistribute,x,hn,'GAS');subplot(2
7、,2,1);plot(x,kn);hn=0.8;kn=Density(rndDistribute,x,hn,'GAS');subplot(2,2,2);plot(x,kn);hn=1;kn=Density(rndDistribute,x,hn,'GAS');subplot(2,2,3);plot(x,kn);hn=2;kn=Density(rndDistribute,x,hn,'GAS');subplot(2,2,4);plot(x,kn);二、 k近鄰分類器(kNN)根據(jù)貝葉斯公式Pwix=pnxwiPwipnx,其中Pwi=nin、pnxwi
8、=kiniVn、pnx=knnVn,得出Pwix=kikn。也即,某點的類別和其鄰域內相鄰的幾個點有關(k1+k2+kc=kn,n1+n2+nc=n)。這里用的是iris數(shù)據(jù)拿來測試,iris數(shù)據(jù)每類的前25個為訓練數(shù)據(jù),每類的后25個為測試數(shù)據(jù)。clear;% 加載數(shù)據(jù)load fisheriris;irisFeatures=meas;% 創(chuàng)建訓練數(shù)據(jù)和測試數(shù)據(jù)irisTrain=irisFeatures(1:25,:);irisFeatures(51:75,:);irisFeatures(101:125,:);irisTrainNum=ones(25,1);ones(25,1)*2;one
9、s(25,1)*3;irisTest=irisFeatures(26:50,:);irisFeatures(76:100,:);irisFeatures(126:150,:);% 創(chuàng)建knn分類器,近鄰點個數(shù)為15mdl=fitcknn(irisTrain,irisTrainNum,'NumNeighbors',15);% 預測測試點的類別irisTestNum=predict(mdl,irisTest);% 統(tǒng)計結果sum=0;for i=1:1:75 if(irisTestNum(i) = irisTrainNum(i) sum=sum+1; endenddisp(1-su
10、m/75.0);% 顯示結果stem(irisTestNum);這里采用的是15近鄰分類器,其中測試數(shù)據(jù)的準確率達到93.33%。下圖為具體的結果。三、 MeanShift聚類MeanShift可以用與聚類、圖像處理以及運動跟蹤上,其核心公式為x=i=1nxiKx-xihi=1nKx-xih通過多次迭代,最終可以收斂到局部最優(yōu)的位置,其中核函數(shù)K()為Kz=12exp-z22算法的大致流程為:第一步、從x*=xj出發(fā)第二步、 x=i=1nxiKx*-xihi=1nKx*-xih,若x-x*2<則中止迭代,否則x*=x繼續(xù)第二步這里我們測試這個算法的性能,如下圖為隨機生成滿足二維正態(tài)分布的
11、兩組點。我們使用MeanShift算法進行聚類:如上圖,可以看到聚類的效果還是比較理想的,這里設置的h=2。h太小或者太大會大大的影響結果,所以這里對于h的取值要適度。附上代碼:clear;% 隨機生成滿足二維正態(tài)分布的兩組點mu1=5 5;s1=1 0;0 1;n1=100;mu2=10 10;s2=2 0;0 1;n2=100;n=n1+n2;data=mvnrnd(mu1,s1,n1);mvnrnd(mu2,s2,n2);figure(1);plot(data(:,1),data(:,2),'*'); % meanshifth=2; %核大小sortNum=zeros(n
12、,2); %最終迭代點dif=0.01; %設置終止迭代的條件for j=1:1:n x=data(j,:); pre_x=0 0; while norm(pre_x-x)>dif pre_x=x; u=0 0; %分子 d=0; %分母 %公式 分子和分母 累加 for i=1:n ui=(x-data(i,:)/h; k=(1/sqrt(2*pi)*exp(-0.5*norm(ui).2); %高斯核 u=u+data(i,:)*k; d=d+k; end x=u/d; end sortNum(j,:)=x;end% 聚類label=zeros(n,1); %創(chuàng)建標簽nowId=1;
13、 %最大類別idlabel(1)=nowId; %設置第一個點的標簽為1% 計算所有點的標簽for i=2:1:size(sortNum,1) % 將該點的最終迭代坐標與已知標簽點的最終迭代坐標比較 % 這里設置兩坐標之差的二范數(shù)小于2到3倍的dif 則聚為一類 % 否則為新的標簽 flag=0; %用來判斷是否找到同類的點 for j=1:1:i-1 if norm(sortNum(i,:)-sortNum(j,:)<dif*3 label(i)=label(j); flag=1; break; end end if(flag=0) nowId=nowId+1; label(i)=nowId;
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基底節(jié)解剖課件
- 交互電視數(shù)據(jù)業(yè)務的演進與終端接收算法的創(chuàng)新研究
- 中國收入不平等倒U問題再審視:基于三種估計方法的實證探究
- RUNX3與小檗堿:胃癌治療的新曙光-基于基因調控與細胞增殖凋亡機制的探究
- 基層監(jiān)管所培訓課件
- 基層應急知識培訓課件
- 新解讀《GB-T 34953.4-2020信息技術 安全技術 匿名實體鑒別 第4部分:基于弱秘密的機制》
- 培訓課件準備
- 家政按摩考試題及答案
- 合理碰撞測試題及答案
- 體彩店雇人雇傭合同6篇
- 青少年抑郁癥的癥狀辨識
- 《車船稅法》課件
- JJF 2158-2024 熱量表型式評價大綱
- 客戶投訴制度
- 公司領導碰頭會制度
- 賁門縮窄術后的護理
- 樓板下加鋼梁加固施工方案
- 食堂食材配送服務應急預案
- 外感病因辨證
- 骨科手術的圍手術期疼痛管理
評論
0/150
提交評論