开发者社区> kissjz> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

机器学习|朴素贝叶斯算法(三)-深入理解朴素贝叶斯原理

简介: 准备好好弄一弄机器学习——朴素贝叶斯算法,目前总共有三篇博文。这一篇主要是从另一个角度理解一下朴素贝叶斯的思想,希望能有所收获( ̄︶ ̄)↗ 
+关注继续查看

机器学习|朴素贝叶斯算法(一)-贝叶斯简介及应用
机器学习|朴素贝叶斯算法(二)-用sklearn实践贝叶斯
机器学习|朴素贝叶斯算法(三)-深入理解朴素贝叶斯原理

机器学习|朴素贝叶斯算法(一)-贝叶斯简介及应用中通过计算穿长裤中女生的概率解释了贝叶斯算法。这里在提供另外一种思路:它给我们提供的是一种根据数据集$D$的内容变化更新假设概率$H$的方法。

这种理解在《贝叶斯思维:统计建模的python学习法》中定义为“历时诠释”,“历时”意味着某些事情随着时间而发生,即是假设的概率随着看到的新数据而变化。

根据贝叶斯定理:

$$ P\left ( H|D \right )=\frac{P\left(H \right )P\left(D|H\right)}{P\left(D\right)} $$

每一项的意思如下(结合第一篇女生穿长裤问题分析):

$H$---女生,$D$---穿长裤

$P(H)$称为先验概率,即在得到新数据前某一假设的概率
$P(H|D)$称为后验概率,即在看到新数据后,我们要计算的该假设的概率
$P(D|H)$是该假设下得到这一数据的概率,称为似然
$P(D)$是在任何假设下得到这一数据的概率,称为标准化常量

有些情况下,我们可以基于现有背景进行得知先验概率。比如在女生穿长裤问题中,我们就能知道女孩在学校所占人数的比例(概率)是多少,即使不知道具体的比例,我们也可以根据学校的性质(工科学校或者其他)来大概假设出女孩的概率。
**
在其他情况下,先验概率是偏主观性的。这也是频率学派提出的对贝叶斯学派的批评之一。因为对某一先验概率,由于使用不同背景信息作出判断,或者因为针对相同的前提条件作出了不同解读**。

似然是贝叶斯计算中最容易知道的部分,比如女孩中穿长裤的概率

标准化常量被定义为在所有的假设条件下这一数据出现的概率,因为考虑的是最一般的情况,所以不容易确定这个常量在具体应用场合的现实意义。因此我们可以通过全概率公式来求得。啰嗦一下:

定理 设试验E的样本空间为S,A为E的事件,$B_{1},B_{2},...,B_{n}$为S的一个划分,且$P\left(B_{i}\right)>0(i=1,2,3,....n)$,则

$$ P\left(A\right)=P\left(A|B_{1}\right)P\left(B_{1}\right)+P\left(A|B_{2}\right)P\left(B_{2}\right)+ $$

$$ ...+P\left(A|B_{n}\right)P\left(B_{n}\right). $$

称为全概率公式.

比如,穿长裤概率: $P(Boy) \times P(Pants|Boy) + U \times P(Girl) \times P(Pants|Girl)$。

既然提到了全概率公式,为了进一步理解贝叶斯公式,这里给出另一种贝叶斯公式的写法:

$$ P\left(B_{i}|A \right )=\frac{P\left(A|B_{i}\right)P\left(B_{i} \right )}{P\left(A \right )} $$

$$ =\frac{P\left(A|B_{i} \right )P\left(B_{i} \right )}{\sum_{j=1}^{n}P\left(A|B_{j} \right )P\left(B_{j} \right )},i=1,2,...,n. $$

