贝叶斯定理

首先是条件概率公式如下:

P(A|B)=P(B|A)P(A)P(B)P(A|B)=P(B|A)P(A)P(B)

P(A|B)=\frac {P(B|A)P(A)}{P(B)}
为了方便理解,可以参考下图


图1 条件概率

已知两个独立事件AAA和B'>BBB,那么事件BBB发生的前提下,事件A'>AAA发生的概率可以表示为P(A|B)P(A|B)P(A|B),即上图中橙色部分占红色部分的比例,那么P(A|B)P(A|B)P(A|B)就可以表示为P(AB)P(B)P(AB)P(B)\frac {P(AB)}{P(B)},同理可以得到P(B|A)=P(AB)P(A)P(B|A)=P(AB)P(A)P(B|A)=\frac{P(AB)}{P(A)},再整理下就可以得到贝叶斯公式了。

再介绍下全概率公式

P(B)=∑i=1nP(Ai)P(B|Ai)P(B)=∑i=1nP(Ai)P(B|Ai)

P(B)=\sum_{i=1}^n{P(A_i)P(B|A_i)}
简单的推理其实就是在完备事件 AAA中,事件B'>BBB发生的概率 P(B)=P(A,B)P(B)=P(A,B)P(B)=P(A,B),若将完备事件划分为n个互斥事件 {A1,A2,...,An}{A1,A2,...,An}\{A_1,A_2,...,A_n\},则 P(B)=∑ni=1P(Ai,B)P(B)=∑i=1nP(Ai,B)P(B)=\sum_{i=1}^n{P(A_i,B)},通过贝叶斯公式就可以得到上述全概率公式。具体可以参考下图辅助理解


图2 全概率

以上图中A5A5A_5为例,根据条件概率公式可以知道P(A5|B)=P(B|A5)P(A5)P(B)P(A5|B)=P(B|A5)P(A5)P(B)P(A_5|B)=\frac{P(B|A_5)P(A_5)}{P(B)},再利用可以利用全概率公式则可以得到P(A5|B)=P(B|A5)P(A5)∑5i=1P(Ai)P(B|Ai)P(A5|B)=P(B|A5)P(A5)∑i=15P(Ai)P(B|Ai)P(A_5|B)=\frac{P(B|A_5)P(A_5)}{\sum_{i=1}^5{P(A_i)P(B|A_i)}}

那么经典帅气的贝叶斯公式如下:

P(Ai|B)=P(B|Ai)P(Ai)P(B)=P(B|Ai)P(Ai)∑nj=1P(Aj)P(B|Aj)P(Ai|B)=P(B|Ai)P(Ai)P(B)=P(B|Ai)P(Ai)∑j=1nP(Aj)P(B|Aj)

P(A_i|B)=\frac{P(B|A_i)P(A_i)}{P(B)}=\frac {P(B|A_i)P(A_i)} {\sum_{j=1}^n{P(A_j)P(B|A_j)}}

贝叶斯决策

