Bootstrap

一文读懂朴素贝叶斯模型

1 概述

朴素贝叶斯模型是很经典的统计学习模型,在人工智能的上古时期就已经被人们发明出来。对这个模型的学习需要有一定的概率论和数理统计的知识,但是并不复杂。整个模型就围绕一件事情,如何求后验概率,即: P ( Y = c k ∣ X = x ) P(Y=c_{k}|X=x) P(Y=ckX=x)
定睛一看,也就是个条件概率,求在X=x的条件下,Y=ck的概率,说白了,就是对于给定的x,求出它属于Y=ck这一类的概率。

这个也是很直观的,我们的目标就是对给定的x进行分类,先求出其属于每一类的概率,再找到哪一类的概率最大就可以。

那现在问题就来了,如何求这个后验概率呢?这就是朴素贝叶斯模型需要解决的问题。

2 相关数学知识

在机器学习中,我们一般会遇到两类模型,一种是非概率模型,比如感知机,K近邻模型等,都是实打实的对数据进行相关的训练或处理,直接得到一个确切的决策函数,以进行回归或分类操作。而还一类就是概率模型,最后求得的是条件概率或者确切的说是后验概率,然后在后验概率中,选择概率最大的那一类为我们的值。

作为概率模型,我们了解相关的概率知识就是很重要的了。

  1. 条件概率公式:
    P ( A ∣ B ) = P ( A B ) P ( B ) P(A|B)=\frac{P(AB)}{P(B)} P(AB)=P(B)P(AB)即事件B发生的条件下,A发生的概率。其中P(AB)是事件A和事件B同时发生的概率。

  2. 全概率公式:
    P ( A ) = ∑ i = 1 n P ( B i ) ⋅ P ( A ∣ B i ) = ∑ i = 1 n P ( A B i ) P(A) = \sum_{i =1}^{n} P(B_{i})\cdot P(A|B_{i})=\sum_{i=1}^{n}P(AB_{i}) P(A)=i=1nP(Bi)P(ABi)=i=1nP(ABi)
    即事件A的概率等与A和Bi同时发生的概率的累加和。通俗的来说,要达成事件A,有i个可能的选择即Bi,每次在选择Bi时,发生A的概率为P(ABi),把每个选择的概率累加起来,就是事件A发生的概率。

  3. 贝叶斯公式
    P ( B i ∣ A ) = P ( A B i ) P ( A ) = P ( B i ) ⋅ P ( A ∣ B i ) ∑ i = 1 n P ( B i ) ⋅ P ( A ∣ B i ) P(B_{i}|A)=\frac{P(AB_{i})}{P(A)}=\frac{P(B_{i})\cdot P(A|B_{i})}{ \sum_{i =1}^{n} P(B_{i})\cdot P(A|B_{i})} P(BiA)=P(A)P(ABi)=i=1nP(Bi)P(ABi)P(Bi)P(ABi)
    这个贝叶斯公式,就是我们今天的主角了。我们可以看到,贝叶斯公式实质就是一个条件概率公式。

3 朴素贝叶斯模型

3.1 基本方法

现在我们已经有了贝叶斯公式,可以根据公式很快的求解出我们的后验概率:
P ( B i ∣ A ) = P ( A B i ) P ( A ) = P ( B i ) ⋅ P ( A ∣ B i ) ∑ i = 1 n P ( B i ) ⋅ P ( A ∣ B i ) P(B_{i}|A)=\frac{P(AB_{i})}{P(A)}=\frac{P(B_{i})\cdot P(A|B_{i})}{ \sum_{i =1}^{n} P(B_{i})\cdot P(A|B_{i})} P(BiA)=P(A)P(ABi)=i=1nP(Bi)P(A

;