上式中,样本空间$\Omega $中的一个完备事件群$\left\{B_{1},B_{2},...,B_{n}\right\}$,设$A$为$\Omega $中的一个事件,且$P\left(B_{i}\right)>0,i=1,2,3,....,n,P\left(A\right)>0$。推敲一下这个公式的意义:从形式上看这个公式不过是条件概率定义与全概率公式的简单推论。但是之所以著名的原因在于它的哲学意义。先看$P\left(B_{1}\right),P\left(B_{2}\right),...,P\left(B_{n} \right )$,这是在没有进一步信息(不知道$A$发生)时,人们对事件$B_{1},B_{2},...,B_{n}$发生可能性大小的认识(先验信息),在有了新信息(知道A发生)后,人们对事件$B_{1},B_{2},...,B_{n}$发生可能性大小新的认识体现在$P\left(B_{1}|A \right ),P\left(B_{2}|A \right ),...,P\left(B_{n}|A \right ).$

如果我们把事件A看成“结果”,把诸事件$B_{1},B_{2},...,B_{n}$看成导致这一结果的可能“原因”,则可以形象地把全概率公式看成由“原因”推“结果”。还是举那个例子,事件$A$——穿长裤,事件$B_{1}$——女生,事件$B_{2}$——男生,则$P\left(A\right)=P\left(A|B_{1}\right)P\left(B_{1}\right)+P\left(A|B_{2} \right )P\left(B_{2} \right )$,这里男生女生就是穿裤子这个“结果”的“原因”。而贝叶斯公式正好相反,其作用在于由“结果”推“原因”。现在有了结果A,在导致A发生的众多原因中,到底 是哪个原因导致了$A$发生(或者说:到底是哪个原因导致$A$发生的可能性最大)?如果这里理解有点障碍,可以看一下我在 机器学习|朴素贝叶斯算法(二)-用sklearn实践贝叶斯中详细讨论过的概率,似然,后验概率的关系。

好了,关于朴素贝叶斯算法目前只学习了这么多,之后进行实践操作的时候还会再补充,希望能有所收获╰( ̄ω ̄o)

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
【机器学习】回归的原理学习与葡萄酒数据集的最小二乘法算法线性回归实例
【机器学习】回归的原理学习与葡萄酒数据集的最小二乘法算法线性回归实例
0 0
【架构师指南】带你彻底认识 Paxos 算法、Zab 协议和 Raft 协议的原理和本质
【架构师指南】带你彻底认识 Paxos 算法、Zab 协议和 Raft 协议的原理和本质
0 0
【数据结构之旅】「线程锁算法专项」引领你走进CLH队列锁机制原理世界
【数据结构之旅】「线程锁算法专项」引领你走进CLH队列锁机制原理世界
0 0
在没有技术术语的情况下介绍Adaptive、GBDT、XGboosting等提升算法的原理简介
在没有技术术语的情况下介绍Adaptive、GBDT、XGboosting等提升算法的原理简介
0 0
唯一ID生成原理与PHP实现-雪花算法
唯一ID生成原理与PHP实现-雪花算法
0 0
[算法系列]SVM的数学推导原理
[算法系列]SVM的数学推导原理
0 0
深入了解Vue原理——虚拟DOM和diff算法
研究方向 虚拟 DOM 如何被渲染函数(h 函数)产生?(手写 h 函数) diff 算法原理?(手写 diff 算法) 虚拟 DOM 如何通过 diff 变为真正的 DOM 的?(虚拟 DOM 变回真正的 DOM 涵盖在 diff 算法里面)
0 0
5.2 芯片SDK开发:算法工程原理及创建|学习笔记
快速学习5.2 芯片SDK开发:算法工程原理及创建
0 0
【数据结构和算法】各种基本的排序算法原理
【数据结构和算法】各种基本的排序算法原理
0 0
+关注
kissjz
Keep It Simple , Stupid. 独立博客:白水东城(www.baishuidongcheng.com)
文章
问答
文章排行榜
最热
最新
相关电子书
更多
网易云音乐音视频算法处理的 Serverless 探索之路
立即下载
阿里技术参考图册-算法篇
立即下载
阿里千亿特征深度学习算法XNN实践
立即下载