简单记录《统计学习方法》书中的朴素贝叶斯算法。
朴素贝叶斯法是基于贝叶斯定理与特征条件独立假设的分类方法,对于给定的训练数据集,首先基于特征条件独立假设学习输入输出的联合概率分布;然后基于此模型,对给定的输入
x
x
x,利用贝叶斯定理求出后验概率最大的输出
y
y
y。朴素贝叶斯法实现简单,学习与预测的效率都很高,是一种常用的方法。
基本概要
- 朴素贝叶斯法是典型的生成学习方法,生成方法由训练数据学习联合概率分布
P
(
X
∣
Y
)
P(X|Y)
P(X∣Y),然后求得后验概率分布
P
(
Y
∣
X
)
P(Y|X)
P(Y∣X)。具体来说,利用训练数据学习
P
(
X
∣
Y
)
P(X|Y)
P(X∣Y)和
P
(
Y
)
P(Y)
P(Y)的估计,得到联合概率分布:
P ( X , Y ) = P ( Y ) P ( X ∣ Y ) P(X,Y) = P(Y)P(X|Y) P(X,Y)=P(Y)P(X∣Y)
概率估计方法可以是极大似然或者贝叶斯估计,使用极大似然估计可能会出现所要估计的概率值为0的情况,这是会影响后验概率的计算结果,为解决这个问题,一般采用贝叶斯估计。 - 朴素贝叶斯法的基本假设是条件独立性,
P ( X = x ∣ Y = c k ) = P ( X ( 1 ) = x ( 1 ) , ⋯ , X ( n ) = x ( n ) ∣ Y = c k ) = ∏ j = 1 n P ( X ( j ) = x ( j ) ∣ Y = c k ) \begin{aligned} P(X&=x | Y=c_{k} )=P\left(X^{(1)}=x^{(1)}, \cdots, X^{(n)}=x^{(n)} | Y=c_{k}\right) \\ &=\prod_{j=1}^{n} P\left(X^{(j)}=x^{(j)} | Y=c_{k}\right) \end{aligned} P(X=x∣Y=ck)=P(X(1)=x(1),⋯,X(n)=x(n)∣Y=ck)=j=1∏nP(X(j)=x(j)∣Y=ck)
这是一个较强的假设,条件独立假设等于说用于分类的特征在类确定的条件下都是条件独立的,这一假设使得朴素贝叶斯法变得简单,但有时会牺牲一定的分类准确率。 - 朴素贝叶斯法利用贝叶斯定理与学到的联合概率模型进行分类预测。
P ( Y ∣ X ) = P ( X , Y ) P ( X ) = P ( Y ) P ( X ∣ Y ) ∑ Y P ( Y ) P ( X ∣ Y ) P(Y | X)=\frac{P(X, Y)}{P(X)}=\frac{P(Y) P(X | Y)}{\sum_{Y} P(Y) P(X | Y)} P(Y∣X)=P(X)P(X,Y)=∑YP(Y)P(X∣Y)P(Y)P(X∣Y)
将 x x x分到后验概率最大的类 y y y。
y = arg max c k P ( Y = c k ) ∏ j = 1 n P ( X j = x ( j ) ∣ Y = c k ) y=\arg \max _{c_{k}} P\left(Y=c_{k}\right) \prod_{j=1}^{n} P\left(X_{j}=x^{(j)} | Y=c_{k}\right) y=argckmaxP(Y=ck)j=1∏nP(Xj=x(j)∣Y=ck)
后验概率最大等价于0-1损失函数时的期望风险最小化。
总的来说,其基本步骤为:先求出先验概率 P ( Y ) P(Y) P(Y),之后求条件概率 P ( X ∣ Y ) P(X|Y) P(X∣Y),由这两个公式求出后验概率 P ( Y ∣ X ) P(Y|X) P(Y∣X)。
朴素贝叶斯的基本模型:
- 高斯模型
- 多项式模型
- 伯努利模型