当前位置: 首页 > news >正文

【机器学习】贝叶斯算法原理与应用

贝叶斯算法原理与应用

  • 一、原理介绍
    • 1. 条件概率(Conditional Probability)
    • 2. 联合概率(Joint Probability)
    • 3. 贝叶斯定理(贝叶斯公式)
    • 4. 朴素贝叶斯(Naive Bayes)
    • 5. 拉普拉斯平滑系数(Laplace Smoothing)
  • 二、应用案例(垃圾邮件识别)

一、原理介绍

1. 条件概率(Conditional Probability)

条件概率是指在已知事件B发生的条件下,事件A发生的概率。记作 P ( A ∣ B ) P(A|B) P(AB),公式为:
P ( A ∣ B ) = P ( A ∩ B ) P ( B ) P(A|B) = \frac{P(A \cap B)}{P(B)} P(AB)=P(B)P(AB)
其中:

  • P ( A ∩ B ) P(A \cap B) P(AB) 是事件A和B同时发生的联合概率。
  • P ( B ) P(B) P(B) 是事件B发生的概率。

示例:假设有一个扑克牌堆(52张),事件A是“抽到一张A”,事件B是“抽到一张红桃”。那么:

  • P ( A ) = 4 52 = 1 13 P(A) = \frac{4}{52} = \frac{1}{13} P(A)=524=131(有4张A)
  • P ( B ) = 13 52 = 1 4 P(B) = \frac{13}{52} = \frac{1}{4} P(B)=5213=41(有13张红桃)
  • P ( A ∩ B ) = 1 52 P(A \cap B) = \frac{1}{52} P(AB)=521(只有一张红桃A)
  • 在已知抽到红桃的条件下,抽到A的概率为: P ( A ∣ B ) = P ( A ∩ B ) P ( B ) = 1 / 52 1 / 4 = 1 13 P(A|B) = \frac{P(A \cap B)}{P(B)} = \frac{1/52}{1/4} = \frac{1}{13} P(AB)=P(B)P(AB)=1/41/52=131

2. 联合概率(Joint Probability)

联合概率是指两个或多个事件同时发生的概率。记作 P ( A ∩ B ) P(A \cap B) P(AB) P ( A , B ) P(A, B) P(A,B)。如果事件A和B是独立的,则 P ( A ∩ B ) = P ( A ) ⋅ P ( B ) P(A \cap B) = P(A) \cdot P(B) P(AB)=P(A)P(B)。但如果不独立,则联合概率需要根据条件概率计算:
P ( A ∩ B ) = P ( A ∣ B ) ⋅ P ( B ) = P ( B ∣ A ) ⋅ P ( A ) P(A \cap B) = P(A|B) \cdot P(B) = P(B|A) \cdot P(A) P(AB)=P(AB)P(B)=P(BA)P(A)

示例:抛掷一枚公平的硬币两次,事件A是“第一次正面朝上”,事件B是“第二次正面朝上”。由于两次抛掷独立,联合概率 P ( A ∩ B ) = P ( A ) ⋅ P ( B ) = 1 2 × 1 2 = 1 4 P(A \cap B) = P(A) \cdot P(B) = \frac{1}{2} \times \frac{1}{2} = \frac{1}{4} P(AB)=P(A)P(B)=21×21=41

3. 贝叶斯定理(贝叶斯公式)

贝叶斯定理是基于条件概率的公式,用于在已知先验知识的情况下更新事件的概率。公式为:
P ( A ∣ B ) = P ( B ∣ A ) ⋅ P ( A ) P ( B ) P(A|B) = \frac{P(B|A) \cdot P(A)}{P(B)} P(AB)=P(B)P(BA)P(A)
其中:

  • P ( A ∣ B ) P(A|B) P(AB) 是后验概率(posterior probability),即在观察到事件B后事件A发生的概率。
  • P ( B ∣ A ) P(B|A) P(BA) 是似然概率(likelihood),即在事件A发生的条件下事件B发生的概率。
  • P ( A ) P(A) P(A) 是先验概率(prior probability),即在观察事件B前事件A发生的概率。
  • P ( B ) P(B) P(B) 是证据概率(evidence),即事件B发生的总概率,通常通过全概率公式计算: P ( B ) = ∑ i P ( B ∣ A i ) P ( A i ) P(B) = \sum_{i} P(B|A_i) P(A_i) P(B)=iP(BAi)P(Ai),其中 A i A_i Ai 是互斥且完备的事件。

