机器学习读书笔记:贝叶斯公式
从事AI行业有一段时间了,对这一块的内容也了解了不少,但是总感觉是一些零散的知识点,没有把内容全部串起来。因此重新把行业里面一些较为经典的书再重新看一遍,接着这个机会把所有的知识点串一串。先从周志华老师的《机器学习》这本书开始。
因为这本书的阅读门槛对于一般程序员来说还是有点高的,因此,计划在自己看书的过程中,把自己的理解用相对通俗易懂的语言来写一下,对自己也是一个提高的过程,希望能以这种以教为学的方式来提高自己。
水平有限,有理解不对的地方还请指正。
贝叶斯公式是机器学习里面最重要的公式之一。这里面理解起来有点点绕,写这篇文章希望能用通俗易懂的语言来描述这个过程,需要严谨的证明过程的朋友可以去翻概率论的教材。
贝叶斯公式是利用观测数据及先验概率来计算后验概率的公式,先祭出公式:
P(Y∣X)=P(X∣Y)P(Y)P(X)P(Y|X) = \frac{P(X|Y)P(Y)}{P(X)} P(Y∣X)=P(X)P(X∣Y)P(Y)
我们来拆分一下这个公式中的几个概念,尽量用通俗易懂的语言来描述:
X和Y都是随机变量,随机变量用于描述某个随机事件,比如一个硬币掉地上那一面朝上就可以用一个随机变量X来表示。
P(x)为随机变量x的概率。
P(x|y)和 Pr(y|x)为条件概率。条件概率的意思是说在某个事件已经发生的情况下,另一事件发生的概率。那么P(x|y)则表示随机事件y已经发生的情况下,x发生的概率。
这里面还有两个概念:先验概率与后验概率。
先验概率是指“从因推果”,我自己的理解是某个随机事件发生的概率。比如地铁晚点(事件X)的概率为P(X),天气暴雨(事件Y)的概率为P(Y)。
后验概率是指“从果推因”,在后验概率里都会有两个事件:“因” & “果”。所以后验概率都是以条件概率的形式出现。比如地铁晚点( 因 )和天气原因( 因 )都会导致迟到( 果 ),两者导致迟到的概率是不一样的。那么已知某人迟到了,计算是地铁的晚点的原因还是天气的原因导致就是计算后验概率。
这里我引入一道题目来进一步解释这个公式。
口袋里装有两枚硬币。第一枚硬币是公平的,所以正面向上的概率是0.5。第二枚硬币是不公平的,正面向上的概率是0.8,。将手伸入口袋,随机选取一枚硬币。选取任何一枚硬币的先验概率是相同的。投掷所选硬币观察到正面向上,利用贝叶斯公式计算选取的硬币是第二枚硬币的后验概率?
我们看梳理一下,看看怎么利用这个贝叶斯公式来进行计算:
确定事件和随机变量。
设事件X = “取得是第N枚硬币”,根据题目,选取任意一枚硬币的概率是相同的,那么第一枚第二枚的概率都是0.5。
那么随机变量Y的两种取值是:
P(X)={X1=1,P(X1)=0.5X2=2,P(X2)=0.5P(X) = \begin{cases} X_1 = 1, P(X_1) = 0.5 \\ X_2 = 2, P(X_2) = 0.5 \end{cases} P(X)={X1=1,P(X1)=0.5X2=2,P(X2)=0.5设事件Y = “硬币的某一面朝上”,改事件有两种情况:正面朝上与反面朝上。因为题目中提到两枚硬币的公平性是不一样的,所以这个事件Y的概率就依赖于事件X的概率,需要使用到全概率公式进行计算P(Y),这个公式我们等下在列。先设:
P(Y)={Y1=“正面朝上”Y2=“反面朝上”P(Y) = \begin{cases} Y_1 = “正面朝上” \\ Y_2 = “反面朝上” \end{cases} P(Y)={Y1=“正面朝上”Y2=“反面朝上”那么我们的问题是:已知正面朝上,需要计算第二枚硬币的概率。那么我们可以得出,我们需要计算的后验概率为:
P(X∣Y=Y1)P(X|Y=Y_1) P(X∣Y=Y1)利用贝叶斯公式我们可以得知:
P(X=X2∣Y=Y1)=P(Y=Y1∣X=X2)P(X=X2)P(Y1)P(X=X_2|Y=Y_1) = \frac{P(Y = Y_1|X = X_2)P(X = X_2)}{P(Y_1)} P(X=X2∣Y=Y1)=P(Y1)P(Y=Y1∣X=X2)P(X=X2)
我们来一项一项计算等号右边的值。P(X)是指取得是第N枚硬币的概率,这个很容易计算得出P(X) = 0.5。
P(Y = Y_1|X = X_2)则表示第二枚硬币向上的概率,题目中提到了是0.8。
麻烦一点的在于P(Y)的计算,这里需要用到全概率公式:
P(B)=∑i=1nP(Ai)P(B∣Ai)P(B) = \sum_{i=1}^{n} P(A_i)P(B|A_i) P(B)=i=1∑nP(Ai)P(B∣Ai)
我的理解是,两个相关联随机变量中,如果需要计算某个随机变量的先验概率,就是等于另外一个随机变量的先验概率与条件概率的乘积之和。拿之前的迟到的事情来举个栗子的话就是:假设下中雨的概率为0.1,下中雨导致迟到的概率为0.2;下大雨的概率为0.3,下大雨导致迟到的概率为0.4。那么我们可以计算迟到的概率就是:
P(B)=P(A1)(0.1)∗P(B∣A1)(0.2)+P(A2)(0.3)∗P(B∣A2)(0.4)=0.14P(B) = P(A_1)(0.1) * P(B|A_1)(0.2) + P(A_2)(0.3) * P(B|A_2)(0.4) = 0.14 P(B)=P(A1)(0.1)∗P(B∣A1)(0.2)+P(A2)(0.3)∗P(B∣A2)(0.4)=0.14
换到这个题目中来看的话,P(Y)表示正面向上的概率,这个概率需要考虑第一枚硬币向上的概率和第二枚硬币向上的概率,那么可以通过公式:
P(Y1)=P(X1)∗P(Y1∣X1)+P(X2)P(Y1∣X2)=0.5∗0.5+0.5∗0.8=0.65P(Y_1) = P(X_1) * P(Y_1|X_1) + P(X_2)P(Y_1|X_2) = 0.5*0.5+0.5*0.8 = 0.65 P(Y1)=P(X1)∗P(Y1∣X1)+P(X2)P(Y1∣X2)=0.5∗0.5+0.5∗0.8=0.65几个值都算出来了,最终我们可以得到:
P(X=X2∣Y=Y1)=0.8∗0.50.65=0.61P(X=X_2|Y=Y_1) = \frac {0.8 * 0.5}{0.65} = 0.61 P(X=X2∣Y=Y1)=0.650.8∗0.5=0.61
对于全概率公式,这里还有一个变形,上述提到的是离散型的随机变量,如果随机变量是连续的,比如描述温度变化的随机变量,那么全概率公式会变化为(求积分):
P(B)=∫12P(Ai)P(B∣Ai)dxP(B) = \int_{1}^{2}{P(A_i)P(B|A_i)}dx P(B)=∫12P(Ai)P(B∣Ai)dx
有兴趣的朋友可以去了解一下。
机器学习读书笔记:贝叶斯公式相关推荐
- Bishop 模式识别与机器学习读书笔记_ch1.1 机器学习概述
模式识别与机器学习-读书笔记 第一章 机器学习概述(I) 数据模式搜索问题是一个基础性的问题,有着悠久而成功的历史. 16世纪对第谷布拉赫的广泛天文观测使约翰内斯开普勒发现了行星运动的经验定律,从而为 ...
- 机器学习读书笔记(开篇)
新近到手一本<机器学习实战>(Peter Harringtom),兴奋之余,本着好记性不如烂笔头的真理,打算将读书的过程记录下来,形成读书笔记,重点记录自己所理解的算法思想与应用示例.本人 ...
- [Mitchell 机器学习读书笔记]——人工神经网络
1.简介 神经网络学习方法对于逼近实数值.离散值或向量值的目标函数提供了一种健壮性很强的方法.在现实中,学习解释复杂的现实世界中的传感器数据,人工神经网络(Artificial Neural Netw ...
- 李宏毅机器学习—读书笔记
李宏毅机器学习笔记(LeeML-Notes) leeml-notes 机器学习 人工智慧(Artificial Intelligence)是我们想要达成的目标,希望机器可以跟人一样的聪明.机器学习(M ...
- 机器学习读书笔记之6 - 贝叶斯系列
概率论只不过是把常识用数学公式表达了出来. --拉普拉斯 目录 0. 前言 1. 历史 1.1 一个例子:自然语言的二义性 1.2 贝叶斯公式 2. 拼写纠正 3. 模型比较 ...
- 机器学习读书笔记:聚类
文章目录 聚类 性能度量 外部指标度量方法 内部指标度量方法 基本距离计算 无序属性距离计算 加权距离计算 典型聚类算法 K-均值算法 k-均值代码 学习向量量化(LVQ) 高斯混合聚类 最大似然估计 ...
- 机器学习读书笔记(一)
By RaySaint 2011/5/27 机器学习的基本概念和学习系统的设计 最近在看机器学习的书和视频,我的感觉是机器学习是很用的东西,而且是很多学科交叉形成的领域.最相关的几个领域要属人工智能. ...
- 掌握Python 机器学习 读书笔记 9 (流水线 算法保存)
为什么80%的码农都做不了架构师?>>> cha14 流水线 在机器学习里可以看到有一些必要的步骤, 这些步骤是可以作为workflow 自动化的. 而且流水线可以对每个fol ...
- 机器学习读书笔记(一)k-近邻算法
一.机器学习是什么 机器学习的英文名称叫Machine Learning,简称ML,该领域主要研究的是如何使计算机能够模拟人类的学习行为从而获得新的知识和技能,并且重新组织已学习到的知识和和技能,使之 ...
- 掌握python机器学习-读书笔记8 (抽样回归算法)
为什么80%的码农都做不了架构师?>>> 12 抽查回归算法 今天来学习如何使用python scikit learn 来进行一些回归算法的使用. 篇幅限制, 不会对具体算法做 ...
最新文章
- stm32实际运用中遇到的问题
- mysql 5.0 to mysql 5.1的BTREE索引问题
- java连续输入_java – 要求用户进行多次输入
- 前端学习(1285):node运行环境安装
- 使用负载均衡SLB时为何出现请求分布不均衡的现象
- vim正则表示式替换
- java学习之操作符
- ps打开闪退_PS教程派 | 水花四溅的草莓切块效果,如此简单!
- Redis百亿级Key你用过吗?
- C盘满了怎么办?最强清理工具来了
- spark安装以及hive on spark和spark on hive 的配置
- 随机存取存储器与只读存储器
- 【Codeforces Round #531 (Div. 3) F. Elongated Matrix】状压DP
- 【073】我的wifi卡片-分享wifi密码一扫就好
- openjudge 1.5.21 角谷猜想
- CSS3动画实现高亮光弧效果,循环闪动效果
- 如何给笔记本用麦克风录的声音降噪(风扇声音大)
- 正版服务器,MC原版服务器搭建教程
- python生日悖论分析_生日悖论
- 计算机零基础速学,教你零基础学习电脑绘画!