机器学习算法(二):朴素贝叶斯

朴素贝叶斯是一个监督学习分类算法。

贝叶斯定理

贝叶斯定理由英国数学家托马斯·贝叶斯于 1763 年提出。

对于事件 A 和 B:

$$P(A|B) = \frac {P(B|A)P(A)}{P(B)}$$

P(A) 称为先验概率(Prior Probability),分类的概率。

P(A|B) 称为后验概率(Posterior Probability),观测数据属于分类的概率。

P(B|A) 称为似然度(Likelihood),给定分类观测数据的概率。

P(B) 称为证据(Evidence),观测数据的概率。

贝叶斯定理,也可表示为:

$$Posterior = \frac {Prior \times Likelihood}{Evidence}$$

推导过程:

根据条件概率,事件 B 发生的条件下事件 A 发生的概率是,其中,$P(A \cap B)$ 是事件 A 和事件 B 的联合概率:

$$P(A|B) = \frac {P(A \cap B)}{P(B)}$$

同样,事件 A 发生的条件下事件 B 发生的概率是:

$$P(B|A) = \frac {P(A \cap B)}{P(A)}$$

整理,可得:

$$P(A|B)P(B) = P(A \cap B) = P(B|A)P(A)$$

若 P(B) 不等于零,等式两边除以 P(B),可以得到贝叶斯公式:

$$P(A|B) = \frac {P(B|A)P(A)}{P(B)}$$

朴素贝叶斯

已知类别 c,特征 $x \in \{ x _{1}, x _{2},...,x _{n} \}$,根据贝叶斯定义,有:

$$P(c|x) = \frac {P(c)P(x|c)}{P(x)}$$

朴素贝叶斯,假设特征之间相互独立,则有:

$$ P(c)P(x|c) \\
\propto P(c) \prod _{i=1} ^{n} {P(x _{i}|c)} $$

对于所有类别,P(x) 可以认为是一个常量。

综上,朴素贝叶斯表达式为:

$$\underset {c}{\arg\max}{P(c) \prod _{i=1} ^{n} {P(x _{i}|c)}}$$

多项式朴素贝叶斯

对于离散型特征,假设其符合多项式分布。已知,多项式分布概率质量函数,$p _{i}$ 是事件 i 的概率:

$$\frac {\left(\sum _{i}{x _{i}} \right)!}{\prod _{i}{x _{i}!}}{\prod _{i}{p _{i} ^{x _{i}}}}$$

对于分类 k,特征 x 的概率为:

$$P(x|c=k)=\frac {\left(\sum _{i}{x _{i}} \right)!}{\prod _{i}{x _{i}!}}{\prod _{i}{p _{ki} ^{x _{i}}}}$$

伯努利朴素贝叶斯

对于特性要么为真要么为假,假设其符合伯努利分布。已知,伯努利分布概率质量函数,,$p _{i}$ 是事件 i 的概率:

$$p ^{x}(1-p) ^{1-x}$$

对于分类 k,特征 x 的概率为:

$$P(x|c=k)= \prod _{i}{p _{ki} ^{x _{i}}(1-p _{ki}) ^{(1-x _{i})}}$$

参考