示例:医学测试中,假设一种疾病的患病率(先验概率)为 P ( 病 ) = 0.01 P(\text{病}) = 0.01 P()=0.01,测试的灵敏度(似然概率)为 P ( 阳性 ∣ 病 ) = 0.99 P(\text{阳性}|\text{病}) = 0.99 P(阳性)=0.99,测试的误报率为 P ( 阳性 ∣ 健康 ) = 0.05 P(\text{阳性}|\text{健康}) = 0.05 P(阳性健康)=0.05。那么,如果一个人测试阳性,实际患病的后验概率为:
P ( 病 ∣ 阳性 ) = P ( 阳性 ∣ 病 ) ⋅ P ( 病 ) P ( 阳性 ) P(\text{病}|\text{阳性}) = \frac{P(\text{阳性}|\text{病}) \cdot P(\text{病})}{P(\text{阳性})} P(阳性)=P(阳性)P(阳性)P()
其中 P ( 阳性 ) = P ( 阳性 ∣ 病 ) ⋅ P ( 病 ) + P ( 阳性 ∣ 健康 ) ⋅ P ( 健康 ) = 0.99 × 0.01 + 0.05 × 0.99 = 0.0594 P(\text{阳性}) = P(\text{阳性}|\text{病}) \cdot P(\text{病}) + P(\text{阳性}|\text{健康}) \cdot P(\text{健康}) = 0.99 \times 0.01 + 0.05 \times 0.99 = 0.0594 P(阳性)=P(阳性)P()+P(阳性健康)P(健康)=0.99×0.01+0.05×0.99=0.0594
所以:
P ( 病 ∣ 阳性 ) = 0.99 × 0.01 0.0594 ≈ 0.1667 P(\text{病}|\text{阳性}) = \frac{0.99 \times 0.01}{0.0594} \approx 0.1667 P(阳性)=0.05940.99×0.010.1667
即只有约16.67%的概率实际患病,尽管测试灵敏度很高。

4. 朴素贝叶斯(Naive Bayes)

朴素贝叶斯是一种基于贝叶斯定理的分类算法,常用于文本分类、垃圾邮件检测等。它被称为“朴素”是因为它假设特征之间是条件独立的(即给定类别下,每个特征相互独立)。对于特征向量 X = ( x 1 , x 2 , … , x n ) X = (x_1, x_2, \ldots, x_n) X=(x1,x2,,xn) 和类别 C C C,后验概率为:
P ( C ∣ X ) = P ( X ∣ C ) ⋅ P ( C ) P ( X ) P(C|X) = \frac{P(X|C) \cdot P(C)}{P(X)} P(CX)=P(X)P(XC)P(C)
由于特征条件独立, P ( X ∣ C ) P(X|C) P(XC) 可分解为:
P ( X ∣ C ) = P ( x 1 ∣ C ) ⋅ P ( x 2 ∣ C ) ⋅ … ⋅ P ( x n ∣ C ) P(X|C) = P(x_1|C) \cdot P(x_2|C) \cdot \ldots \cdot P(x_n|C) P(XC)=P(x1C)P(x2C)P(xnC)
因此:
P ( C ∣ X ) ∝ P ( C ) ∏ i = 1 n P ( x i ∣ C ) P(C|X) \propto P(C) \prod_{i=1}^{n} P(x_i|C) P(CX)P(C)i=1nP(xiC)
在分类时,我们选择使 P ( C ) ∏ i = 1 n P ( x i ∣ C ) P(C) \prod_{i=1}^{n} P(x_i|C) P(C)i=1nP(xiC) 最大的类别 C C C

示例:垃圾邮件分类。假设我们有两个类别:垃圾邮件(Spam)和非垃圾邮件(Ham)。特征包括单词“免费”和“金钱”。给定一封邮件,我们计算:

  • P ( Spam ) P(\text{Spam}) P(Spam) P ( Ham ) P(\text{Ham}) P(Ham)(先验概率)。
  • P ( 免费 ∣ Spam ) P(\text{免费}|\text{Spam}) P(免费Spam) P ( 免费 ∣ Ham ) P(\text{免费}|\text{Ham}) P(免费Ham) 等(条件概率)。
    然后对于新邮件,根据出现的单词计算后验概率,并选择概率较高的类别。

