bayes公式与机器学习 - 再从零开始理解

从本科时候(大约9年前)刚接触Bayes公式,只知道P(A|B)×P(B) = P(AB) = P(B|A)×P(A)

到硕士期间,机器学习课上对P(B|A)P(A)冠以“先验概率”,而不知“先验”二字到底从何而来。

再到工作了几年之后重回校园,重新拾起对求知的热情,重新用向小白讲述Bayes公式的态度,让自己对它有最朴素的理解。尽量让像我一样刚入门的小白同学们,能用生活中最朴素的例子找到bayes公式中,“先验”二字的由来。

要理解bayes公式,需从全概率公式讲起:

\[
P(A_i|B)=\frac {P(B|A_i)P(A_i)}{\displaystyle\sum_{j=1}^nP(B|A_j)\times P(A_j)}
\]
其中的全概率公式:
\[
\displaystyle\sum_{j=1}^nP(B|A_j)\times P(A_j) = P(B)
\]

这里,可理解:
\(A_j \rightarrow Class_j\) (这是你样本可能从属的类别)
$B \rightarrow Events \space or \space Data $ (这是你看到的样本的表象)

2.进一步理解

2.1 设有一幅扑克牌(这是一种等概率的情况)

摸到一张J,想知道它属于♥️这一类的概率。
这里,A是现象,是观察到的属性。♥️,♣️,♦️,♠️是对所有除了大王小王外的扑克牌的四个类别。
任务就是要根据现象J,对这张牌进行归类,求这张牌属于♥️这一类的概率。

\[
P(A|B) \text{就是看到J的情况下,属于} \heartsuit \text{的概率}
\]
这是我们要求的量。
\[
P(A|B)=\frac {P(B|A)P(A)}{P(B)}
\]
\(P(B|A)\) - 在已知♥️的牌中,有几个J,显然,1/13

\(P(A)\) - 在整副牌中,红桃出现的概率:13/54

\(P(B)\) - 在整副牌中,J出现的概率:4/54
这里这个P(B)可以是如下公式计算的:
\[
\displaystyle\sum_{j=1}^nP(B|A_j)\times P(A_j) = P(B)
\]
即,\(A_j\)代表的是♥️,♣️,♦️,♠️中的某一个类别。例如,j=1, 我们认为是♥️,则,P(B|A1) = 1/13
P(A1) = 13/54
此时,
\[
P(B|A_1) \times P(A_1) = \frac1{13} \times \frac {13}{54} = \frac{1}{54}
\]
当 j = 1,2,3,4 时,由于这里每个
$
P(B|A_j)
$
都是相等的,所以
\[
P(B) = 4 \times \frac{1}{54} = \frac{4}{54}
\]
所以,上面的P(A|B) 就能算出来了。因为P(B|A) ,P(A) ,P(B)都知道了。

==以上是一个等概率的问题。更一般地,我们要用Bayes公式解决不等概率、根据观察对对象进行分类的问题。==

2.2 设有三棵橘子树(这是更一般的场景)

有甲乙丙三颗橘子树,到了秋收的季节,老农对他们进行采摘。
第一年:

  • 甲橘子树出来的果子多数都偏红,口感好。
  • 乙橘子树出来的果子多数都普通,口感一般。
  • 丙橘子树出来的果子多数都偏黄,口感不好。

果农从此知道P(A), P(A|B), P(B)

第二年:
       新来的果农和老农一起工作,他们拿起一个橘子,要判断这个果子出自甲乙丙三棵果树里的哪一棵。

找一个案例编程实现

  1. 用Bayes公式完成分类任务的例子

todo.. (网上的例子很多了,就不知道何时来todo了,呵呵)