贝叶斯决策就是利用贝叶斯理论进行决策分类,是统计机器学习的基本方法之一,以前导师曾说过,如果你的理论推导能够结合贝叶斯决策理论,那会给论文加分不少。现在流行的深度学习本身是基于神经网络的,但由于需要大数据的支持,因此也可以通过统计机器学习方法来进行分析和论证,具体的结合方法可以参考SegNet里面的贝叶斯方法,接下来要讲的就是具体的贝叶斯决策方法。
很多时候呐,在模式识别的问题里,我们只能够观察到一系列的特征x=[x1,x2,...,xn]Tx=[x1,x2,...,xn]Tx=[x_1,x_2,...,x_n]^T,那么如何对这一系列的观察值进行分类呐?在统计机器学习里面,就是求解概率P(ωi|x)P(ωi|x)P(\omega_i|x),可以理解为在观察到特征xxx的前提下,观察到的现象属于ωi'>ωiωi\omega_i类的概率是多大。
还是以书上最常用的观察细胞特征并判断细胞是否正常的栗子来说明(唔~你可以认为我是懒得举别的栗子),首先是已知条件,观察到的细胞特征是n维向量x=[x1,x2,...,xn]Tx=[x1,x2,...,xn]Tx=[x_1,x_2,...,x_n]^T,细胞分为正常细胞ω1ω1\omega_1类和异常细胞ω2ω2\omega_2类;当然P(ω1)+P(ω2)=1P(ω1)+P(ω2)=1P(\omega_1)+P(\omega_2)=1,如果仅从先验概率P(ω1)P(ω1)P(\omega_1)和P(ω2)P(ω2)P(\omega_2)对细胞进行分类,合理的方法是:当P(ω1)>P(ω2)P(ω1)>P(ω2)P(\omega_1)>P(\omega_2)时,认为是正常细胞,反之则是异常细胞;但实际不可能这么做,因为一般情况下先验概率都是个常量,而且我们对细胞的分类是会随着观察值的改变而改变的,那么如果我们现在观察到了细胞特征xxx,在特征x'>xxx的基础上要判断细胞是属于哪一类,就是要判断P(ω1|x)P(ω1|x)P(\omega_1|x)和P(ω2|x)P(ω2|x)P(\omega_2|x)的大小。


图3

结合贝叶斯公式,可以知道P(ω1|x)=P(x|ω1)P(ω1)∑2i=1P(x|ωi)P(ωi)P(ω1|x)=P(x|ω1)P(ω1)∑i=12P(x|ωi)P(ωi)P(\omega_1|x)=\frac{P(x|\omega_1)P(\omega_1)}{\sum_{i=1}^2{P(x|\omega_i)P(\omega_i)}},那么就把求解P(ωi|x)P(ωi|x)P(\omega_i|x)转变为了求解先验概率P(ωi)P(ωi)P(\omega_i)和条件概率P(x|ωi)P(x|ωi)P(x|\omega_i),唔,怎么说呢,其实这两个概率应该是都可以通过采样获取的,结合上图,可以理解为P(ωi)P(ωi)P(\omega_i)就是对完备事件的划分ω1ω1\omega_1和ω2ω2\omega_2的面积比例,P(x|ωi)P(x|ωi)P(x|\omega_i)就是在ωiωi\omega_i划的区域内x所占的面积比例(P(x|ω1)P(x|ω1)P(x|\omega_1)就是橙色所占黄色的比例)
以上,在贝叶斯决策里,我们通常要求解的P(ωi|x)P(ωi|x)P(\omega_i|x)被称作后验概率,P(ωi)P(ωi)P(\omega_i)被称作先验概率,P(x|ωi)P(x|ωi)P(x|\omega_i)被称作观察x的类条件概率,当然《模式识别(第二版)》那本书上用的是条件概率密度,嗯,其实也就是观察值的连续函数,在很多的问题当中,是要对这个概率密度函数的参数进行估计才能继续求解的,因此贝叶斯决策理论很多时候都是建立在强假设条件下;当然,贝叶斯决策也有损失函数,那么基于损失函数就会有很多不同的决策方法,例如基于最小错误率、最小风险等。

最小错误率贝叶斯决策

试着将图3转换一下,首先,观察到xxx的概率P(x)'>P(x)P(x)P(x)可以被看作是一个常量(这里应该可以看作事件B在完备集中的概率是一定的,即图3中圆形面积是一定的,那么其观测值一定是落在圆形区域范围之内,也就是一定的),根据贝叶斯公式,P(ωi|x)P(ωi|x)P(\omega_i|x)就正比于条件概率密度函数p(x|ωi)p(x|ωi)p(x|\omega_i),P(ωi|x)∝p(x|ωi)P(ωi|x)∝p(x|ωi)P(\omega_i|x) \propto p(x|\omega_i)(这里不是概率了,如果是在具体的问题中,可以用概率PPP对最终结果进行求解,但这里是一般性的推导,所以就将其转换为对应的概率密度函数了,额,不知道怎么说会不会有BUG),那么这个概率密度函数的图像又是什么样的呐?假定x'>xxx是一维的,那么图3对应的概率密度函数图像可能如下图所示