5. 拉普拉斯平滑系数(Laplace Smoothing)

在朴素贝叶斯中,如果某个特征值在训练数据中没有出现在某个类别中,则 P ( x i ∣ C ) = 0 P(x_i|C) = 0 P(xiC)=0,这会导致整个后验概率为零。拉普拉斯平滑通过添加一个常数来解决这个问题,确保没有概率为零。对于离散特征,条件概率的计算变为:
P ( x i ∣ C ) = count ( x i , C ) + α count ( C ) + α ⋅ n P(x_i|C) = \frac{\text{count}(x_i, C) + \alpha}{\text{count}(C) + \alpha \cdot n} P(xiC)=count(C)+αncount(xi,C)+α
其中:

  • count ( x i , C ) \text{count}(x_i, C) count(xi,C) 是类别 C C C 中特征 x i x_i xi 出现的次数。
  • count ( C ) \text{count}(C) count(C) 是类别 C C C 中所有特征出现的总次数(或实例数)。
  • α \alpha α 是平滑参数(通常设为1,即拉普拉斯平滑)。
  • n n n 是特征 x i x_i xi 可能取值的数量(即特征的空间大小)。

示例:在文本分类中,假设单词“彩票”在垃圾邮件中出现0次,而垃圾邮件总词数为1000,单词表大小 n = 5000 n = 5000 n=5000。使用拉普拉斯平滑( α = 1 \alpha = 1 α=1):
P ( 彩票 ∣ Spam ) = 0 + 1 1000 + 1 × 5000 = 1 6000 ≈ 0.000167 P(\text{彩票}|\text{Spam}) = \frac{0 + 1}{1000 + 1 \times 5000} = \frac{1}{6000} \approx 0.000167 P(彩票Spam)=1000+1×50000+1=600010.000167
这样,即使“彩票”没有出现,概率也不为零,避免了零概率问题。

二、应用案例(垃圾邮件识别)

待更新。。。

http://www.dtcms.com/a/525613.html

相关文章:

  • 企业网站规划与开发金戈枸橼酸西地那非片
  • 物联网开发生态及学习路线
  • 优质校建设网站建设部网站业绩如何录入
  • 佛山市住房和建设局网站陕西省高速建设集团公司网站
  • 广州白云做网站的公司如何免费开自己的网站
  • 陇南建设网站在网站开发中哪里需要js文件
  • 深圳 网站公司网站建设培训心得
  • 开发电商网站多少钱广州响应式网站
  • Java 多线程编程
  • Nginx代理服务应用实战:HTTP代理模块、正向代理、反向代理与TCP/UDP代理详解
  • 代做视频的网站唐山网站建设制作
  • 全面掌握PostgreSQL关系型数据库,逻辑备份删除,笔记49
  • 企业网站 响应式 案例红安县建设局网站
  • 物联网数据中台智慧医院企业厂家——全视通
  • 网站的交互设计泰安集团网站建设流程
  • 电子电气架构 --- 智驾芯片及域控制器一文入门篇
  • win7网站服务器制作软件广东省建设行业统一身份认证平台
  • Python 第二十三节 常用练习问题(二)
  • 基于STM32的多圈绝对值编码器的调试
  • asp.net 登陆两个网站快应用 小程序
  • 虚幻引擎5 GAS开发俯视角RPG游戏 P06-19 打开属性菜单
  • 提供医疗网站建设wordpress不能编辑不能新建
  • 网站服务费怎么做分录设计师家园官网
  • Node.js MVC 架构完全指南:构建可维护的现代 Web 应用
  • 外贸企业网站制作公司郑州区块链数字钱包网站开发公司
  • 音乐网站开发文档网站开发与app开发原理
  • django 开放api 做网站微信系统平台开发
  • 网站建设质量体系审核指导微商城网站建设平台合同范本
  • 数据库分类详解
  • 庄河网站怎么举报做棺材一个网站做三个关键词