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

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

机器学习|朴素贝叶斯算法(一)-贝叶斯简介及应用
机器学习|朴素贝叶斯算法(二)-用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)

目录
相关文章
|
20天前
|
机器学习/深度学习 存储 算法
神经网络分类算法原理详解
神经网络分类算法原理详解
42 0
|
16天前
|
机器学习/深度学习 算法 搜索推荐
Machine Learning机器学习之决策树算法 Decision Tree(附Python代码)
Machine Learning机器学习之决策树算法 Decision Tree(附Python代码)
|
8天前
|
机器学习/深度学习 自然语言处理 算法
|
21天前
|
缓存 算法 关系型数据库
深度思考:雪花算法snowflake分布式id生成原理详解
雪花算法snowflake是一种优秀的分布式ID生成方案,其优点突出:它能生成全局唯一且递增的ID,确保了数据的一致性和准确性;同时,该算法灵活性强,可自定义各部分bit位,满足不同业务场景的需求;此外,雪花算法生成ID的速度快,效率高,能有效应对高并发场景,是分布式系统中不可或缺的组件。
深度思考:雪花算法snowflake分布式id生成原理详解
|
24天前
|
机器学习/深度学习 分布式计算 算法
大模型开发:你如何确定使用哪种机器学习算法?
在大型机器学习模型开发中,选择算法是关键。首先,明确问题类型(如回归、分类、聚类等)。其次,考虑数据规模、特征数量和类型、分布和结构,以判断适合的算法。再者,评估性能要求(准确性、速度、可解释性)和资源限制(计算资源、内存)。同时,利用领域知识和正则化来选择模型。最后,通过实验验证和模型比较进行优化。此过程涉及迭代和业务需求的技术权衡。
|
27天前
|
算法
PID算法原理分析及优化
这篇文章介绍了PID控制方法,一种广泛应用于机电、冶金等行业的经典控制算法。PID通过比例、积分、微分三个部分调整控制量,以适应系统偏差。文章讨论了比例调节对系统响应的直接影响,积分调节如何消除稳态误差,以及微分调节如何减少超调。还提到了数字PID的实现,包括位置式、增量式和步进式,并探讨了积分饱和和微分项的优化策略。最后,文章简述了串级PID在电机控制中的应用,并强调了PID控制的灵活性和实用性。
38 1
|
1月前
|
机器学习/深度学习 算法 生物认证
基于深度学习的人员指纹身份识别算法matlab仿真
基于深度学习的人员指纹身份识别算法matlab仿真
|
26天前
|
传感器 算法 计算机视觉
基于肤色模型和中值滤波的手部检测算法FPGA实现,包括tb测试文件和MATLAB辅助验证
该内容是关于一个基于肤色模型和中值滤波的手部检测算法的描述,包括算法的运行效果图和所使用的软件版本(matlab2022a, vivado2019.2)。算法分为肤色分割和中值滤波两步,其中肤色模型在YCbCr色彩空间定义,中值滤波用于去除噪声。提供了一段核心程序代码,用于处理图像数据并在FPGA上实现。最终,检测结果输出到"hand.txt"文件。
|
1月前
|
机器学习/深度学习 算法 计算机视觉
基于yolov2深度学习网络的视频手部检测算法matlab仿真
基于yolov2深度学习网络的视频手部检测算法matlab仿真
|
1月前
|
算法
【MATLAB】语音信号识别与处理:移动中位数滤波算法去噪及谱相减算法呈现频谱
【MATLAB】语音信号识别与处理:移动中位数滤波算法去噪及谱相减算法呈现频谱
20 2

热门文章

最新文章