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

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

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

目录
相关文章
|
7天前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于机器学习的人脸识别算法matlab仿真,对比GRNN,PNN,DNN以及BP四种网络
本项目展示了人脸识别算法的运行效果(无水印),基于MATLAB2022A开发。核心程序包含详细中文注释及操作视频。理论部分介绍了广义回归神经网络(GRNN)、概率神经网络(PNN)、深度神经网络(DNN)和反向传播(BP)神经网络在人脸识别中的应用,涵盖各算法的结构特点与性能比较。
|
4天前
|
机器学习/深度学习 数据采集 分布式计算
大数据分析中的机器学习基础:从原理到实践
大数据分析中的机器学习基础:从原理到实践
33 3
|
4天前
|
运维 NoSQL 算法
【📕分布式锁通关指南 04】redis分布式锁的细节问题以及RedLock算法原理
本文深入探讨了基于Redis实现分布式锁时遇到的细节问题及解决方案。首先,针对锁续期问题,提出了通过独立服务、获取锁进程自己续期和异步线程三种方式,并详细介绍了如何利用Lua脚本和守护线程实现自动续期。接着,解决了锁阻塞问题,引入了带超时时间的`tryLock`机制,确保在高并发场景下不会无限等待锁。最后,作为知识扩展,讲解了RedLock算法原理及其在实际业务中的局限性。文章强调,在并发量不高的场景中手写分布式锁可行,但推荐使用更成熟的Redisson框架来实现分布式锁,以保证系统的稳定性和可靠性。
21 0
|
2月前
|
机器学习/深度学习 人工智能 算法
机器学习算法的优化与改进:提升模型性能的策略与方法
机器学习算法的优化与改进:提升模型性能的策略与方法
366 13
机器学习算法的优化与改进:提升模型性能的策略与方法
|
2月前
|
机器学习/深度学习 算法 PyTorch
深度强化学习中SAC算法:数学原理、网络架构及其PyTorch实现
软演员-评论家算法(Soft Actor-Critic, SAC)是深度强化学习领域的重要进展,基于最大熵框架优化策略,在探索与利用之间实现动态平衡。SAC通过双Q网络设计和自适应温度参数,提升了训练稳定性和样本效率。本文详细解析了SAC的数学原理、网络架构及PyTorch实现,涵盖演员网络的动作采样与对数概率计算、评论家网络的Q值估计及其损失函数,并介绍了完整的SAC智能体实现流程。SAC在连续动作空间中表现出色,具有高样本效率和稳定的训练过程,适合实际应用场景。
306 7
深度强化学习中SAC算法:数学原理、网络架构及其PyTorch实现
|
14天前
|
机器学习/深度学习 人工智能 自然语言处理
解锁机器学习的新维度:元学习的算法与应用探秘
元学习作为一个重要的研究领域,正逐渐在多个应用领域展现其潜力。通过理解和应用元学习的基本算法,研究者可以更好地解决在样本不足或任务快速变化的情况下的学习问题。随着研究的深入,元学习有望在人工智能的未来发展中发挥更大的作用。
|
2月前
|
机器学习/深度学习 算法 网络安全
CCS 2024:如何严格衡量机器学习算法的隐私泄露? ETH有了新发现
在2024年CCS会议上,苏黎世联邦理工学院的研究人员提出,当前对机器学习隐私保护措施的评估可能存在严重误导。研究通过LiRA攻击评估了五种经验性隐私保护措施(HAMP、RelaxLoss、SELENA、DFKD和SSL),发现现有方法忽视最脆弱数据点、使用较弱攻击且未与实际差分隐私基线比较。结果表明这些措施在更强攻击下表现不佳,而强大的差分隐私基线则提供了更好的隐私-效用权衡。
59 14
|
8天前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于GRU网络的MQAM调制信号检测算法matlab仿真,对比LSTM
本研究基于MATLAB 2022a,使用GRU网络对QAM调制信号进行检测。QAM是一种高效调制技术,广泛应用于现代通信系统。传统方法在复杂环境下性能下降,而GRU通过门控机制有效提取时间序列特征,实现16QAM、32QAM、64QAM、128QAM的准确检测。仿真结果显示,GRU在低SNR下表现优异,且训练速度快,参数少。核心程序包括模型预测、误检率和漏检率计算,并绘制准确率图。
81 65
基于GRU网络的MQAM调制信号检测算法matlab仿真,对比LSTM
|
13天前
|
算法
基于遗传优化算法的风力机位置布局matlab仿真
本项目基于遗传优化算法(GA)进行风力机位置布局的MATLAB仿真,旨在最大化风场发电效率。使用MATLAB2022A版本运行,核心代码通过迭代选择、交叉、变异等操作优化风力机布局。输出包括优化收敛曲线和最佳布局图。遗传算法模拟生物进化机制,通过初始化、选择、交叉、变异和精英保留等步骤,在复杂约束条件下找到最优布局方案,提升风场整体能源产出效率。
|
13天前
|
算法 安全 机器人
基于包围盒的机械臂防碰撞算法matlab仿真
基于包围盒的机械臂防碰撞算法通过构建包围盒来近似表示机械臂及其环境中各实体的空间占用,检测包围盒是否相交以预判并规避潜在碰撞风险。该算法适用于复杂结构对象,通过细分目标对象并逐级检测,确保操作安全。系统采用MATLAB2022a开发,仿真结果显示其有效性。此技术广泛应用于机器人运动规划与控制领域,确保机器人在复杂环境中的安全作业。

热门文章

最新文章