模式识别实验报告1ws
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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