图4 条件概率密度函数曲线

横坐标是观察值 xxx的取值,根据概率密度函数就可以得到P(x|ωi)'>P(x|ωi)P(x|ωi)P(x|\omega_i),那么在什么情况下会出现错误分类的情况呢?假定图4中观察到的 x0x0x_0是属于 ω2ω2\omega_2类的,但此时根据概率密度函数有 p(x0|ω1)>p(x0|ω2)p(x0|ω1)>p(x0|ω2)p(x_0|\omega_1) \gt p(x_0|\omega_2),贝叶斯决策就会将 x0x0x_0归为 ω1ω1\omega_1类。以 P(e)P(e)P(e)来表示贝叶斯决策的平均错误率,定义为

P(e)=∫+∞−∞P(e,x)dx=∫+∞−∞P(e|x)P(x)dxP(e)=∫−∞+∞P(e,x)dx=∫−∞+∞P(e|x)P(x)dx

P(e)=\int_{-\infty}^{+\infty}{P(e,x) \mathrm{d}x}=\int_{-\infty}^{+\infty}P(e|x)P(x)\mathrm{d}x
对于 P(e,x)P(e,x)P(e,x),可以理解为在观测到 xxx时并且将x'>xxx错误分类的概率,参考图4中的 x0x0x_0,通过条件概率公式就可以得到 P(e|x)P(x)P(e|x)P(x)P(e|x)P(x)。对于二分类问题,我们可以令

