【机器学习理论】朴素贝叶斯网络

embedded/2025/2/3 19:41:36/

基础知识:
先验概率:对某个事件发生的概率的估计。可以是基于历史数据的估计,可以由专家知识得出等等。一般是单独事件概率。

后验概率:指某件事已经发生,计算事情发生是由某个因素引起的概率。一般是一个条件概率。

条件概率:条件事件发生后,另一个事件发生的概率。一般的形式为 P ( B ∣ A ) P(B|A) P(BA),表示 A A A发生的条件下 B B B发生的概率。
P ( B ∣ A ) = P ( A B ) P ( A ) P(B|A) = \frac {P(AB)}{P(A)} P(BA)=P(A)P(AB)
贝叶斯公式基于先验概率,计算后验概率的方法;公式为:
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): 在事件  B B B 发生的条件下,事件  A A A 发生的概率(后验概率)。
  • P ( B ∣ A ) P(B | A) P(BA):在事件 A A A 发生的条件下,事件 B B B 的发生概率(似然概率)。
  • P ( A ) P(A) P(A):事件 A A A 发生的先验概率(先验知识)。
  • P ( B ) P(B) P(B):事件 B B B 发生的总概率。

贝叶斯公式可以从条件概率和全概率公式推导得出:

  1. 条件概率定义:
    P ( A ∣ B ) = P ( A ∩ B ) P ( B ) , P ( B ∣ A ) = P ( A ∩ B ) P ( A ) P(A | B) = \frac {P(A \cap B)}{P(B)}, P(B|A) = \frac {P(A \cap B)}{P(A)} P(AB)=P(B)P(AB),P(BA)=P(A)P(AB)
  2. 公式联立:
    P ( A ∩ B ) = P ( B ∣ A ) ⋅ P ( A ) = P ( A ∣ B ) ⋅ P ( B ) P(A \cap B) = P(B|A) \cdot P(A) = P(A | B) \cdot P(B) P(AB)=P(BA)P(A)=P(AB)P(B)
  3. 整理得到贝叶斯公式:
    P ( A ∣ B ) = P ( B ∣ A ) P ( A ) P ( B ) P(A | B) = \frac {P(B | A) P(A)}{P(B)} P(AB)=P(B)P(BA)P(A)
  • 贝叶斯公式:将先验概率  P ( A ) P(A) P(A)、似然概率  P ( B ∣ A ) P(B∣A) P(BA) 和证据  P ( B ) P(B) P(B) 结合,计算后验概率 P ( A ∣ B ) P(A∣B) P(AB)

朴素贝叶斯做出了一个假设”属性条件独立假设“:对所有已知标签的样本,假设每个属性独立地对标签结果产生影响。(这是一个很强的条件)

假设样本为: x = { a 1 , a 2 , . . . , a d } x=\{a_{1}, a_{2}, ..., a_{d} \} x={a1,a2,...,ad},label为 Y = { c 1 , c 2 , c 3 , . . . , c n } Y = \{c_{1}, c_{2}, c_{3}, ...,c_{n} \} Y={c1,c2,c3,...,cn};则计算这样一个样本 x x x 的所属类别的公式为:
P ( c k ∣ x ) = max ⁡ { P ( c 1 ∣ x ) , P ( c 2 ∣ x ) , P ( c 3 ∣ x ) , . . . , P ( c n ∣ x ) } P(c_{k} | x) = \max \{ P(c_{1} |x), P(c_{2} | x), P(c_{3} | x), ..., P(c_{n} |x)\} P(ckx)=max{P(c1x),P(c2x),P(c3x),...,P(cnx)}
基于条件独立假设;可以得到
P ( c ∣ x ) = P ( c ) P ( x ∣ c ) P ( x ) = P ( c ) P ( x ) ∏ i = 1 d P ( x i ∣ c ) P(c|x) = \frac {P(c)P(x|c)}{P(x)} = \frac {P(c)}{P(x)} \prod_{i=1}^{d} P(x_{i}|c) P(cx)=P(x)P(c)P(xc)=P(x)P(c)i=1dP(xic)
其中 d d d为属性数目, x i x_{i} xi x x x 在第 i i i 个属性上的取值。
我们重写上述公式:
h n b ( x ) = max ⁡ { P ( c 1 ∣ x ) , P ( c 2 ∣ x ) , P ( c 3 ∣ x ) , . . . , P ( c n ∣ x ) } = arg ⁡ max ⁡ c ∈ Y P ( c ) P ( x ) ∏ i = 1 d P ( x i ∣ C ) = arg ⁡ max ⁡ c ∈ Y P ( c ) ∏ i = 1 d P ( x i ∣ C ) \begin{align} h_{nb}(x) &= \max \{ P(c_{1} |x), P(c_{2} | x), P(c_{3} | x), ..., P(c_{n} |x)\} \\ &= \arg \max_{c \in Y} \frac {P(c)}{P(x)} \prod_{i=1}^{d}P(x_{i} | C) \\ &= \arg \max_{c \in Y} P(c) \prod_{i=1}^{d}P(x_{i} | C) \end{align} hnb(x)=max{P(c1x),P(c2x),P(c3x),...,P(cnx)}=argcYmaxP(x)P(c)i=1dP(xiC)=argcYmaxP(c)i=1dP(xiC) D c D_{c} Dc 表示训练集 D D D 中第 c c c 类样本组成的集合,若有充足的独立同分布样本,则可以容易地估计出类别的先验概率:
P ( c ) = ∣ D c ∣ ∣ D ∣ P(c) = \frac {|D_{c}|}{|D|} P(c)=DDc
对于离散属性而言,令 D c , x i D_{c, x_{i}} Dc,xi 表示 D c D_{c} Dc 中第 i i i 个属性上取值为 x i x_{i} xi 的样本组成的集合,则条件概率 P ( x i ∣ c ) P(x_{i} |c) P(xic) 可估计为:
P x i ∣ c = ∣ D c , x i ∣ ∣ D c ∣ P{x_{i} | c} = \frac {|D_{c, x_{i}}|}{|D_{c}|} Pxic=DcDc,xi
对于连续属性可考虑概率密度函数,假定 p ( x i ∣ c ) ∼ N ( μ c , i , σ c , i 2 ) p(x_{i}|c) \sim \mathcal{N}(\mu _{c, i}, \sigma _{c,i}^{2}) p(xic)N(μc,i,σc,i2)d,其中 μ c , i \mu_{c, i} μc,i σ c , i 2 \sigma_{c, i}^{2} σc,i2分别是第 c c c 类样本在第 i i i 个属性上取值的均值和方差,则有:
p ( x i ∣ c ) = 1 2 π σ c , i exp ⁡ ( − ( x i − μ c , i ) 2 2 σ c , i 2 ) p(x_{i} | c) = \frac {1}{\sqrt{2 \pi} \sigma_{c, i}} \exp (- \frac {(x_{i}-\mu_{c, i})^2}{2 \sigma_{c, i}^{2}}) p(xic)=2π σc,i1exp(2σc,i2(xiμc,i)2)


