Parzen窗估计及KN近邻估计实验报告.docx
- 文档编号:27724896
- 上传时间:2023-07-04
- 格式:DOCX
- 页数:18
- 大小:263.10KB
Parzen窗估计及KN近邻估计实验报告.docx
《Parzen窗估计及KN近邻估计实验报告.docx》由会员分享,可在线阅读,更多相关《Parzen窗估计及KN近邻估计实验报告.docx(18页珍藏版)》请在冰豆网上搜索。
Parzen窗估计及KN近邻估计实验报告
模式识别实验报告
题目:
Parzen窗估计及KN近邻估计
订
线
学
院
计算机科学及技术
1
专
业
XXXXXXXXXXXXXXXX
1
1
1
1
学
号
XXXXXXXXXXXX
1
1
1
1
1
姓
名
XXXX
1
1
1
指导教师
XXXX
20xx年xx月xx口
Parzen窗估计及KN近邻估计
一、实验目的
1/19
本实验的目的是学习Parzen窗估计和k最近邻估计方法。
在之前的模式识别研究中,我们假设概率密度函数的参数形式已知,即判别函数J(.)的参数是已知的。
本节使用非参数化的方法来处理任意形式的概率分布而不必事先考虑概率密度的参数形式。
在模式识别中有躲在令人感兴趣的非参数化方法,Parzen窗估计和k最近邻估计就是两种经典的估计法。
二、实验原理
1.非参数化概率密度的估计
对于未知概率密度函数的估计方法,其核心思想是:
一个向量x落在区域R中的概率可表示为:
其中,P是概率密度函数P(x)的平滑版本,因此可以通过计算P来估计概率密度函数p(x),假设n个样本xl,x2,-,xn,是根据概率密度函数p(x)独立同分布的抽取得到,这样,有k个样本落在区域R中的概率服从以下分布:
pk=(^)p\i-py^
其中k的期望值为:
E(k)=nP
k的分布在均值附近有着非常显著的波峰,因此若样本个数n足够大时,使用k/n作为概率P的一个估计将非常准确。
假设p(x)是连续的,且区域R足够小,则有:
I①p(x)V
Jr
如下图所示,以上公式产生一个待定值的相对概率,当n趋近于无穷大时,曲线的形状逼近一个S函数,该函数即是真实的概率。
公式中的V是区域R所包含的体积。
综上所述,可以得到关于概率密度函数p(x)的估计为:
在实际中,为了估计x处的概率密度函数,需要构造包含点x的区域
R1,R2,…,Rn。
第一个区域使用1个样本,第二个区域使用2个样本,以此类推。
记Vn为Rn的体积。
kn为落在区间Rn中的样本个数,而pn(x)
表示为对P(x)的第n次估计:
欲满足pn(x)收敛:
pn(x)-p(x),需要满足以下三个条件:
lim岭=0
limkn=8
MT8
limkn/n.—0
n-»8
有两种经常采用的获得这种区域序列的途径,如下图所示。
其中"Parzen窗方法”就是根据某一个确定的体积函数,比如Vn=l/Vn来逐渐收缩一个给定的初始区间。
这就要求随机变量kn和kn/n能够保证pn(x)能收敛到p(x)o第二种“k-近邻法”则是先确定kn为n的某个函数,如kn=Vno这样,体积需要逐渐生长,直到最后能包含进x的kn个相邻点。
口«=4护9rt-100
2.Parzen窗估计法
已知测试样本数据xl,X2,…,xn,在不利用有关数据分布的先验知识,对数据分布不附加任何假定的前提下,假设R是以x为中心的超立方体,h为这个超立方体的边长,对于二维情况,方形中有面积V二h"2,在三维情况中立方体体积V=h'3,如下图所示。
根据以下公式,表示X是否落入超立方体区域中:
估计它的概率分布:
N
吩2^$?
(宁)
1=1
其中n为样本数量,h为选择的窗的长度,©(.)为核函数,通常采用矩形窗和高斯窗。
3.k最近邻估计
在Parzen算法中,窗函数的选择往往是个需要权衡的问题,A最近邻算法提供了一种解决方法,是一种非常经典的非参数估计法。
基本思路是:
己知训练样本数据xl,x2,-,xn而估计p(x),以点x为中心,不断扩大体积Vn,直到区域内包含k个样本点为止,其中k是关于n的某一个特定函数,这些样本被称为点x的k个最近邻点。
当涉及到邻点时,通常需要计算观测点间的距离或其他的相似性度量,这些度量能够根据白变量得出。
这里我们选用最常见的距离度量方法:
欧儿里徳葩离。
最简单的情况是当k=l的情况,这时我们发现观测点就是最近的(最近邻)。
一个显著的事实是:
这是简单的、直观的、有力的分类方法,尤其当我们的训练集中观测点的数目n很大的时候。
可以证明,k最近邻估计的误分概率不高于当知道每个类的精确概率密度函数时误分概率的两倍。
三、实验基本步骤
样本
码七$
&
沉2兀3
X]牝屯
1
0.28
1.31
-6.2
0.011
1.03
-0.21
1.36
2.17
0.14
2
0.07
0.58
-0.78
1.27
1.28
0.08
L41
1.45
-0.38
3
1.54
2.01
-1.63
0.13
3.12
0.16
1.22
0.99
0.69
4
-0.44
1.18
-4.32
-0.21
1.23
-0.11
2.46
2.19
131
5
-0.81
0.21
5,73
-2.18
139
・0」9
0.68
0.79
0.87
6
1.52
3.16
2.77
0.34
1.96
-0.16
2.51
3.22
135
7
2.20
2.42
-0.19
-138
0.94
0.45
0.60
2.44
0.92
8
0.91
1.94
6.21
-0.12
0.82
0.17
0.64
0.13
0.97
9
0.65
1.93
438
-1.44
231
0.14
0.85
0.58
0.99
10
-0.26
0.82
-0.96
0.26
1.94
0.08
0.66
0.51
0.88
第一部分,对表格中的数据,进行Parzen窗估计和设计分类器,本实验的窗函数为一个球形的高斯函数,如下:
ocexp(―(x—无)(X—X[)/2h2)
1)编写程序,使用Parzen窗估计方法对一个任意的测试样本点x进行分类。
对分类器的训练则使用表格3中的三维数据。
同时,令h=1,分类样本点为(0.5,1.0,0.0),(0.31,1.51,-0.50),(-0.3,0.44,-0.1)进行实验。
2)可以改变h的值,不同的h将导致不同的概率密度曲线,如下图所示。
h二0.1时:
当2和时的二维正态槪至密度曲面
-2-2
h二0・5时:
当EOE时的二维正态概率密度曲面
1r
08>
06、
04、
02、
2
h二1时:
当21时的二维正态概率密废曲面
第二部分的实验目的是学习和学握非参数估计:
A近邻概率密度估计方法。
对前面表格中的数据进行k-近邻概率密度估计方法和设计分类器。
编写程序,对表格中的3个类别的三维特征,使用A近邻概率密度估计方法。
并且对下列点处的概率密度进行估计:
(-0.41,0.82,0.88),(0.14,0.72,4.1),(-0.81,0.61,-0.38)<>
四、实验代码如下:
%Parzen窗算法
%w:
c类训练样本
%X:
测试样本
%h:
参数
%输出P:
测试样本x落在每个类的概率
functionp二Parzen(w,x,h)
[xt,yt,ztj二size(w);
p二zeros(1,zt);
fori二1:
zt
hn二h;
forj二1:
xt
hn=hn/sqrt(j);
P(i)=P(i)+exp(-(x-w(j,:
i))*(x-w(j,:
i))>/(2*
power(hn,2)))/(hn*sqrt(2*3.14));
end
P(i)=P(i)/xt;
end
%k-最近邻算法
%w:
c类训练样本
%X:
测试样本
%k:
参数
functionp二kNearestNeighbor(w,k,x)
%w=[w(:
1);w(:
2);w(:
3)];
[xt,yt,ztj二size(w);
wt二[];%zeros(xt*zt,yt):
ifnargin二二2
p二zeros(1,zt);
fori二1:
xt
forj二1:
xt
dist(j,i)二norm(wt(i,:
)一wt(j,:
));
end
t(:
i)二sort(dist(:
i)):
m(:
i)=find(dist(:
i)<=t(k+1,i));%找到k个最近邻的编号
end
end
ifnargin二二3
forq二1:
zt
wt二[wt;w(:
:
q)];
[xt,yt]二size(wt);
end
fori二l:
xt
dist(i)二no:
rni(x-wt(i,:
));
end
t=sort(dist);%欧氏距离排序
La,b]二size(t);
m=find(dist<=t(k+1));%找到k个最近邻的编号
numl二length(find(m>0&m num2二1ength(find(m>10&m〈21)); num3=length(find(m>20&m<31)); ifyt二二3 plot3(w(: 1,1),w(: 2,1),w(: 3,1),? r.J); holdon; gridon; plot3(w(: 1,2),w(: 2,2),w(: 3,2),'g.'); plot3(w(: 1,3),w(: 2,3),w(: 3,3),'b.'); if(numl>num2)(numl>num3) plot3(x(l,1),x(l,2),x(l,3),ro*); disp(['点: [',num2str(x),']属于第一类']); elseif(num2>numl)(num2>num3) plot3(x(l,1),x(l,2),x(l,3),'go'); disp(['点: [',num2str(x),']属于第二类']); elseif(num3>numl)(num3>num2) plot3(x(l,1),x(l,2),x(l,3),bo'); disp(['点: [,,num2str(x),']属于第三类']); else dispC无法分类'); end end ifyt==2 plot(w(: 1,1),w(: 2,1),1r/); holdon; gridon; plot(w(: l,2),w(: 2,2),'g.'); plot(w(: l,3),w(: 2,3),'b.'); if(numl>num2)|(numl>num3) plot(x(l,1),x(l,2),5ro*); disp(['点: [',num2str(x),']属于第一类']); elseif(num2>numl)(num2>num3) plot(x(l,1),x(l,2),'go1); disp(['点: [',num2str(x),']属于第二类’]); elseif(num3>numl)(num3>num2) plot(x(l,l),x(l,2),'bo'); disp(['点: [,,num2str(x),']属于第三类']); else dispC无法分类J; endendendtitleCk-最近邻分类器J; legendC第一类数据',… '第三类数据 '测试样本点J; clear; closeall; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% wl(: : 2) %Parzen窗估计和k最近邻估计 wl(: : 1)=[0.28 1.31 -6.2; 0.07 0.58 -0.78; 1.54 2.01 -1.63; -0.44 1.18 -4.32; -0.81 0.21 5.73; 1.52 3.16 2.77; 2.20 2.42 -0.19; 0.91 1.94 6.21; 0.65 1.93 4.38; -0.26 0.82 -0.96]; [0.0111.03-0.21; 1.27 1.28 0.08; 0.13 3.12 0.16; -0.21 1.23 -0.11; 一2・18 1.39 -0.19; 15/19 0.34 1.96 -0.16; -1.38 0.94 0.45; -0.12 0.82 0.17; -1.44 2.31 0.14; 0.26 1.94 0.08]; [1.36 2.17 0.14; 1.41 1.45 -0.38; 1.22 0.99 0.69; 2.46 2.19 1.31; 0.68 0.79 0.87; 2.51 3.22 1.35; 0.60 2.44 0.92; 0.64 0.13 0.97; 0.85 0.58 0.99; 0.66 0.51 0.88]; x(l,: )二[0.510]; x(2,: )=[0.311.51-0.5]; x(3,: )=[-0.30.44-0.1]; %验证h的二维数据 w2(: : ! )=[0.281.31 0.070.58 1.54 2.01; -0.44 1.18; -0.81 0.21; 1.52 3.16; 2.20 2.42; 0.91 1.94; 0.65 1.93; -0.26 0.82] w2(: : 2)=[0.011 1.03; 1.27 1.28; 0.13 3.12; -0.21 1.23; -2.18 1.39; 0.34 1.96; -1.38 0.94; -0.12 0.82; -1.44 2.31; 0.26 1.94] w2(: : 3)=[1.36 2.17; 1.41 1.45; 1.22 0.99; 2.462.19; 0.680.79; 2.513.22; 0.602.44; 0.640.13; 0.850.58; 0.660.51]; y(l,: )=[0.51]; y(2,: )=[0.311.51]; y(3,: )=[-0.30.44]; h=.1;%重要参数 p=Parzen(wl,x(1,: ),h); num=find(p==max(p)); disp(['点: [,,num2str(x(l,']落在三个类别的概率分别为: ',num2str(p)]); disp(['点: [',num2str(x(l,: )),']落在第',num2str(num),'类']); %给定三类二维样本,画出二维正态概率密度曲面图验证h的作用 num=1;%第num类的二维正态概率密度曲面图,取值为1,2,3draw(w2,h,num); strl=,当h二': str2=num2str(h): str3-时的二维正态概率密度曲面'; SC=[strl,str2,str3]; title(SC); %k近邻算法设计的分类器 %xl和yl为测试样本 xl=[-0.41,0.82,0.88]; x2=[0.14,0.72,4.1]; x3二[-0.81,0.61,-0.38]; y(l,: )=[0.51]; y(2,: )=[0.311.51]; y(3,: )=[-0.30.44]; w=wl; %w=wl(: 1,3); k=5; kNearestNeighbor(w,k,xl);kNearestNeighbor(w,k,x2);kNearestNeighbor(w,k,x3);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Parzen 估计 KN 近邻 实验 报告