P(e|x)={P(ω1|x)  when  p(ω1|x)<p(ω2|x)P(ω2|x)  when  p(ω1|x)>p(ω2|x)P(e|x)={P(ω1|x)whenp(ω1|x)<p(ω2|x)P(ω2|x)whenp(ω1|x)>p(ω2|x)

P(e|x)= \left \{ \begin{array}{lr} P(\omega_1|x) \ \ \mathrm{when} \ \ p(\omega_1|x) \lt p(\omega_2|x)\\ P(\omega_2|x) \ \ \mathrm{when} \ \ p(\omega_1|x) \gt p(\omega_2|x) \end{array} \right.
其实就是原本属于 ω1ω1\omega_1类但观察值 xxx出现在图4中虚线右边,或者原本属于ω2'>ω2ω2\omega_2类但观察值 xxx出现在虚线左边(嗯,对的,就是图4中两个波峰重叠的部分),假定虚线处的横坐标值为t'>ttt,这样就可以把 P(e)P(e)P(e)的积分部分拆分为两个部分求和,即

P(e)=∫+∞−∞P(e|x)P(x)dx=∫t−∞P(ω2|x)P(x)dx+∫+∞tP(ω1|x)P(x)dx=∫t−∞p(x|ω2)P(ω2)dx+∫+∞tp(x|ω1)P(ω1)dx=P(ω2)P(e2)+P(ω1)P(e1)P(e)=∫−∞+∞P(e|x)P(x)dx=∫−∞tP(ω2|x)P(x)dx+∫t+∞P(ω1|x)P(x)dx=∫−∞tp(x|ω2)P(ω2)dx+∫t+∞p(x|ω1)P(ω1)dx=P(ω2)P(e2)+P(ω1)P(e1)

\begin{array}{ll} P(e) &=\int_{-\infty}^{+\infty}P(e|x)P(x)\mathrm{d}x \\&=\int_{-\infty}^t{P(\omega_2|x)P(x) \mathrm{d}x} + \int_t^{+\infty}{P(\omega_1|x)P(x) \mathrm{d}x} \\&=\int_{-\infty}^t{p(x|\omega_2)P(\omega_2) \mathrm{d}x} + \int_t^{+\infty}{p(x|\omega_1)P(\omega_1) \mathrm{d}x} \\&=P(\omega_2)P(e_2) + P(\omega_1)P(e_1) \end{array}
嗯,对,上式我跳步了,有需要的自己看下书,谢谢!以上,可以看到平均错误率其实就是图4中重叠部分的面积,其中虚线可以被看作是一个决策分界, x>tx>tx \gt t的时就将其分类到 ω2ω2\omega_2类,反之亦然。以此推广到 nnn维空间的话,就有

P(e)=∑i=1n∑j=1j≠inP(x∈Rj|ωi)P(ωi)'>P(e)=∑i=1n∑j=1j≠inP(x∈Rj|ωi)P(ωi)P(e)=∑i=1n∑j=1j≠inP(x∈Rj|ωi)P(ωi)

P(e)=\sum_{i=1}^n{\sum_{j=1 \\ j \not= i}^n}P(x \in \mathscr{R}_j|\omega_i)P(\omega_i)
额,其实上面都在抄书,只是为了证明,普通情况下,这样的贝叶斯决策是基于最小错误率的。当然,在这种情况下,都是假定每次决策错误的风险都是一样,如果做出错误决策的风险不一样了,怎么办?

最小风险贝叶斯决策

那么,如果做每一项决定的时候都有风险,那么如何使得贝叶斯决策的风险最小呐?这里还是用观察细胞状态的栗子来进行说明,如果将异常细胞判断为了正常细胞,就有可能耽误就诊,其风险就大于将正常细胞误判为异常细胞的风险。此时最小错误率的决策方法就不适合了,那么为了使风险减小,就需要移动图4中虚线的位置,要使得风险更大的那类错误分类更小,如下图所示


图5 最小风险贝叶斯决策

定义决策风险系数 λ(α,ω)λ(α,ω)\lambda(\alpha, \omega)是一个关于真实状态( ωω\omega)和决策( αα\alpha)的函数,那么根据期望的定义可以知道采取决策 αiαi\alpha_i决策期望风险 R(αi|x)=∑nj=1λ(αi,ωj)P(ωj|x)R(αi|x)=∑j=1nλ(αi,ωj)P(ωj|x)R(\alpha_i|x)=\sum_{j=1}^n{\lambda(\alpha_i, \omega_j)P(\omega_j|x)},期望风险

R=∫R(α(x)|x)p(x)dxR=∫R(α(x)|x)p(x)dx

R=\int{R(\alpha(x)|x)p(x)\mathrm{d}x}
唔~上式还是抄书的。其实呐,说了辣么多,在实际操作的时候,就是在根据贝叶斯公式求解出 P(ωi|x)P(ωi|x)P(\omega_i|x)之后,再乘以对应风险系数 λλ\lambda得到风险值,最后根据风险值进行决策就好了。
另外一点,最小错误率贝叶斯决策就是在0-1损失函数条件下(也就是说风险均等,任何错误的损失系数都为1)的最小风险贝叶斯决策

其他的决策方法

还有比如最大最小决策、序贯分类方法等这里就不提了(不提别当作没有啊)


以上主要是我自己对贝叶斯决策的理解,当然有很多其实是抄书,但是多少附加了自己的理解上去,可能不对,请帮忙指出我好改正,谢谢!
其实是我懒,不想写后面的,下次再说吧

贝叶斯决策理论之入门篇相关推荐

  1. 机器学习的统计方法 贝叶斯决策理论入门

    引言 无论你是在建立机器学习模型还是在日常生活中做决定,我们总是选择风险最小的方案.作为人类,我们天生就采取任何有助于我们生存的行动:然而,机器学习模型最初并不是基于这种理解而建立的.这些算法需要经过 ...

  2. 201632位matlab下载_【科研利器】带你get“研”途上的MATLAB入门篇

    经过半个多月的激烈角逐,在同学们的热情投票和支持下,MATLAB以超过半数的选票成功成为同学们心目中最想get的app.在接下来的学习中,我们将教程一共分为两期.入门篇.提高篇.首先是基础入门篇.敲黑 ...

  3. 【opencv入门篇】 10个程序快速上手opencv【上】

    导言:本系列博客目的在于能够在vs快速上手opencv,理论知识涉及较少,大家有兴趣可以查阅其他博客深入了解相关的理论知识,本博客后续也会对图像方向的理论进一步分析,敬请期待:) PS:官方文档永远是 ...

  4. 读书笔记:《谁说菜鸟不会数据分析-入门篇》第1-4章

    读书笔记:<谁说菜鸟不会数据分析-入门篇> 第一章:数据分析是神马 数据分析分类: 1.数据分析分类: 描述性数据分析:常见方法:对比分析法.平均分析法.交叉分析法 探索性数据分析–发现数 ...

  5. 产品读书《谁说菜鸟不会数据分析(入门篇)》

    PPT查看1  PPT查看2   思维导图下载   ppt下载 什么是数据分析?怎么样才是数据分析的思维?数据分析的流程有哪些?常用的数据方法又有哪些?工具呢?可以学习的网站有哪些?我觉得<谁说 ...

  6. 2022最全最细软件测试工程师的职业规划和职业发展【入门篇】

    由于种种原因,很多人选择了测试这个职业,在职场和测试领域当中几经风雨,有的人顺时应势走出了一片天地,有的人选择离开从事其他职业-- 笔者作为一个在测试行业略有想法的测试人员,对测试人员的职业规划和职业 ...

  7. [入门篇]Linux操作系统fork子进程的创建以及进程的状态 超超超详解!!!我不允许有人错过!!!

    目录 0.前言 1.fork()创建子进程讲解 1.1fork()的简单介绍 1.2 创建子进程详解 1.2.1 如何理解fork创建子进程 1.2.2 子进程的PCB以及子进程的代码和数据 1.2. ...

  8. Mysql部门培训-入门篇

    前言: 为规范内部MySQL数据库开发流程,所以准备了如下培训教程,现将之前的培训PPT分享出来. 当前入门篇为理论知识部分. 章节目录 MySQL学习路径 MySQL介绍 MySQL基础架构 MyS ...

  9. Java学习笔记系列-入门篇-计算机基础

    Java学习笔记 Java学习笔记是一个持续更新的系列,工作多年,抽个空对自身知识做一个梳理和总结归纳,温故而知新,同时也希望能帮助到更多正在学习Java 的同学们. 本系列目录: 入门篇 计算机基础 ...

最新文章

  1. API 23之前的版本都是自动获取权限,而从 Android 6.0 开始添加了权限申请的需求,更加安全。
  2. LeetCode 5 最长回文子串
  3. 【SpringMVC整合MyBatis】整合思路与工程结构
  4. 大数据支撑健康医疗服务落地
  5. 学习之路二十七:三种序列化方式的一些注意点
  6. NXP iMX8系列处理器核心性能对比测试
  7. 三菱无机房电梯故障代码查询_三菱无机房电梯的故障代码
  8. 成语接龙快速接到“一个顶俩” (附api)
  9. 计算机网络管理员路由与交换深圳积多少分,2020年深圳积分入户,哪些加分的证书总结?...
  10. 理解Python中的RingBuffer环形缓冲区
  11. cloudstack GuestNetwork Ingress-Egress rule
  12. 2022中国开发者影响力年度榜单揭晓,华为、阿里、腾讯等入选年度开源贡献企业 | 美通社头条...
  13. 可信认证之九阴真经一
  14. 凉茶澄清过滤膜分离技术阐述
  15. 什么是数字化?企业如何实现数字化?
  16. 李文胜oracle,2014年下期解放学校防火演练方案.doc
  17. 计算机对逻辑算符的运算次序,逻辑运算符的优先顺序
  18. unity3d之角色的移动篇 -- 俯视视角下的键盘移动
  19. DirectShow 09 - 音视频捕捉
  20. 7-2 换硬币 (20分)

热门文章

  1. 【转】智能合约灵活升级
  2. 国内食品品牌策划公司排名,食品品牌设计公司哪家好?2021最新
  3. 虚拟拔号服务器,windows实现虚拟拨号服务器
  4. (转)Kangle配置文件
  5. 看雪ctf 流浪者 WP
  6. fbx模型导入unity,绑了骨骼加蒙皮法线就反
  7. oracle中trim函数的用法
  8. 新硬盘怎么装系统分区?
  9. html设置button水平居中,html的button怎么居中
  10. spring5之IOC入门笔记