http://www.ppmy.cn/embedded/159253.html

相关文章

TB6600和DM542C两种常见的步进电机驱动器

TB6600和DM542C是两种常见的步进电机驱动器,适用于控制步进电机的运动。以下是它们的主要特点和区别: TB6600 电流调节:支持0.5A-4.5A的输出电流,适合中小型步进电机。电压范围:9V-42V DC。细分设置:支持…

OpenCV:闭运算

目录 1. 简述 2. 用膨胀和腐蚀实现闭运算 2.1 代码示例 2.2 运行结果 3. 闭运算接口 3.1 参数详解 3.2 代码示例 3.3 运行结果 4. 闭运算的应用场景 5. 注意事项 相关阅读 OpenCV:图像的腐蚀与膨胀-CSDN博客 OpenCV:开运算-CSDN博客 1. 简述…

基于PyQt5打造的实用工具——PDF文件加图片水印,可调大小位置,可批量处理!

01 项目简介 (1)项目背景 随着PDF文件在信息交流中的广泛应用,用户对图片水印的添加提出了更高要求,既要美观,又需高效处理批量文件。现有工具难以实现精确调整和快速批量操作,操作繁琐且效果不理想。本项…

机器人介绍

以下是关于机器人的介绍: 定义 机器人是一种能够自动执行任务的机器系统,它集成了机电、机构学、材料学及仿生学等多个学科技术,可以接受人类指挥,运行预先编排的程序,或根据人工智能技术制定的原则纲领行动&#xf…

JAVA 接口、抽象类的关系和用处 详细解析

接口 - Java教程 - 廖雪峰的官方网站 一个 抽象类 如果实现了一个接口,可以只选择实现接口中的 部分方法(所有的方法都要有,可以一部分已经写具体,另一部分继续保留抽象),原因在于: 抽象类本身…

第21节课:前端构建工具—自动化与模块化的利器

目录 前端构建工具的重要性任务运行器:Gulp与GruntGulpGulp的工作原理安装与使用Gulp GruntGrunt的工作原理安装与使用Grunt 模块打包器:WebpackWebpack简介Webpack的工作原理安装与使用Webpack 实践:使用Gulp和Webpack构建前端项目示例&…

TensorFlow 示例摄氏度到华氏度的转换(二)

这是一个完整的神经网络实现,用于将摄氏度转换为华氏度。下面,我会逐步描述各个步骤,并提供完整代码。 1. 数据准备与预处理 在这部分,我们准备了摄氏度(features)与对应的华氏度(labels&…

32. C 语言 安全函数( _s 尾缀)

本章目录 前言什么是安全函数?安全函数的特点主要的安全函数1. 字符串操作安全函数2. 格式化输出安全函数3. 内存操作安全函数4. 其他常用安全函数 安全函数实例示例 1:strcpy_s 和 strcat_s示例 2:memcpy_s示例 3:strtok_s 总结 …