模式识别与人工智能(基于MATLAB)
上QQ阅读APP看书,第一时间看更新

2.2 基于最小错误率的贝叶斯决策

基于最小错误率的贝叶斯决策,就是利用贝叶斯公式,按照尽量减少分类错误的原则而得出的一种分类规则,可以使得错误率最小。

2.2.1 基于最小错误率的贝叶斯决策理论

在一般的模式识别问题中,人们的目标往往是尽量减少分类的错误,追求最小的错误率,即求解一种决策规则,使得

这就是基于最小错误率的贝叶斯决策。

在式(2-3)中,Pex)≥0,Px)≥0对于所有的x均成立,故minPe)等同于对所有的x最小化Pex),即使后验概率Pωix)最大化。根据贝叶斯公式

在式(2-4)中,对于所有类别,分母都是相同的,所以决策的时候实际上只需要比较分子,即

先验概率Pωi)和类条件概率密度Pxωi)是已知的。概率密度Pxωi)反映了在ωi类中观察到特征值x的相对可能性。

对于多类别决策,错误率的计算量较大,可以转化为计算平均正确率Pc)来计算错误率:

2.2.2 最小错误率贝叶斯分类的计算过程

1.先期进行的计算

(1)求出每一类样本的均值。

共有29个样本,Ni=29;分四类,ω=4。

第一类:N1(样本数目)=4;第二类:N2=7;第三类:N3=8;第四类:N4=10。

第一类样本为:

求出第一类样本的均值为:

(2)求出每一类样本的协方差矩阵。

求出每一类样本的协方差矩阵Si,并求出其逆矩阵和行列式。其中,l为样本在每一类的序号;jk为特征值序号;Ni为每类学习样本中包含的元素个数。

第一类样本的协方差矩阵为:

(3)求第一类样本的协方差矩阵的逆矩阵。

求得第一类样本的协方差矩阵的逆矩阵为:

(4)求第一类样本的协方差矩阵的行列式值。

求得第一类样本的协方差矩阵的行列式值为:

2.其他各类求值

第二类样本为:

其均值为:

其协方差矩阵为:

其协方差矩阵的逆矩阵为:

其协方差矩阵的行列式值为:

第三类样本为:

其均值为:

其协方差矩阵为:

其协方差矩阵的逆矩阵为:

其协方差矩阵行列式的值为:

第四类样本为:

其均值为:

其协方差矩阵为:

其协方差矩阵的逆矩阵为:

其协方差矩阵行列式的值为:

然后计算每类数据的先验概率如下:

至此,前期的计算基本完成。

2.2.3 最小错误率贝叶斯分类的MATLAB实现

1.初始化

初始化程序如下:

2.参数计算

参数计算程序如下:

3.MATLAB完整程序及仿真结果

MATLAB程序如下:

运行程序得出如图2-1所示的测试数据分类图界面。

图2-1 测试数据分类图界面

从图2-5中可以看出数据分类效果比较好。

MATLAB程序运行结果如下:

表2-1所示为待测样本分类表。

表2-1 待测样本分类表

对比正确分类后发现,只有一组数据(1494.63,2072.59,2550.51)与正确分类有出入,该分类是第三类(ω3),但正确分类为第一类(ω1)。

反过来验证一下学习样本,程序不变,只在数据输入时改成学习样本,循环次数做一下调整,得到的结果如图2-2所示。

图2-2 训练样本分类图

可以看到验证出的数据与原始学习样本的分类是吻合的,因此可以判定本例的最小错误率贝叶斯判别方法基本正确。

2.2.4 结论

从理论上讲,依据贝叶斯理论所设计的分类器应该具有最优的性能,如果所有的模式识别问题都可以这样来解决,那么模式识别问题就成了一个简单的计算问题,但是实际问题往往更复杂。贝叶斯决策理论要求两个前提,一个是分类类别数目已知;另一个是类条件概率密度和先验概率已知。前者很容易解决,而后者通常就不容易满足了。基于贝叶斯决策的分类器设计方法是在已知类条件概率密度的情况下讨论的,贝叶斯判别函数中的类条件概率密度是利用样本来估计的,估计出来的类条件概率密度函数可能是线性函数,也可能是各种各样的非线性函数。这种设计判别函数的思路,在用样本估计之前,是不知道判别函数是线性函数还是别的什么函数的,而且有时候受样本空间大小、维数等影响,类条件概率密度函数更加难以确定。