本站原创文章,转载请说明来自《老饼讲解-机器学习》ml.bbbdata.com
朴素贝叶斯是一个用于做分类的算法,它简单,易用,见效,是一个经典的算法
本文介绍朴素贝叶斯的算法原理,计算公式
本节先简单介绍朴素贝叶斯模型,作为初识铺垫
通过本节了解相素贝叶斯模型是个什么样的模型
朴素贝叶斯模型简介
朴素贝叶斯是基于贝叶斯后验概率建立的模型它用于解决分类问题,
它的主要思想是,
通过历史数据,对每个类别建立经验概率公式,
然后当新样本进来时,用各个类别的概率经验公式分别进行预测,
最终,属于哪个类别的概率最大,就认为是哪个类别![]()
注:为了简化,我们不一定用概率公式p(x),也可以使用它的简化版g(x)替代它
本节介绍朴素贝叶斯模型中具体的公式及公式原理
背景知识:贝叶斯原理
贝叶斯原理为,
在已知发生B条件下,发生A的概率为:
✍️公式说明
如果上述公式较抽象,则可以将贝叶斯原理理解为:
即: 发生B,且发生A = 发生A,且发生B
朴素贝叶斯概率公式与判别函数
朴素贝叶斯模型的关键是如何用历史数据构建各个类别的概率公式,
贝叶斯原理恰好可以解决这个问题
贝叶斯原理应用于类别预测
我们想知道已知表现特征,属于类别 i 的概率,
则套用贝叶斯原理可得到:
朴素贝叶斯模型-类别概率公式
如果各特征间是独立的,
那特征的概率可以拆成累积形式,
上式可以写成
![]()
朴素贝叶斯中的"朴素",指的就是"各特征间互相独立"这一条件
朴素贝叶斯模型-类别判别公式
因为每个分母一样,而最终比较的是各个类别概率的大小
所以最终每个类别的概率公式我们只需取分子部分即可,如下
此时,G代表的就不再是概率,而是判别值,称Gi为第i类别的判别函数
本节介绍在实际应用中,朴素贝叶斯模型中公式的计算方法
朴素贝叶斯模型在实际中的计算方法
朴素贝叶斯公式中需要计算的项
朴素贝叶斯公式如下
朴素贝叶素公式里对第i类的概率估计需要计算的项有:
👉 P(表现为特征Xk|已知属于类别 i)
👉 P(属于类别 i )
👉 P(特征Xk)
各项的具体计算方法
上述三项的具体计算主要用历史样本估算,如下
P(表现为特征Xk|已知属于类别 i) = 类别 i 中特征k为 的样本个数/ 类别i样本个数
P(属于类别 i ) = 类 i 在总本样中的占比
P(特征Xk) = 特征k等于 的占比
备注
(1) 连续变量需要离散化成组别
(2) 如果我们使用判别函数G,则不需要计算P(特征Xk)
本节介绍朴素贝叶斯模型最终的具体表示形式
模型的表示
那么,在建模后,朴素贝叶斯模型长什么样呢?
假设建立的是朴素贝叶斯判别模型
由于朴素贝叶斯的对属于各类别的判别函数为
那么,一个朴素贝叶斯判别模型可以由以下两个数据表示
(1) 历史样本中,属于各类别的概率
(2) 历史样本中,特征表现概率表
也即最终建好的朴素贝叶斯模型就是两张表,一张类别概率表,一张特征概率表
当进来一个特征X时,按G公式计算各个类别的判别值,
在计算Gi时,按每个特征的组别,去特征概率表中查询属于i类的概率,最终代入Gi即可。
例子说明
以k个类别,X含两个特征x1,x2为例
则最终朴素贝叶斯的判别模型为以下两张表
(1)《类别概率表》
(2)各个特征的《特征概率表》
本例共两个特征,所以有两个特征的概率表:![]()
当进来一个特征X时,按G公式计算各个类别的判别值,
在计算Gi时,按每个特征的组别,去特征概率表中查询属于i类的概率,最终代入Gi即可
✍️附:《特征概率表》的竖表形式
《特征概率表》也可以存成以变量名-类别名-组别为主键的竖表,
然后通过键值查询各个特征对应的P值,
如下:
![]()
这样在应用时查询起来更快捷方便
End