本文主要参考资料

最小错误率是在统计的意义上说的,请注意其含义。

在这里要弄清楚条件概率这个概念。P(*|#)是条件概率的通用符号,在“|”后边出现的#为条件,之前的*为某个事件,即在某条件#下出现某个事件*的概率。P(ωK|X)是表示在X出现条件下,样本为ωK类的概率。

一个事物在某条件下出现的概率P(*|#)与该事件在不带任何条件下出现的概率(写成P(*))是不相同的。例如全世界人口有60亿。因此你见到一个人在不带任何条件下,有20%的可能性是中国人P(*)=0.2,但是如果你在中国,或香港、台湾,那么中国、香港、台湾都是指一种条件(#),这种地理条件下,你所见到的某一个人是中国人(*)的概率就要大得多,此时P(*|#)就应该大于20%,甚至更多了。

下面先讨论一个例子——癌细胞的识别,以此说明解决问题的过程。假设每个要识别的细胞已作过预处理,并抽取出了d个特征描述量,用一个d维的特征向量X表示,识别的目的是要依据该X向量将细胞划分为正常细胞或者异常细胞。这里我们用ω1表示是正常细胞,而ω2则属于异常细胞。

类别的状态是一个随机变量,而某种状态出现的概率是可以估计的。概率的估计包含两层含义,一是由统计资料表明,正常细胞与异常细胞在统计意义上的比例,这称为先验概率P(ω1)及P(ω2),另一种则分别表示所检查细胞呈现出不同属性的概率密度函数P(x|ω1)和P(x|ω2),显然在一般情况下正常细胞占比例大,即P(ω1)>P(ω2),因此如果我们不对具体的细胞化验值作仔细观察,我们作出该细胞是正常细胞的判决,在统计的意义上来说,也就是平均意义上说,错判可能性比判为异常细胞时小。但是仅按先验概率来决策,就会把所有细胞都划归为正常细胞,并没有达到将正常细胞与异常细胞区分开的目的。这表明由先验概率所提供的信息太少。

为此我们还必须利用对细胞作病理分析所观测到的信息,也就是所抽取到的d维观测向量。为简单起见,我们假定只用其一个特征进行分类,即d=1,并已知这两类的类条件概率密度函数分布已知,如图2.1所示,其中P(x|ω1)是正常细胞的属性分布,P(x|ω2)是异常细胞的属性分布。那末,当观测向量为X值时,它属于各类的概率又是多少呢?为此我们可以利用贝叶斯公式, 来计算这种条件概率,称之为状态的后验概率P(ωi|X)。

Bayes(贝叶斯)公式是根据联合概率这一概念推出的,同时出现两个事件X及ωi的概率为P(x,ωi)。它是某个条件出现的概率(如P(ωi)),以及在此条件下某事件出现概率(P(x|ωi))的乘积,在此写为:

P(x,ωi)=P(x|ωi)P(ωi)=P(ωi|x)P(x) 。先验概率是针对ωi,I=1,2,…,c,这c个事件出现的可能性而言的,不考虑其它任何条件。例如世界上有60亿人口,而中国人口12亿,因此不管其它条件,应有20%的可能是中国人。

类条件概率密度函数P(x|ωi)是指ωi条件下在一个连续的函数空间出现X的概率密度,在我们这里指第ωi类样本他的属性X是如何分布的。

(2-1)式表明,在得到一个待识别量的观测状态X后,我们可以通过先验概率P(ωi)及类别条件概率密度函数P(x|ωi),得到呈现状态X时,该样本分属各类别的概率,显然这个概率值可以作为我们识别对象判属的依据。上例中图2.1表示的类条件概率可用式(2-1)换算成如图2.2所示的后验概率分布。可以看出,在X值小时,细胞被判为正常是比较合理的,判断错误的可能性小。基于最小错误概率的贝叶斯决策理论就是按后验概率的大小作判决的。这个规则又可以写成如下几种等价形式:

(1) 如果

 ,则

 (2-2)

(2) 如用先验概率及类条件概率密度函数表示,则有:

如果

 , 则

 (2-3)

(3) 以比值的方式表示,

如果

 ,则

 ,否则

 (2-4)

(4) (2-4)式还可改写成为对数形式,若

,否则

 (2-5)

其中(2-4)式中的l(x)在统计学中称为似然比,而

称为似然比阈值。而式(2-5)中h(x)是似然比写成相应的负对数形式。它的好处是,与利用(2-4)式本身相比较,进行计算更为方便。

下面举一数值例子。

例2.1

假设在某地区切片细胞中正常(ω1)和异常(ω2)两类的先验概率分别为P(ω1)=0.9,P(ω2)=0.1。现有一待识别细胞呈现出状态x,由其类条件概率密度分布曲线查得p(x|ω1)=0.2,p(x|ω2)=0.4,试对细胞x进行分类。

解:利用贝叶斯公式,分别计算出状态为x时ω1与ω2的后验概率

根据贝叶斯决策(2-2)则有

P(ω1|x)=0.818>P(ω2|x)=0.0182

因此判定该细胞为正常细胞比较合理。

从这个例子可以看出,尽管类别ω2呈现出状态x的条件概率要高于ω1类呈现此状态的概率,但是考虑到P(ω1)远大于P(ω2),因此状态x属于类别ω1的可能性远比属于类别ω2的可能性大。将该细胞判为正常在统计的意义上讲出错率要小得多。

还要强调一下条件概率这个概念。我们举出两对概率,一对是P(ω1|x)和P(ω2|x),另一对是P(x|ω1)和P(x|ω1)。从表面上看,只是条件符号两边的项对换了位置,但实质上却有很大区别。前一对是在同一条件x下,比较ω1与ω2出现的概率,如果我们只考虑两类ω1和ω2,则有P(ω1|x)+P(ω2|x)=1。而对两者进行数值上的比较,如P(ω1|x)> P(ω2|x)则可以下结论,在x条件下,事件ω1出现的可能性大。

对后一对概率来说,与第一对完全不同,因为它们是在不同条件下讨论的问题因此比较两者没有意义,而且即使只有两类ω1与ω2,P(x|ω1)+P(x|ω1)≠1。这里要特别强调一点是P(x|ω1)与P(x|ω2)两者没有联系,都是指各自条件下出现x的可能性,不能仅因为前者比后者大,就认为x是第一类事物的可能性较大,只有考虑先验概率这一因素,才能决定x条件下,ω1类还是ω2类的可能性比较大。

另外大家可能觉得比较奇怪,为什么后验概率要利用Bayes公式从先验概率和类条件概率密度函数计算获得。这是因为计算概率都要拥有大量数据才行。在估计先验概率与类条件概率密度函数时都可搜集到大量样本,而对某一特定事件(如x)要搜集大量样本是不太容易的。因此只能借助Bayes公式来计算得到。

对基于最小错误率的贝叶斯决策来说,以后验概率值的大小作判据是最基本的方法,而其它形式的作用都基本相同,但使用时更方便些。

以上讨论的是在两类情况下基于最小错误概率的贝叶斯决策规则,下面需证明按这种规则进行分类确实使错误率为最小。下面仅以一维情况来证明,其结果并不难推广到多维的情况。

由于统计判别方法是基于统计参数作出决策,因此错误率也只能从平均的意义上讲,表示为在观测值可能取值的整个范围内错识率的均值。在连续条件下,平均错误率,以P(e)表示,应有

(2-6)

其中p(e,x)表示错误率为e观测值为x的联合概率密度,P(e|x)是观测值为x时的条件错误概率密度函数,P(x)为x值出现的概率,而积分运算则表示为在整个d维特征空间上的总和。在此一维情况下,x取从-∞到+∞的整个范围。

在两类别问题中,按(2-2)式给出的决策规则,当P(w2|x)>p(w1|x)时决策为w2。显然这个决策意味着,对观测值x有P(w1|x)概率的错误率。例如在上例中所作的w1决策,实际上包含有P(w2|x)=0.182的错误概率。在两类别的情况下,可以将p(e|x)表示成当

(2-7)

如果我们把作出w1决策的所有观测值区域称为R1,则在R1区内的每个x值,条件错误概率为p(w2|x)。另一个区R2中的x,条件错误概率为p(w1|x)。因此平均错误率P(e)可表示成

(2-8)

由于在R1区内任一个x值都有P(w2|x)<P(w1|x),同样在R2区内任一个x值都有P(w1|x)<P(w2|x)错误率在每个x值处都取小者,因而平均错误率P(e)也必然达到最小,这就证明了按(2-2)式作出的决策,其平均错误率为最小。

为了形象地说明以上证明,图2.3表示了在某种概率分布下R1与R2区的分布情况,该图分别画出p(x|ω1)P(ω1)及p(x|ω2)P(ω2)的分布情况,由于P(e)也可以(2-8)式写成

(2-9)

因此错误率为图中两个划线部分之和,显而易见只有这种划分才能使对应的错误率区域面积为最小。

以上讨论的是两类别问题情况,在C类别情况下,很容易写成相应的最小错误率贝叶斯决策规则:

如果 ,则

 (2-10)

也可将其写成用先验概率与类条件概率密度相联系的形式,得:

如果

 (2-11)

至于计算多类别决策过程中的错误率,需把特征空间分割成R1,R2,…,Rc个区域,在每个区域Ri统计将所有其它类错误划为该区域对应的i类的概率,则每个区域共有c-1项错误率,总共有c(c-1)计算项,计算是很繁琐的。为此,可以改成计算平均正确分类概率P(c)即

(2-12)

由于上式中只有c项,计算要简单得多。然后通过式子P(e)=1-P(c),就可计算出平均错误率。

下面是一个程序示例:

现有一组待识别的细胞样本,其先验概率为0.8(正常)和0.2(异常);其观察值相应的类条件概率密度存放在文件file1.txt中,试利用最小错误率贝叶斯决策规则,设计一个分类器,对它们进行分类(分为两类,正常和异常),并将结果输出到一个新文件file2.txt中

注:在文件file1.txt中存放了正常状态下(第一行)和异常状态下(第二行)细胞特征观察值的类条件概率密度。

#include#include

using namespacestd;intmain(){

ifstream datatxt;

ofstream result;

datatxt.open("file1.txt", ios::in);double* data = new double[40];int i = 0;while(datatxt){

datatxt>>data[i];

i++;

}

datatxt.close();

result.open("file2.txt");

result<< "正常概率\t异常概率\t判断结果\n";double sum = 0, pro1 = 0, pro2 = 0, priorpro1=0.8,priorpro2=0.2;for (int j = 0; j < 20; j++){

sum= priorpro1*data[j] + priorpro2*data[j + 20];

pro1= priorpro1*data[j] /sum;

pro2= priorpro2*data[j+20] /sum;

result<< pro1 << "\t";

result<< pro2<pro2){

result<< "正常\n";

}else{

result<< "异常\n";

}

}

result.flush();

result.close();return 0;

}

附:

file1.txt:

0.03 0.15 0.07 0.16 0.05 0.06 0.19 0.19 0.09 0.14 0.04 0.03 0.17 0.04 0.06 0.18 0.10 0.16 0.06 0.18

0.17 0.05 0.13 0.04 0.15 0.14 0.01 0.01 0.11 0.06 0.16 0.17 0.03 0.16 0.14 0.02 0.10 0.04 0.14 0.02

file2.txt

正常概率 异常概率 判断结果

0.4137930.586207异常

0.9230770.0769231正常

0.6829270.317073正常

0.9411760.0588235正常

0.5714290.428571正常

0.6315790.368421正常

0.9870130.012987正常

0.9870130.012987正常

0.7659570.234043正常

0.9032260.0967742正常

0.50.5异常

0.4137930.586207异常

0.9577460.0422535正常

0.50.5异常

0.6315790.368421正常

0.9729730.027027正常

0.80.2正常

0.9411760.0588235正常

0.6315790.368421正常

0.9729730.027027正常

最小错误率贝叶斯决策的基本思想_基于最小错误率的贝叶斯决策相关推荐

  1. 最小错误率贝叶斯决策的基本思想_机器学习笔记—模式识别与智能计算(四)基于概率统计的贝叶斯分类器设计(贝叶斯决策)...

    系列文章: 机器学习笔记-模式识别与智能计算(一)模式识别概述 机器学习笔记-模式识别与智能计算(二)特征的选择与优化 机器学习笔记-模式识别与智能计算(三)模式相似性测度 同类文章: 机器学习笔记- ...

  2. 最小错误率贝叶斯决策的基本思想_太赞了!机器学习基础核心算法:贝叶斯分类!(附西瓜书案例及代码实现)...

    Datawhale 作者:尹晓丹,Datawhale优秀学习者 寄语:首先,简单介绍了生成模型和判别模型,对条件概率.先验概率和后验概率进行了总结:其次,对朴素贝叶斯的原理及公式推导做了详细解读:再次 ...

  3. 最小错误率贝叶斯决策的基本思想_最小错误率贝叶斯决策

    在一般的模式识别问题中,人们往往希望尽量减少分类的错误,即目标是追求最小的错误率.其中利用概率论中贝叶斯公式得到的分类决策被称之为最小错误率贝叶斯决策. 问题引入 在某个地区中人们常对细胞中某一种物质 ...

  4. java编程思想_基于jdk1.8

    第一章 对象的概念 "我们没有意识到惯用语言的结构有多大的力量.可以毫不夸张地说,它通过语义反应机制奴役我们.语言表现出来并在无意识中给我们留下深刻印象的结构会自动投射到我们周围的世界.&q ...

  5. 基于最小错误概率与最小风险的贝叶斯决策

    基于最小风险的贝叶斯决策是最小错误概率的一种改进,显然,但对不同类判决的错误风险一致时,最小风险贝叶斯决策就转化成最小错误率贝叶斯决策.最小错误贝叶斯决策可以看成是最小风险贝叶斯决策的一个特例. 最小 ...

  6. 基于最小错误率的贝叶斯决策实现手写数字识别

    基于最小错误率的贝叶斯决策实现手写数字识别 1.实验目的 2.实验方法及步骤 (1)平台搭建 (2)特征描述 (3)建立最小错误率贝叶斯决策分类器 (4)实现手写数字识别 3.实验结果 4.实验结果讨 ...

  7. 二维海浪波数谱的matlab,一种海杂波图像下基于最小区间思想的海浪主波周期反演方法...

    一种海杂波图像下基于最小区间思想的海浪主波周期反演方法 [专利摘要]本发明属于海杂波图像下海浪参数分析[技术领域],具体涉及一种海杂波图像下基于最小区间思想的海浪主波周期反演方法.本发明包括:基于雷达 ...

  8. 封头名义厚度如何圆整_基于封头最小成形厚度的封头名义厚度的设计讨论

    摘要:主要讨论了GB/T25198-2010中封头最小成形厚度的确定,及如何合理的设计封头的名义厚度,及在材料厚度临界值时投料厚度的选取. 关键词:封头 最小成形厚度 名义厚度 一.GB/T25198 ...

  9. ciaodvd数据集的简单介绍_基于注意力机制的规范化矩阵分解推荐算法

    随着互联网技术的发展以及智能手机的普及, 信息超载问题也亟待解决.推荐系统[作为解决信息超载问题的有效工具, 已被成功应用于各个领域, 包括电子商务.电影.音乐和基于位置的服务等[.推荐系统通过分析用 ...

  10. Mothur5进阶_Mothur扩增子基因序列分析_基于OTU或ASV的多样性指数分析

    本文主要讲解了使用Mothur软件对扩增子基因序列基于OTU或ASV进行多样性指数分析. 01文件名称的再处理 当比较早期和晚期样本时,最初的问题与这些样本的稳定性和群落结构的变化有关.组名是F或M( ...

最新文章

  1. 如何理解react中的super(),super(props)
  2. android窗口速度条,android 改变ViewPager切换页面时的速度
  3. Android互联网访问,get方式,post方式等方式
  4. Effective Java第三版有哪些新功能?
  5. nginx 端口转发
  6. Android 开发总结大全
  7. 仓储rfid文件_RFID技术在智能制造模具管理中的应用
  8. 德鲁伊 oltp oltp_内存中OLTP –娱乐看门狗的三个关键点
  9. c++检测固定usb端口有无设备接入_电脑USB技术白皮书
  10. vlan 动态ospf综合网络配置
  11. 聊天demo SignalR
  12. Socket编程模型之完成端口模型
  13. Bypassing Stack Cookies, SafeSeh, SEHOP, HW DEP and ASLR
  14. 集合A和集合B的并运算图示
  15. Python编写三角形
  16. oracle递归查询出现死循环,一次马失前蹄的SQL优化:递归查询引发的血案
  17. 工业大数据收集及预测建模方法(南京大学-宋哲博士分享)- 个人总结
  18. python兔子繁殖问题_【算法】兔子繁殖之斐波那契数列
  19. 测试属性4 –准确性
  20. 门户通专访爱思网创始人韩笑:SNS网站必然走向实用化!

热门文章

  1. python主函数调用子函数,实现excel数据写入
  2. poEdit制作WordPress主题汉化,插件汉化攻略
  3. iOS GPS定位减小精度误差的几种处理方法
  4. 钉钉小程序添加vant组件库
  5. Alitum Designer 16安装
  6. oracle 中explain,oracle执行计划的使用(EXPLAIN)
  7. 适合java初级程序员找工作的项目
  8. 吉客云与金蝶云星空集成方案(吉客云主管库存)
  9. 智慧路灯控制系统解决方案
  10. android支付宝运动修改器,支付宝运动修改器