资源描述
实验二 贝叶斯最小错误率分类器设计
一、实验目的
1. 了解模式识别中的统计决策原理
2. 熟悉并会根据给出的相关数据设计贝叶斯最小错误率分类器。
3. 熟悉并会使用matlab进行相关程序的编写
二、实验原理
分类器的设计首先是为了满足对数据进行分门别类,是模式识别中一项非常基本和重要的任务,并有着极其广泛的应用。其定义是利用预定的已分类数据集构造出一个分类函数或分类模型(也称作分类器),并利用该模型把未分类数据映射到某一给定类别中的过程。
分类器的构造方法很多,主要包括规则归纳、决策树、贝叶斯、神经网络、粗糙集、以及支持向量机(SVM)等方法。其中贝叶斯分类方法建立在贝叶斯统计学的基础之上,能够有效地处理不完整数据,并且具有模型可解释、精度高等优点,而被认为是最优分类模型之一。本实验就是基于贝叶斯方法的分类器构造,其中构造的准则是最小错误率。下面,我们对最小错误率的分类器设计做一个简单的回顾。
假设是一个二类的分类问题,有两类。若把物体分到类中,那么所犯的错误有两种情况,一种是物体本属于类,分类正确,错误率为0;另一种情况是,物体本属于类,分类错误,错误率就为。因此,要使得错误率最小的话,就应该最大。而第一种情况,也可以归属于。因此,基于贝叶斯最小错误率的二类分类决策规则可以表述为如下表达式。
同理,推广到多类分类,比如说有N类时,贝叶斯最小错误率分类决策规则可以做出如下表述:
从上述表达式,我们可以看出,贝叶斯最小错误率分类器设计的决策规则就相当于后验概率最大的决策规则。
三、实验内容与要求
1. 实验数据
任务:将细胞识别进行正常和异常的两类分类
已知数据:假定某个局部区域细胞识别中正常()和非正常()两类,其中先验概率分别为
正常状态:P()=0.9;
异常状态:P()=0.1。
两类的类条件概率分布为参数是(-2,0.25)和(2,4)的正态分布。
现有一系列待观察的细胞,其观察值为表1所示。
序号
1
2
3
4
5
6
7
8
观察值
3.9847
-3.5549
1.2401
-0.9780
-0.7932
-2.8531
-2.7605
-3.7287
类别
序号
9
10
11
12
13
14
15
16
观察值
-3.5414
-2.2692
-3.4549
-3.0752
-3.9934
2.8792
-0.9780
0.7932
类别
序号
17
18
19
20
21
22
23
24
观察值
1.1882
3.0682
-1.5799
1.4885
0.7431
-0.4221
-1.1186
4.2532
类别
2. 实验要求
(1)用Matlab完成分类器的设计,要求程序相应语句有说明文字,最好有子程序的调用过程。
(2)根据例子画出后验概率的分布曲线,并给出分类的结果填入表1中。
选作:假若决策准则为贝叶斯最小风险,且决策表如下所示:
最小风险贝叶斯决策表:
状态
决策
α1
0
6
α2
1
0
请重新设计程序,画出相应的后验概率的分布曲线和分类结果,并比较两个结果。
实验原理及内容:
在已知P(wi),P(X|wi) ,i=1,…,c 及给出待识别的X的情况下,根据贝叶斯公式计算出后验概率:
假设是一个二类的分类问题,有两类。若把物体分到类中,那么所犯的错误有两种情况,一种是物体本属于类,分类正确,错误率为0;另一种情况是,物体本属于类,分类错误,错误率就为。因此,要使得错误率最小的话,就应该最大。而第一种情况,也可以归属于。因此,基于贝叶斯最小错误率的二类分类决策规则可以表述为如下表达式。
将X归类于后验概率最小的那一类。
序号
1
2
3
4
5
6
7
8
观察值
3.9847
-3.5549
1.2401
-0.9780
-0.7932
-2.8531
-2.7605
-3.7287
类别
W1
W1
W1
W1
W1
W1
W1
W1
序号
9
10
11
12
13
14
15
16
观察值
-3.5414
-2.2692
-3.4549
-3.0752
-3.9934
2.8792
-0.9780
0.7932
类别
W1
W1
W1
W1
W1
W2
W1
W2
序号
17
18
19
20
21
22
23
24
观察值
1.1882
3.0682
-1.5799
1.4885
0.7431
-0.4221
-1.1186
4.2532
类别
W2
W2
W1
W1
W1
W2
W1
W2
实验程序:
x= [-3.9847 -3.5549 -1.2401 -0.9780 -0.7932 -2.8531 -2.7605 -3.7287 -3.5414 -2.2692 -3.4549 -3.0752
-3.9934 2.8792 -0.9780 0.7932 1.1882 3.0682
-1.5799 -1.4885 -0.7431 -0.4221 -1.1186 4.2532 ]
pw1=0.9 ; pw2=0.1
e1=-2; a1=0.5
e2=2;a2=2
m=numel(x) %得到待测细胞个数
pw1_x=zeros(1,m) %存放对w1的后验概率矩阵
pw2_x=zeros(1,m) %存放对w2的后验概率矩阵
results=zeros(1,m) %存放比较结果矩阵
for i = 1:m %计算在w1下的后验概率
pw1_x(i)=(pw1*normpdf(x(i),e1,a1))/(pw1*normpdf(x(i),e1,a1)+pw2*normpdf(x(i),e2,a2))
%计算在w2下的后验概率
pw2_x(i)=(pw2*normpdf(x(i),e2,a2))/(pw1*normpdf(x(i),e1,a1)+pw2*normpdf(x(i),e2,a2))
end
for i = 1:m
if pw1_x(i)>pw2_x(i) %比较两类后验概率
result(i)=0 %正常细胞
else
result(i)=1 %异常细胞
end
end
a=[-5:0.05:5] %取样本点以画图
n=numel(a)
pw1_plot=zeros(1,n)
pw2_plot=zeros(1,n)
for j=1:n
pw1_plot(j)=(pw1*normpdf(a(j),e1,a1))/(pw1*normpdf(a(j),e1,a1)+pw2*normpdf(a(j),e2,a2)) %计算每个样本点对w1的后验概率以画图
pw2_plot(j)=(pw2*normpdf(a(j),e2,a2))/(pw1*normpdf(a(j),e1,a1)+pw2*normpdf(a(j),e2,a2))
end
figure(1)
hold on
plot(a,pw1_plot,'k-',a,pw2_plot,'r-.')
for k=1:m
if result(k)==0
plot(x(k),-0.1,'b*') %正常细胞用*表示
else
plot(x(k),-0.1,'rp') %异常细胞用五角星表示
end;
end;
legend('正常细胞后验概率曲线','异常细胞后验概率曲线','正常细胞','异常细胞')
xlabel('样本细胞的观察值')
ylabel('后验概率')
title('后验概率分布曲线')
grid on
return ;
实验结果与分析
曲线分析如下
后验概率曲线与判决结果在一张图上:后验概率曲线如图所示,带*的曲线为判决成异常细胞的后验概率曲线;另一条平滑的曲线为判为正常细胞的后验概率曲线。根据最小错误概率准则,判决结果见曲线下方,其中“*”代表判决为正常细胞,“五角星”代表异常细胞各细胞分类结果:
各细胞分类结果:
0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1 0 0 0 1 0 1
0为判成正常细胞,1为判成异常细胞
实验心得与体会
通过这次试验,我了解了贝叶斯最小错误率分类器的优势,通过计算期望,可以对现实问题进行数学计算,从而获得最优解。但由于我水平有限,难以做出结果,所以只能从网络上寻找答案,并仔细阅读了程序,希望对以后的学习有一定的帮助。经过实验,我对模式识别的认识更深入了,希望能学好模式识别。
展开阅读全文