【机器学习:贝叶斯算法】
references: https://ocw.nctu.edu.tw/course_detail-v.php?bgid=1&gid=1&nid=563
使用贝叶斯算法进行分类
1 基本解读#
引例:银行对高危用户的识别,我们以伯努利分布的方式来记录银行高危用户,伯努利分布呢就是二项分布,如果用户是高危用户,我们将其标记为1,如果用户不是高危用户,我们将其标记为0,我们可以使用贝叶斯算法建立模型,实现将用户的特征输入到模型后,自动预测或判定该用户是高危用户。
朴素贝叶斯是最简单的算法,因为它包括了两一个很天真的基本假设,就是特征对应的随机变量之间的独立性假设,这个假设会提高计算效率,但是由于生活中的特征大多是相联系的,因此这个假设会降低一定的准确度。我们可以将朴素贝叶斯看作一个Baseline模型,如果所构建模型的效果甚至不如朴素贝叶斯,那么模型则代表模型效果是比较差的。
先验概率来自于过去的历史资料,例如一个营运了十年的银行,会保存有用户的特征、高危用户的数量等资料信息,贝叶斯实际上就是用先验概率来计算后验概率的方法。
当有多个随机变量相互独立的时候,他们的联合概率分布等于各自分别的乘积,也即:
2 二分类#
二分类的时候,我们估计的是p(C=1|X)的概率,当p(C=1|X)>0.5是 就将类别判定为1。
3 多分类#
多分类的时候,分别估计每一个类别出现的概率,取他们中概率最大的作为分类结果,计算任何一个类的概率时,分母总是,我们得到的结果是对比概率大小,因此,我们只需要对比分子结果的大小,就可以实现预测/分类的目标。
朴素贝叶斯算法中的不合理假设:
每一个属性所对应的随机变量是相互独立的。
对于分类任务,每一个实例(instance)的属性(atribute)都是相等的。
4 朴素贝叶斯计算案例#
假设我们要开展打球这一项户外运动,如果某天出去打球标签为+1,某天不出去打球标签为-1,我们的目标是预测在给定四个属性的情况下,某天是否会出去打球。
考虑标签的时候,我们基于最大似然估计来计算先验概率 p(打球),解得其中 N表示总天数,取 0 或 1 ,它是一种伯努利分布。
考虑属性的时候,我们拿Outlook属性为例,它包括Sunny、Overcast和Rainy三类,不再是简单的伯努利分布,而是一种多项式分布。类似地,我们基于最大似然估计来计算 p(Sunny) p(Overcast) p(Rainy),表示三种天气种的一种,取值0或1。表示第i种天气出现的概率。
表格中列示我们计算的结果,将表格种的结果带入公式计算,就可以得到要预测的后验概率,计算出是否开展户外打球活动。
5 零频率问题:Zero-frequency Problem#
这里有两个观点需要掌握:
观点一:当前实验进度没有出现过的情况,不代表是一定不会发生的。
观点二:平滑后的各情况出现的概率之和为1,平滑可以看作:实验共有n种可能出现的情况,初始时做了nλ次的实验,每种情况出现的次数是λ。后来又做了m = 8 次实验,再根据8次实验的结果对概率进行修正。
作者:Arkon
出处:https://www.cnblogs.com/arkon/p/16476066.html
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
· SQL Server 2025 AI相关能力初探