今天看了 Larry Wasserman写的 All of Statistics中的第一章,第一章主要讲概率,其中最主要的就是贝叶斯公式。要了解贝叶斯公式,就得知道全概率公式:

通俗的讲,先验概率就是事情尚未发生前,我们对该事发生概率的估计,例如全概率公式中P(B)就是先验概率,求解方法有很多种,全概率公式是一种,也可以根据经验等,例如抛一枚硬币头向上的概率为0.5。

后验概率则是表示在事情已经发生的条件下,要求该事发生原因是有某个因素引起的可能性的大小。

先验概率是在缺乏某个事实的情况下描述一个变量;而后验概率(Probability of outcomes of an experiment after it has been performed and a certain event has occured.)是在考虑了一个事实之后的条件概率。

通过贝叶斯公式,利用先验概率、似然函数可以计算出后验概率。

贝叶斯公式有很多应用,可以应用到分类,也可以用来决策,基本思路都是找出使后验概率最大的那个结果。以分类为例,就是找出一个最大的概率:已知样本的某些特性,求解该样本属于某个类别的后验概率。举个垃圾邮件的例子:

将邮件分为三类,A1=spam,A2=low priority ,A3=high priority.从以前的经验中得到先验概率P(A1)=0.7,P(A2)=0.2,P(A3)=0.1.这三个的概率之和一定为1。设事件B为邮件中包含单词free(为啥是free,我也不知道,只是举个例子不要当真,也可以是democracy),我们可以古典概率模型计算出P(B|A1)=0.9,P(B|A2)=0.01,P(B|A3)=0.01.当然这三个的和可能不为1,你知道原因么?言归正传,某天我收到一封邮件,发件人来自米国这个头号资本主义国家,这不是重点,重点是这封邮件包含了单词free,问这封邮件为spam的概率是多少?

也就是说你有0.995的成功率判定该邮件为spam,至此你不知不觉地已经构建了最简单的反垃圾邮件算法,更多细节与拓展需要继续学习。

贝叶斯只是反垃圾邮件的一种方法,还可以用svm等方法,这个还没细看。

上述例子只是贝叶斯公式的一个简单应用,它还有更多的变形与应用,以后遇到在细写吧。

再举一个很经典的例子来深入了解下贝叶斯公式。这个例子基本是每个总结贝叶斯公式必用的例子,一方面是这个例子很经典,另一个原因就是人们都太懒了不愿意去想新的例子,不幸的是我也很懒。

如下:

有三个门,一个门后面有一个里有汽车,如果选对了就可以得到这辆车,当应试者选定一个门之后,主持人打开了另外一个门,空的。问应试者要不要换一个选择。假设主持人知道车所在的那个门。
经典解法(结论倒是正确的):
    第一次选择正确的概率是1/3,因此汽车在另外两个门里的概率是2/3。主持人指出一个门,如果你开始选错了(2/3概率),则剩下的那个门里100%有汽车;如果你第一次选对(1/3)了,剩下那个门里100%没汽车。
所以主持人提示之后,你不换的话正确概率是1/3*100%+2/3*0=1/3,你换的话正确概率是1/3*0+2/3*100%=2/3。这个解法的的问题在于,现在主持人已经打开一个空门了(而且主持人是有意打开这个门的),在这一“信息” 出现后,还能说当初选错的概率是2/3吗?这一后验事实不会改变我们对于先验概率的看法吗?答案是会的。更具体地说,主持人打开一扇门后,对当初选择错误 的概率估计不一定等于2/3。
    从头说起。假设我选了B门,假设主持人打开了C门,那么他在什么情况下会打开C门呢?
    若A有车(先验概率P=1/3),那主持人100%打开C门(他显然不会打开B);
    若B有车(先验概率P=1/3),那此时主持人有A和C两个选择,假设他以K的概率打开C(一般K=1/2,但我们暂把它设成变量);
    若C有车(先验概率P=1/3),那主持人打开C的概率为0(只要他不傻。。。)
    已知他打开了C,那根据贝叶斯公式——这里P(M|N)表示N事件发生时M事件发生的概率:

P(C打开|B有车)* p(B有车)

P(B有车|C打开)=     ------------------------------

P(C打开)

P(C打开|B有车)* p(B有车)

= ------------------------------------

P(C打开|A有车)* p(A有车)+ P(C打开|B有车)* p(B有车)

K * 1/3

=      -------------------

1 * 1/3 + K * 1/3

K

=      -------

K + 1
    该值何时等于1/3 呢(也就是经典解法里的假设)? 只有 K=1/2 时。也就是一般情况下。但如果主持人有偏好,比方说他就是喜欢打开右边的门(假设C在右边),设K=3/4, 那么B有车的概率就变成了 3/5,不再是1/3,后验事实改变了先验概率的估计!

但这并不改变正确的选择,我们仍然应该改选A门, 解释如下:

P(C打开|A有车)* p(A有车)

P(A有车|C打开)=   ------------------------------

P(C打开)

P(C打开|A有车)* p(A有车)

= --------------------------------------------

P(C打开|A有车)* p(A有车)+ P(C打开|B有车)* p(B有车)

1 * 1/3

=       -------------------

1 * 1/3 + K * 1/3

1

=   -------

K + 1