bayes公式 - 再从零开始理解的更多相关文章

  1. 用bayes公式进行机器学习的经典案例

    用bayes公式进行机器学习的经典案例 从本科时候(大约9年前)刚接触Bayes公式,只知道P(A|B)×P(B) = P(AB) = P(B|A)×P(A) 到硕士期间,机器学习课上对P(B|A)P ...

  2. 从零开始理解JAVA事件处理机制(2)

    第一节中的示例过于简单<从零开始理解JAVA事件处理机制(1)>,简单到让大家觉得这样的代码简直毫无用处.但是没办法,我们要继续写这毫无用处的代码,然后引出下一阶段真正有益的代码. 一:事 ...

  3. 最大似然判别法和Bayes公式判别法

    最大似然判别法 Bayes公式判别法

  4. 从零开始理解JAVA事件处理机制(3)

    我们连续写了两小节的教师-学生的例子,必然觉得无聊死了,这样的例子我们就是玩上100遍,还是不知道该怎么写真实的代码.那从本节开始,我们开始往真实代码上面去靠拢. 事件最容易理解的例子是鼠标事件:我们 ...

  5. 从零开始理解JAVA事件处理机制(1)

    “事件”这个词已经被滥用了.正因为“事件”的被滥用,很多人在用到事件的时候不求甚解,依样画葫芦,导致学习工作了很多年,还是不清楚什么是事件处理器.什么是事件持有者.所以,如果你对于Event这个词还是 ...

  6. 再深刻理解下web3.js中estimateGas如何计算智能合约消耗的gas量

    我们可使用web3.js框架的estimateGas函数获得一个以太坊智能合约的Gas估计值 ,通过执行一个消息调用或交易,该消息调用或交易直接在节点的VM中执行,并未在区块链中确认,函数会返回估算使 ...

  7. 从零开始一起学习SLAM | 不推公式,如何真正理解对极约束?

    自从小白向师兄学习了李群李代数和相机成像模型的基本原理后,感觉书上的内容没那么难了,公式推导也能推得动了,感觉进步神速,不过最近小白在学习对极几何,貌似又遇到了麻烦... 小白:师兄,对极几何这块你觉 ...

  8. 【十大算法实现之naive bayes】朴素贝叶斯算法之文本分类算法的理解与实现

    关于bayes的基础知识,请参考: 基于朴素贝叶斯分类器的文本聚类算法 (上) http://www.cnblogs.com/phinecos/archive/2008/10/21/1315948.h ...

  9. 【转】你真的理解Python中MRO算法吗?

    你真的理解Python中MRO算法吗? MRO(Method Resolution Order):方法解析顺序. Python语言包含了很多优秀的特性,其中多重继承就是其中之一,但是多重继承会引发很多 ...

随机推荐

  1. SPI Flash Memory 芯片手册阅读

    SPI Flash Memory 芯片手册阅读 信息来源

  2. Weekend Log 4.6

    PHP相关 常用PHP编译 .\/configure 12 ./configure -prefix=/usr/local/php --with-config-file-path=/usr/local/ ...

  3. php中的this,self,parent

    this就是指向当前对象实例的指针,不指向任何其他对象或类 如$this->fun1(); self:指向类本身,也就是self是不指向任何已经实例化的对象 ,self使用来指向类中的静态属性或 ...

  4. Java面向对象课程设计——购物车

    Java面向对象课程设计——购物车 小组成员:余景胜.刘格铭.陈国雄.达瓦次仁 一.前期调查 流程 客人(Buyer)先在商城(Mall)中浏览商品(Commidity),将浏览的商品加入购物车(Sh ...

  5. Windows进程单实例运行

    场景         Windows进程单实例运行,如果有进程没有退出,继续等待,直到进程完全退出,才会进入下一个实例 HANDLE pHandle = NULL; do  {  pHandle = ...

  6. Microsoft Office 2016 简体中文 Vol 版镜像下载

    在使用上,零售版和批量授权版并没有区别,只是授权方式方面的区别,相对而言,VOL 版的更容易激活一些,其他并没有什么区别了. 有需要的可以在下面下载:(以下均是 VL 版) 版本:Office 201 ...

  7. 网站钓鱼的方法 和 xss

    获取cookie利用代码cookie.asp <html> <title>xx</title> <body> <%testfile = Serve ...

  8. Java-Runoob-高级教程-实例-数组:12. Java 实例 – 数组差集

    ylbtech-Java-Runoob-高级教程-实例-数组:12. Java 实例 – 数组差集 1.返回顶部 1. Java 实例 - 数组差集  Java 实例 以下实例演示了如何使用 remo ...

  9. Django简介及Django项目的创建详述

    Django简介 Django是一个开源的Web应用框架,由Python写成.但是,百度百科中讲它采用了MVC框架模式,其实这个解释不准确. 确切的讲,Django的模式是:路由控制+MTV模式.所谓 ...

  10. linux下软件安装知识整理

    一.软件包安装分类源码包二进制包(RPM包,系统默认包)源码包优点1.开源 可以自由选择所需的功能    软件是编译安装,适合自己系统,更加稳定,效率更高    卸载方便 缺点 安装过程步骤较多,容易 ...