Bayes分类器设计说明
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验二 Bayes分类器设计
一、实验目的
通过实验,加深对统计判决与概率密度估计基本思想、方法的认识,了解影响Bayes分类器性能的因素,掌握基于Bayes决策理论的随机模式分类的原理和方法。
二、实验容
设计Bayes决策理论的随机模式分类器。
假定某个局部区域细胞识别中正常(a
1)和非正常(a
2
)两类先验概率分别
为正常状态:P(a
1)=0.9;异常状态:P(a
2
)=0.1。
三、方法手段
Bayes分类器的基本思想是依据类的概率、概密,按照某种准则使分类结果从统计上讲是最佳的。换言之,根据类的概率、概密将模式空间划分成若干个子空间,在此基础上形成模式分类的判决规则。准则函数不同,所导出的判决规则就不同,分类结果也不同。使用哪种准则或方法应根据具体问题来确定。
四、Bayes算法
1.实验原理
多元正太分布的概率密度函数由下式定义
由最小错误概率判决规则,可得采用如下的函数作为判别函数
度函数,而N为类别数。
由于对数函数为单调变化的函数,用上式右端取对数后得到的新的判别函数
显然,上式中的第二项与样本所属类别无关,将其从判别函数中消去,不会
2.实验步骤
1、求出两类样本的均值
2、求每一类样本的协方差矩阵
式中,l 代表样本在类中的序号,其中
l 个样本,第j 个特征值;
j 个特征的平均值
l 个样品,第k 个特征值;
k 个特征的平均值。
3
4、求出每一类的先验概率
5、将各个数值代入判别函数
判别边界为
五、Bayes分类器实验结果
已知(图1)数据a=[0.3760 0.0240 0.2440 -0.1740 0.0460 -0.3940 0.3760 0.7720 0.2660 0.5080 -0.4380 -0.0640 0.8160 0.5960 0.1120 0.3540 0.8380 -0.7680 0.4200 -0.7900];其满足正态分布(图2)。
1. 最小错误率贝叶斯决策
图1 样本数据
图2 样本的类条件概率
根据最小错误率准侧,计算其后验条件概率(图3),通过程序运行出结果细胞分类结果为:
1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0,其中,0为判成正常细胞,1为判
成异常细胞。
图3 后验条件概率
2. 最小风险贝叶斯决策
根据最小风险判别准侧,其损失函数赋值为r=[0 1000 0;200 0 0],则计算其条件风险概率(图4)通过程序运行出结果细胞分类结果为:
1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 0 1 1 1,其中,0为判成正常细胞,1为判成异常细胞。
图4 条件风险概率
3.两类分类器结果不同原因分析
由最小错误率的贝叶斯判决和基于最小风险的贝叶斯判决得出图形中的分
类结果可以看出,样本0.0240,0.2440等在前者中被分为“正常细胞”,在后
者被分为“异常细胞”,分类结果不同。因为在给予最小风险贝叶斯判决中,影
响决策结果的因素多了损失r这一项,所以当结合最小风险贝叶斯决策表进行计
算时,‘损失’起了主导作用,导致出现两者结果的不一致。
六、Bayes分类器程序代码
function y=my_bayes(n,a)
%%%%%%%%%%%%%最小错误率贝叶斯决策
% 构造实验数据
a=[0.3760 0.0240 0.2440 -0.1740 0.0460 -0.3940 0.3760 0.7720 0.2660 0.5080 -0.4380 -0.0640 0.8160 0.5960 0.1120 0.3540 0.8380 -0.7680 0.4200 -0.7900];
n=20; % 样本数
a=(round(100*rand(n,1))/100)*2.2-0.9;
% 样本数为n,特征数为1,数据在-0.9与1.3之间
figure
plot(1:n,a,'rx')
xlabel('样本数');
ylabel('生化化验值');
title('样本数据:生化化验值');
pause;
% 先验概率
P=[0.9 0.1];
% 作类条件概率密度曲线p(x|wi)
x=-0.9:0.01:1.3;
px(1,:)=(1/(sqrt(2*pi)*0.3))*exp(-0.5*(x/0.3).^2);
px(2,:)=(1/(sqrt(2*pi)*0.1))*exp(-0.5*((x-1)/0.1).^2); figure;
plot(x,px(1,:),'b',x,px(2,:),'r--');
xlabel('生化化验值');
ylabel('概率密度');
title('类条件概率密度曲线')
axis tight;
pause;
% 作后验概率曲线
for i=1:2
pwx(i,:)=px(i,:)*P(i)./(px(1,:)*P(1)+px(2,:)*P(2)); end
figure;
plot(x,pwx(1,:),'b',x,pwx(2,:),'r--');
xlabel('生化化验值');
ylabel('后验概率');
title('后验概率曲线')
axis tight;
pause;
% 计算给定生化化验值的类条件概率密度曲线
for j=1:n
s=a(j);
PXW1=spline(x,px(1,:),s);
PXW2=spline(x,px(2,:),s);
PXW=[PXW1,PXW2];
disp('样本')
s
%计算后验概率,判断输出
for i=1:2
Pwx(i)=PXW(i)*P(i)/(PXW(1)*P(1)+PXW(2)*P(2)); end
disp('后验概率 P(wi|x)=')
Pwx