而K < 1(假设主持人没有极端到非C不选的程度),所以永远有 P(B有车|C打开) < P( A有车|C打开).A有车的概率永远比B大,我们还是应该改变选择。
    这个解法的重点在于考虑了C被打开这个事实的影响,从而消除了关于先验后验的纷扰。

先验概率、后验概率、条件概率相关推荐

  1. 先验概率,后验概率,条件概率,贝叶斯

    from: https://blog.csdn.net/yangang908/article/details/62215209 and : https://my.oschina.net/xiaoluo ...

  2. 机器学习100天(三十四):034 先验概率、条件概率

    <机器学习100天>完整目录:目录 机器学习100天,今天讲的是:先验概率.条件概率. 一.先验概率.条件概率 机器学习中,我们经常听到两个数学概念:先验概率.后验概率.抛开复杂数学公式不 ...

  3. 【人工智能】— 不确定性、先验概率/后验概率、概率密度、贝叶斯法则、朴素贝叶斯 、最大似然估计

    [人工智能]- 不确定性 不确定性 不确定性与理性决策 基本概率符号 先验概率(无条件概率)/后验概率(条件概率) 随机变量 概率密度 联合概率分布 公理 完全联合分布 概率演算 独立性 贝叶斯法则 ...

  4. 贝叶斯公式的理解(先验概率/后验概率)

    原文:贝叶斯公式的直观理解(先验概率/后验概率) 前言 以前在许学习贝叶斯方法的时候一直不得要领,什么先验概率,什么后验概率,完全是跟想象脱节的东西,今天在听喜马拉雅的音频的时候突然领悟到,贝叶斯老人 ...

  5. 贝叶斯公式的直观理解(先验概率/后验概率)(未完)

    贝叶斯公式的直观理解(先验概率/后验概率) 博客转载自:https://www.cnblogs.com/yemanxiaozu/p/7680761.html

  6. 贝叶斯公式理解(先验概率/后验概率)

    转载自https://www.cnblogs.com/ohshit/p/5629581.html (1)条件概率公式 设A,B是两个事件,且P(B)>0,则在事件B发生的条件下,事件A发生的条件 ...

  7. matlab贝叶斯判别后验概率,贝叶斯公式的直观理解(先验概率/后验概率)

    博客转自:https://www.cnblogs.com/yemanxiaozu/p/7680761.html 前言 以前在许学习贝叶斯方法的时候一直不得要领,什么先验概率,什么后验概率,完全是跟想象 ...

  8. 贝叶斯、先验概率后验概率

    贝叶斯定理 https://www.matongxue.com/madocs/301/ 例子: 开车的时候,如果前面的挡风玻璃坏了,那我们怎么判断什么时候右转, 已知这条道路 所我们可以通过后视镜观察 ...

  9. 贝叶斯概率(先验概率后验概率)

    前言 以前在许学习贝叶斯方法的时候一直不得要领,什么先验概率,什么后验概率,完全是跟想象脱节的东西,今天在听喜马拉雅的音频的时候突然领悟到,贝叶斯老人家当时想到这么一种理论前提可能也是基于一种人的直觉 ...

  10. 先验概率 后验概率 贝叶斯法则 贝叶斯公式

    1.先验.后验 在拉丁文中指"来自先前的东西",或稍稍引申指"在经验之前". 近代西方传统中,认为先验指无需经验或先于经验获得的知识.它通常与后验知识相比较,后 ...

最新文章

  1. Asp.Net细节性问题技巧精萃(转载)
  2. numeric比较大小 数据库_mysql大小写敏感与校对规则
  3. MaBatis(5)输入/输出映射
  4. erlang分布式编程模型
  5. c语言编码风格,讲嵌入式C语言编码风格.ppt
  6. Python reduce / map / filter 函数区别 - Python零基础入门教程
  7. PHP简单好看的表白墙网自适应源码+后台
  8. 小汤学编程之JDBC(一)——JDBC概述和快速入门
  9. Java Lambda 策略模式
  10. 中国的程序员培训是不是有问题
  11. php 转换带声调的字幕,PHP 汉字、拼音、unicode、声母、韵母互相转换
  12. 统计思维-程序员数学之概率统计_源代码
  13. 2019牛客暑期多校训练营(第八场)B.Beauty Values
  14. LeetCode93—Restore IP Addresses
  15. 8.4|Crypto Tech Night 第十六期:深入探索DeFi的“代码世界”
  16. 什么是线程阻塞?为什么会出现线程阻塞?
  17. windows 安装metis_图划分软件Metis的使用(win10+vs2017)
  18. iOS 代码关闭App
  19. 用html完成编辑日程,10款jQuery实现对简洁大气的日程安排日历
  20. 如何理解Precision和Recall?

热门文章

  1. 171029 windows10 桌面美化
  2. 全班抽签java程序
  3. 什么是BGP协议,以及其工作原理
  4. weinre调试环境搭建
  5. git报错”fatal: unable to access ‘https://github.com/defnull/bottle/‘: Empty reply from server“
  6. hadoop学习路线路线
  7. Android IPC 机制详解:IBinder
  8. react-native 使用高德SDK取得位置信息
  9. Neural Turing Machines-NTM系列(三)ntm-lasagne源码分析
  10. Spring MVC中redirect重定向3种方式(带参数)