
2.3 最小风险贝叶斯决策
2.3.1 最小风险贝叶斯决策理论
决策理论就是为了实现特定的目标,根据客观可能性,在一定信息和经验的基础上,借助一定的工具、技巧和方法,对影响未来目标实现的诸多因素进行准确的计算和判断优选后,对未来行动做出决定。在某些情况下,引入风险的概念,以求风险最小的决策更为合理,如对癌细胞的识别,因为识别的正确与否直接关系到患者的身体健康甚至生命。风险的概念常与损失相联系。损失函数用于计算当参数的真值和决策结果不一致时带来的损失,这种损失作为参数的真值和决策结果的函数,称为损失函数。而损失函数的期望值便称为风险函数。为了分析,引入损失函数λ(αi,ωj),i=1,2,…,a,j=1,2,…,m。这个函数表示当处于状态ωj时采取决策为αi所带来的损失。在决策理论中,常用决策表一目了然地表示各种情况下的决策损失,如表2-2所示。这是在已知先验概率P(ωj)及类条件概率密度P(X|ωj),j=1,2,…,m的条件下进行讨论的。
表2-2 贝叶斯决策表

根据贝叶斯公式,后验概率为

(2-25)
引入“损失”的概念后,当考虑错判所造成的损失时,就不能只根据后验概率的大小做决策了,还必须考虑所采用的决策是否损失最小。对于给定的X,如果采取决策αi,λ可以在m个λ(αi,ωj)(i=1,2,…,m)当中任取一个,其相应概率为P(ωj|X)。因此采取决策αi时的条件期望损失R(αi/X)为

(2-26)
在决策论中又把采取决策的αi的条件期望损失R(αi|X)称为条件风险。由于X是随机向量的观察值,对X的不同观察值,采取αi决策时,其条件风险的大小是不同的。所以究竟采取哪一种决策将随X的取值而定。决策α可以看成随机向量X的函数,记为α(X),这里定义期望风险R为

(2-27)
式中,dx是特征空间的体积元,积分在整个特征空间进行。期望风险R反映对整个特征空间所有X的取值都采取相应的决策α(X)所带来的平均风险;而条件风险R(αi|X)只是反映了对某一X的取值采取决策αi时所带来的风险。显然,需要采取一系列决策α(X)使期望风险R最小。在考虑错判带来的损失时,我们希望损失最小。如果在采取每一个决策或行动时,都使其风险最小,则对所有的X做出决策时,其期望风险也必然最小,这样的决策就是最小风险贝叶斯决策。
最小风险贝叶斯决策规则为:如果
R(αk|X)=minR(αi|X) i=1,2,…,a
(2-28)
则有α=α(k)(即采取决策αk)。对于实际问题,最小风险贝叶斯决策可按下列步骤实现。
(1)在已知P(ωj),P(X|ωj),j=1,2,…,m,并给出待识别的X的情况下,根据贝叶斯公式可以计算出后验概率

(2-29)
(2)利用计算出的后验概率及决策表,按式(2-29)有

(2-30)
计算出αi(i=1,2,…,a)的条件风险R(αi|X)。
(3)对步骤(2)中得到的a个条件风险值R(αi|X),i=1,2,…,a,进行比较,找出使条件风险最小的决策αk,即
R(αk|X)=minP(αi|X),i=1,2,…,a
(2-31)
则αk就是最小风险贝叶斯决策。
说明
最小风险贝叶斯决策除了要满足符合实际情况的先验概率P(ωj)及类条件概率密度P(X|ωj),j=1,2,…,m的条件,还必须有适合的损失函数λ(αi,ωj),i=1,2,…,a,j=1,2,…,m。实际工作中要列出合适的决策表很不容易,往往要根据研究的具体问题,分析错误决策所造成损失的严重程度,并与有关专家共同商讨来确定。
2.3.2 最小错误率与最小风险贝叶斯决策的比较
最小错误率贝叶斯决策规则与最小风险贝叶斯决策规则有着某种联系。这里再讨论一下两者的关系。设损失函数为

(2-32)
式(2-32)中假设对m类只有m个决策,即不考虑“拒绝”的情况,对正确决策(即i=j)来说,λ(αi,ωj)=0,就是没有损失;对任何错误决策来说,其损失为1。这样定义的损失函数称为0-1损失函数。此时条件风险为

(2-33)
式中,表示对X采取决策ωj(此时ωj就相当于αi)的条件错误概率。所以在采取0-1损失函数时,使
R(αk|X)=minP(αi|X) i=1,2,…,a
(2-34)
最小风险贝叶斯决策这时就等价于式(2-35)的最小错误率贝叶斯决策。

(2-35)
由此可见,最小错误率贝叶斯决策就是采用0-1损失函数条件下的最小风险贝叶斯决策,即前者是后者的特例。
2.3.3 贝叶斯算法的计算过程
(1)输入类数M、特征数n、待分样本数m。
(2)输入训练样本数N和训练集矩阵X(N×n),并计算有关参数。
(3)计算待分析样本的后验概率。
(4)若按最小风险原则分类,则输入各值,并计算各样本属于各类时的风险并判定各样本类别。
2.3.4 最小风险贝叶斯分类的MATLAB实现
1.初始化
初始化程序如下:

2.参数计算

3.完整程序及仿真结果
程序代码如下:



运行程序得到的损失函数的矩阵为:

得到贝叶斯决策表,如表2-3所示。
表2-3 贝叶斯决策表

损失函数图如图2-7所示。

图2-7 损失函数图
继续运行程序,MATLAB命令窗口显示的结果如下:





运行m个文件程序,将得到的结果整理成表,如表2-4所示。
表2-4 待测样本分类表

续表

该分类结果与标准分类存在一个数据类别不同的差异:即数据“1494.63,2072.59,2550.51”。用上述方法得到的分类结果中该数据属于类别3,而在标准分类中该数据属于类别1。出现这种情况的原因可能是基于最小风险的贝叶斯分类的分类方法存在误差。
反过来验证分类结果的正确性。
修改MATLAB循环语句的循环次数与后验概率的输入向量:

得到MATLAB命令窗显示的结果,部分结果如下:

可以看出,其与训练样本的分类结果是完全吻合的。
总结
以贝叶斯决策理论为核心内容的统计决策理论是统计模式识别的重要基础,理论上该分类理论有最优性能:即分类错误或风险在所有分类器中是最小的,常可以作为衡量其他分类器设计方法优劣的标准。
但是该方法明显的局限性体现为:该方法需要已知类别数,以及各类别的先验概率和类条件概率密度,也就是说要分两步来解决模式识别问题——先根据训练样本设计分类器,再对测试样本进行分类。因此有必要研究直接从测试样本出发设计分类器的其他方法。
思考与练习
(1)什么是最小错误率贝叶斯决策?
(2)什么是最小风险贝叶斯决策?
(3)最小错误率贝叶斯决策与最小风险贝叶斯决策的区别是什么?