- 基于MATLAB的人工智能模式识别
- 周润景 武立群 蔺雨露编著
- 2384字
- 2021-06-10 14:48:35
2.2 最小错误率贝叶斯决策
在模式分类问题中,人们往往希望尽量减少分类的错误,从这样的要求出发,利用概率论中的贝叶斯公式,就能得出错误率最小的分类规则,称为最小错误率贝叶斯决策。
2.2.1 最小错误率贝叶斯决策理论
假定得到一个待识别量的特征X,每个样品X有n个特征,即X=(x1,x2,…,xn)T,通过样品库,计算先验概率P(ωj)及类条件概率密度函数P(X|ωj),得到呈现状态X时该样品分属各类别的概率,显然这个概率值可以作为识别对象判属的依据。从如图2-4所示的后验概率分布图可见,在X值小时,药品被判为正常是比较合理的,判断错误的可能性小。基于最小错误率的贝叶斯决策就是按后验概率的大小决策的。这个规则又可以根据类别数目,写成几种不同的等价形式。
图2-4 后验概率分布图
1.两类问题
若每个样品属于ω1、ω2类中的一类,已知两类的先验概率分别为P(ω1)、P(ω2),两类的类条件概率密度为P(X|ω1)、P(X|ω2)。则任给一X,判断X的类别。由贝叶斯公式可知
P(ωj|X)=P(X|ωj)P(ωj)/P(X)
(2-10)
由全概率公式可知
(2-11)
其中,M为类别。
对于两类问题,有
P(X)=P(X|ω1)P(ω1)+P(X|ω2)P(ω2)
(2-12)
所以用后验概率来判别
(2-13)
判别函数还有另外两种形式。
(1)似然比形式:
(2-14)
(2)对数形式:
(2-15)
2.多类问题
现在讨论多类问题的情况。
若样本分为M类(ω1,ω2,…,ωM),各类的先验概率分别为P(ω1),P(ω2),…,P(ωM),各类的类条件概率密度分别为P(X|ω1),P(X|ω2),…,P(X|ωM),有M个判别函数。在取得一个观察特征X之后,在特征X的条件下,看哪个类的概率最大,应该把X归于概率最大的那个类。因此对于任一模式X,可以通过比较各个判别函数来确定X的类别。
(2-16)
就是把X代入M个判别函数中,看哪个判别函数最大,就把X归于这一类。
判别函数的对数形式为
(2-17)
先验概率通常是很容易求出的,贝叶斯分类器的核心问题就是求出类条件概率密度P(X|ωi),如果求出了条件概率,则后验概率就可以求出了,判别问题就解决了。在大多数情况下,类条件概率密度可以采用多维变量的正态分布密度函数来模拟。所以此时正态分布的贝叶斯分类器判别函数为
(2-18)
使用什么样的决策原则可以做到错误率最小呢?前提是要知道一个样品X分属不同类别的可能性,表示成P(ωi|X),然后根据后验概率最大的类来分类。后验概率要通过贝叶斯公式从先验概率与类分布函数开始计算。
3.最小错误率证明
最小错误率贝叶斯决策根据:如果
则X∈ωi
(2-19)
由于统计判别方法是基于统计参数决策的,因此错误率也只能从平均意义上讲,表示为在观测值可能取值的整个范围内错误率的均值。
为了方便观察,假设X只有一个特征,n=1,于是P(X|ω1)、P(X|ω2)都是一元函数,将整个特征空间分为不相交的两个部分R1和R2。当模式落在R1内时就判定它属于ω1类,求分类器相当于求R1和R2的分界线。
(1)第一类判错:如果X原属于ω1类,却落在R2内,称为第一类判错,错误率为
(2-20)
(2)第二类判错:如果X原属于ω2类,却落在R1内,称为第二类判错,错误率为
(2-21)
贝叶斯决策式表明每个样本所属类别都使P(ωi|X)为最大,实际上使X判错的可能性达到最小时总的错误率为最小。按贝叶斯决策分类时,
2.2.2 最小错误率贝叶斯分类的计算过程
1.先期进行的计算
(1)求出每一类样本的均值。
(2-22)
共有29个样本,N=29;分4类w=4。
第一类,N1(样本数目)=4;第二类,N2=7;第三类,N3=8;第四类,N4=10。
第一类样本为:
A=[ 864.45 877.88 1418.79 1449.58
1647.31 2031.66 1775.89 1641.58
2665.9 3071.18 2772.9 3045.12];
求出第一类样本的均值为:
(2)求出每一类样本的协方差矩阵Si,并求出其逆矩阵和行列式,l为样本在每一类的序号,j和k为特征值序号,Ni为每类学习样本中包含元素的个数。
(2-23)
式中
(2-24)
第一类样本的协方差矩阵:
(3)求第一类样本的协方差矩阵的逆矩阵:
(4)求第一类样本的协方差矩阵的行列式值:
2.其他各类求值
第二类样本为:
B=[2352.12 2297.28 2092.62 2205.36 2949.16 2802.88 2063.54
2557.04 3340.14 3177.21 3243.74 3244.44 3017.11 3199.76
1411.53 535.62 584.32 1202.69 662.42 1984.98 1257.21];
均值为:
协方差矩阵为:
协方差矩阵的逆矩阵为:
协方差矩阵的行列式值为:
第三类样本为:
C=[1739.94 1756.77 1803.58 1571.17 1845.59 1692.62 1680.67 1651.52
1675.15 1652 1583.12 1731.04 1918.81 1867.5 1575.78 1713.28
2395.96 1514.98 2163.05 1735.33 2226.49 2108.97 1725.1 1570.38];
样本均值为:
样本协方差矩阵为:
样本协方差矩阵逆矩阵为:
样本协方差矩阵行列式的值为:
第四类样本为:
D=[373.3 222.85 401.3 363.34 104.8 499.85 172.78 341.59 291.02 237.63 3087.05 3059.54 3259.94 3477.95 3389.83 3305.75 3084.49 3076.62 3095.68 3077.78 2429.47 2002.33 2150.98 2462.86 2421.83 3196.22 2328.65 2438.63 2088.95 2251.96];
样本均值为:
样本协方差矩阵为:
样本协方差矩阵的逆矩阵为:
样本协方差矩阵行列式的值为:
计算每类数据的先验概率:
到此,前期的计算基本完成。
2.2.3 最小错误率贝叶斯分类的MATLAB实现
1.初始化
初始化程序如下:
2.参数计算
3.MATLAB完整程序及仿真结果
MATLAB程序如下:
运行程序,出现如图2-5所示的测试数据分类图。
图2-5 测试数据分类图
从图中可以看出分类效果比较好。
MATLAB程序运行结果如下。
待测样本分类表如表2-1所示。
表2-1 待测样本分类表
对比正确分类后,发现只有一组数据(1494.63 2072.59 2550.51)与正确分类不一致,该分类是第3类,但正确分类为第1类。
反过来验证一下学习样本,程序不变,只将数据输入改成学习样本,并将循环次数进行调整,得到学习样本分类图如图2-6所示。
图2-6 学习样本分类图
我们可以看到结果与原始学习样本的分类是吻合的。因此我们判定最小错误贝叶斯判别方法基本正确。
总结
从理论上讲,依据贝叶斯决策理论所设计的分类器应该有最优的性能,如果所有的模式识别问题都可以这样来解决,那么模式识别问题就成了一个简单的计算问题,但是实际问题往往更复杂。贝叶斯决策理论要求两个前提条件:一个是分类类别数目已知;另一个是类条件概率密度和先验概率已知。前者很容易满足,但后者通常就不容易满足了。基于贝叶斯决策理论的分类器设计方法是在已知类条件概率密度的情况下讨论的,贝叶斯判别函数中的类条件概率密度是利用样本估计的,估计出来的类条件概率密度函数可能是线性函数,也可能是各种各样的非线性函数。这种设计判别函数的思路,在用样本估计之前,是不知道判别函数是线性函数还是别的什么函数的。而且,有时候受样本空间大小、维数等的影响,类条件概率密度函数更难以确定。