朴素贝叶斯算法 — Naive Bayes
作者:Alex Hu
博客:https://blog.csdn.net/m0_37204267
转载请注明作者和出处。
1. 数据符号
设输入空间
X⊆Rp
X
⊆
R
p
为
p
p
维的向量集合,输出空间为类标集合。输入特征向量
x∈X,x=(x1,x2,...,xp)
x
∈
X
,
x
=
(
x
1
,
x
2
,
.
.
.
,
x
p
)
,输出为类标
y∈Y
y
∈
Y
。
X
X
是定义在输入空间上的随机向量,
Y
Y
是定义在输出空间上的随机向量。
P(X,Y)
P
(
X
,
Y
)
是
X
X
和的联合概率分布。训练数据集为
2. 表示 — 条件独立性假设
朴素贝叶斯算法是基于贝叶斯定理与特征条件独立假设的分类算法。
该算法成立需要很强的条件独立性假设:在给定样本类别的情况下,样本的各个特征之间是独立的。 这种假设在实际中很难成立,通常情况下各个特征之间是有联系的。但是这种假设会使得计算变得简单,在一些应用(如文本分类)中取得了不错的效果。这种假设因为把特征间的联系给去掉了,想要取得更高的分类性能就比较困难。
若没有条件独立性假设,条件概率分布 P(X=x|Y=ck) P ( X = x | Y = c k ) 有指数级数量的参数,要进行参数估计是不可行的。假设 xj x j 可能的取值有 Sj S j 个, j=1,2,...,m j = 1 , 2 , . . . , m , Y Y 可取值有个,那么参数个数为 K∏mj=1Sj K ∏ j = 1 m S j 。
朴素贝叶斯方法对条件概率分布作了条件独立性假设。具体的,条件独立性假设是
3. 推理 — 基本方法
3.1 求联合概率分布
朴素贝叶斯算法通过训练数据集学习联合概率分布 P(X,Y) P ( X , Y ) 。具体方法是:通过先验概率分布 P(Y=ck) P ( Y = c k ) 和条件概率分布 P(X=x|Y=ck)=P(X1=x1,X2=x2,...,Xp=xp|Y=ck) P ( X = x | Y = c k ) = P ( X 1 = x 1 , X 2 = x 2 , . . . , X p = x p | Y = c k ) 学习到联合概率分布 P(X,Y) P ( X , Y ) 。
3.2 求后验概率
根据贝叶斯定理,对给定的输入
x
x
,通过学习的模型求得后验概率分布, 将后验概率最大的类作为
x
x
的类输出。
将公式(1)带入公式(2)得到
3.3 朴素贝叶斯分类器
公式(3)是朴素贝叶斯分类的基本公式。于是,朴素贝叶斯分类器可以表示为
注意到公式(4)中分母对所有 ck c k 都是相同的,所以,
4 学习 — 参数估计
4.1 极大似然估计
从公式(5)中看出需要估计的参数有 P(Y=ck) P ( Y = c k ) 和 P(Xj=xj|Y=ck) P ( X j = x j | Y = c k ) 。可以应用极大似然估计从原始的训练数据集中做简单统计,可以得到
其中 I(⋅) I ( · ) 是指示函数, xji x i j 表示第 i i 个样本的第个特征值。
4.2 贝叶斯估计 — 平滑处理
因为训练数据集数量很少,若出现某个类别或特征值未出现的情况,用极大似然估计的过程中,这些量的概率就为0,会影响后验概率的计算,使分类产生偏差。解决的方法是采用贝叶斯估计:
其中 λ>0 λ > 0 。当 λ=0 λ = 0 是就是最大似然估计,当 λ=1 λ = 1 时称为拉普拉斯平滑。
个人理解,这里的 λ λ 可以当作各个量的的先验知识。
5 统计决策理论 — 后验概率最大化
假设选择0-1损失函数:
其中 f(X) f ( X ) 是分类决策函数。这时,期望风险函数为
原始的期望是对联合概率分布 P(X,Y) P ( X , Y ) 取得,经过转换后只考虑取得条件期望:
为了使期望风险最小化,只要对 X=x X = x 逐个极小化,由此得到:
这样一来,根据期望风险最小化准则就得到了后验概率最大化准则:
6 朴素贝叶斯与概率图的关系
朴素贝叶斯也是概率图模型中最简单的一种形式。 下面给出朴素贝叶斯算法在概率图模型中的位置。
参考文献
[1] 李航. 统计学习方法. 清华出版社, 2012.
[2] 宗成庆. 统计自然语言处理(第二版). 清华大学出版社, 2013.
[3] 孙相国. 概率图模型4:贝叶斯网络. 2017.