I 模式识别实验报告
I
I
I
I
I
I
| 题目:Parzen窗估计与KN近邻估计
I
装
订
线
, 学 院计算机科学与技术
! 专 业 XXXXXXXXXXXXXXXX
I
I
I 学 号
-
1心
心2】
136
2J7
2
-078
L28
0,08
L41
-
3
-L63
0,16
1 77
0,99
4
-
L18
-
-
心11
246
£19
5
-
5,73
-2,18
139
6
2J7
L96
-
251
7
-
-
8
1.?4
6J1
-0,12
0,17
9
L93
438
-
231
lfl
-0,26
0,82
-
194
第一部分,对表格中的数据,进行Parzen窗估计和设计分类器,本实验的窗函数为一 个球形的高斯函数,如下:
编写程序,使用Parzen窗估计方法对一个任意的测试样本点x进行分类。对分类
器的训练则使用表格 3中的三维数据。同时,令 h =1,分类样本点为(,,),
(,,-), (-,,-)进行实验。
可以改变h的值,不同的h将导致不同的概率密度曲线,如下图所示。
h= 时:
当冋1时的二维正态概率密度曲面
-,■ ■■ ■ ■■
h= 时:
当h=
h=1 时:
当hh时的二维正态概率密度啟面
-2
第二部分的实验目的是学习和掌握非参数估计:k-近邻概率密度估计方法。对前面表格 中的数据进行k-近邻概率密度估计方法和设计分类器。
编写程序,对表格中的3个类别的三维特征,使用k-近邻概率密度估计方法。并且对 下列点处的概率密度进行估计:(-,,), (,, ) , (-,,-)。
四、实验代码如下: % Parzen窗算法
% w:c类训练样本
% x:测试样本
% h:参数
%输出P:测试样本x落在每个类的概率 function p = Parzen(w,x,h)
[xt,yt,zt] = size(w);
p = zeros(1,zt);
for i = 1:zt
hn = h;
for j = 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*));
end
p(i) = p(i) / xt;
end
% k-最近邻算法
% w:c类训练样本
% x:测试样本
% k:参数
function p = kNearestNeighbor(w,k,x)
% w = [w(:,:,1);w(:,:,2);w(:,:,3)];
[xt,yt,zt] = size(w);
wt = [];%zeros(xt*zt, yt);
if nargin==2
p = zeros(1,zt);
for i = 1:xt
for j = 1:xt
dist(j,i) = norm(wt(i,:) - wt(j,:));
end
t(:,i) = sort(dist(:,i));
m(:, i) = find(dist (:, i) < t (k+l,i)); % 找到 k 个最近邻的编号
end
end if nargin==3
for q = 1:zt
wt = [wt; w(:,:,q)]; [xt,yt] = size(wt);
end
for i = 1:xt dist(i) = norm(x - wt(i,:));
end
t = sort(dist); %
Parzen窗估计与KN近邻估计实验报告 来自淘豆网m.daumloan.com转载请标明出处.