模式识别实验报告1ws

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

模式识别实验报告

5103班

3115390014

魏双

基于贝叶斯方法对鸢尾花数据的分类

一、实验原理

贝叶斯准则又称为最大后验概率,假定一个两类问题,先验概率分别为1()P ω和2()P ω。令X 为n 维向量,X 的类条件概率密度为1(X )p ω和2(X )p ω分别表示的。由全概率公式,可知观测样本X 出现的全概率密度为: 1122(X)(X )()(X )()p p P p P ωωωω=+ (1) 由贝叶斯公式,在观测样本X 出现的情况下,X 属于两个类别1ω和2ω的后验概率分别可表示为: 111(X )()P(X)(X)p P p ωωω= 222(X )()P(X)(X)

p P p ωωω= 这里,(X)p 由式(1)给出。如果规定把观测样本X 判归后验概率较大的类别,则相应的判决规则可表示为:

121

212P(X)P(X)P(X)P(X)X X ωωωωωω>⇒

∈>⇒∈

上述规则可进一步表示为:

11221

22112(X )()(X )()(X )()(X )()p P p P X p P p P X ωωωωωωωωωω>⇒∈>⇒∈

对于具有多个特征参数的样本150个(本实验的 IRIS 数据为 n =4 维)。实验中所用的数据集已经分成三类,假设本实验所使用的 IRIS 鸢尾花数据中各类数据服从正态分布,则概率密度函数为:

鸢尾花数据集包含了150个样本,分别是山鸢尾,变色鸢尾和维吉尼亚鸢尾。四个特征被用作样本的定量分析,分别是花瓣的长度和宽度。实验中所用的数据集已经分成三类,第一组为山鸢尾,第二组为变色鸢尾,第三组为维吉尼亚鸢尾。对于具有多个特征参数的样本,其正态分布的概率密度函数为:

}'mean -mean -21exp{-21x P 1-212n )()()()(X B X B π=

其中X 是n 维的行向量,B 是n*n 维的协方差矩阵,B 是B 的行列式,m ean 是均值。

(X )()

i 1,2,3i i pi p P ωω==

由其判决规则, X i

pi pj i j ω>⇒∈≠

即可对样本进行分类。

二、实验过程

(1)数据导入

导入data.txt 文件中数据,并将三类数据分别存储,每个数据都为一个4 维行特征向量。close all;

clear all;

clc;

A= load('data.txt');

B1=[A(1:5,:)];

B2=[A(51:56,:)];

B3=[A(101:105,:)];

(2)抽取数据分类计算

设置每组训练数据个数 NUM_train,从每类 50 个数据中随机抽取 NUM_train

个向量作为训练数据并存储,剩余数据作为测试样本存储。

N1=5;N2=5;N3=5;

Xp1=0.5; Xp2=0.5; Xp3=0.5;

mean1= mean(B1);

mean2= mean(B2);

mean3= mean(B3);

var1=cov(B1); n1=inv(cov(B1)); k1= det(var1) ;

var2=cov(B2); n2=inv(var2); k2= det(var2) ;

var3=cov(B3); n3=inv(var3); k3= det(var3);

(4)分类测试

一共分为三组(w1,w2)(w1,w3)(w2,w3),test=1代表(w1,w2)分类,test=2代表(w1,w3)分类,test=3代表(w2,w3)分类,针对某一训练数据x计算其判别函数Pi,比较两个值的大小,哪个最大,就可判断该数据属于哪一类。

G=[ A(6:50,:) ; A(106:150,:) ];

a=zeros(1,90);

a1=zeros(1, 90);

a2=zeros(1, 90);

for i=1:1:90

p1=-0.5* (G(i,:)-mean1)*n1*(G(i,:)-mean1)'-0.5*log(k1)+log(Xp1);

p2=-0.5* (G(i,:)-mean2)*n2*(G(i,:)-mean2)'-0.5*log(k2)+log(Xp2);

p3=-0.5* (G(i,:)-mean3)*n3*(G(i,:)-mean3)'-0.5*log(k3)+log(Xp3);

a1(i)=p1;a2(i)=p2;

if p1>p2

a(i)=1;

else

a(i)=2;

end

end

三、实验结果

(一)第一组和第二组

pω的表达式,a)分别取第一组和第二组的前10个样本作为训练样本,求出每一类别(X)i

pω的大小。得到的判然后对剩余的样本进行分类,此时先验概率均为0.5,比较(X)i

决结果如下:

Columns 1 through 10

1 1 1 1 1 1 1 1 1 1

Columns 11 through 20

1 1 1 1 1 1 1 1 1 1

Columns 21 through 30

1 1 1 1 1 1 1 1 1 1

Columns 31 through 40

1 1 1 1 1 1 1 1 1 1

Columns 41 through 50

2 2 2 2 2 2 2 2 2 2

Columns 51 through 60

2 2 2 2 2 2 2 2 2 2

Columns 61 through 70

2 2 2 2 2 2 2 2 2 2

Columns 71 through 80

2 2 2 2 2 2 2 2 2 2

成功率依然为100%,这说明每类10个数据也足够成功的将不同类的数据区分开来。

b)分别取第一组和第二组的前五个样本作为训练样本,然后再对剩余样本进行分类,结果

如下:

Columns 1 through 10

2 2 2 2 2 2 2 2 2 2

Columns 11 through 20

2 2 2 2 2 2 2 2 2 2

Columns 21 through 30

2 2 2 2 2 2 2 2 2 2

Columns 31 through 40

2 2 2 2 2 2 2 2 2 2

Columns 41 through 50

2 2 2 2 2 2 2 2 2 2

Columns 51 through 60

2 2 2 2 2 2 2 2 2 2

Columns 61 through 70

2 2 2 2 2 2 2 2 2 2

Columns 71 through 80

2 2 2 2 2 2 2 2 2 2

Columns 81 through 90

2 2 2 2 2 2 2 2 2 2

可见,当样本数量太少时,所提供的信息不足以区分两组类别。

c)若取第一组和第二组的5个差异比较大的样本作为训练样本,先验概率第一组取0.5,

第三组取0.5,判决结果如下:

Columns 1 through 10

1 1 1 1 1 1 1 1 1 1

相关文档
最新文档