机器学习之朴素贝叶斯原理
1 朴素贝叶斯简介
作为机器学习中少有的生成模型,朴素贝叶斯(Naive Bayes) 是基于统计学中 贝叶斯定理 发展而来的,其中的 朴素(Navie) 二字表明假设数据特征之间均为独立的。它主要应用于 nlp 领域,例如文本分类,情感分析,语法纠错,语言模型等。我们则以传统分类算法进行展开。
2 统计学知识
在细致地了解朴素贝叶斯前回顾一些简单的概率统计知识,能有效帮助我们推导朴素贝叶斯。
① 联合概率与条件概率
假设有一种数据有两个特征 A A A, B B B
不管两者是否独立,我们都可以写出联合概率与条件概率之间的关系,为
P ( A , B ) = P ( A ∣ B ) P ( B ) = P ( B ∣ A ) P ( A ) P(A,B)=P(A|B)P(B)=P(B|A)P(A) P(A,B)=P(A∣B)P(B)=P(B∣A)P(A)
联合概率 P ( A , B ) P(A,B) P(A,B) 可以理解为数据中既符合特征 A A A,又符合特征 B B B的数据占比。
假设我们想求得联合概率 P ( A , B ) P(A,B) P(A,B),应该怎么办呢,可以试着从先求得数据中符合特征 A A A 的占比,然后 A A A 的条件基础之上求得符合特征 B B B 的占比。据此思路就是求得 P ( A ) P ( B ∣ A ) P(A)P(B|A) P(A)P(B∣A)。当然我们也可以从特征 B B B 的角度出发,同理得到 P ( B ) P ( A ∣ B ) P(B)P(A|B) P(B)P(A∣B)。
如果特征 A , B A,B A,B 之间是独立的,我们还可以有
P ( A , B ) = P ( A ) P ( B ) P(A,B)=P(A)P(B) P(A,B)=P(A)P(B)
② 贝叶斯定理
基于上面所推得的联合概率与条件概率公式
P ( A , B ) = P ( A ∣ B ) P ( B ) = P ( B ∣ A ) P ( A ) P(A,B)=P(A|B)P(B)=P(B|A)P(A) P(A,B)=P(A∣B)P(B)=P(B∣A)P(A)
假设我们数据集含特征X,标签Y,同样有
P ( Y ∣ X ) P ( X ) = P ( X ∣ Y ) P ( Y ) P(Y|X)P(X)=P(X|Y)P(Y) P(Y∣X)P(X)=P(X∣Y)P(Y)
经过简单的变换可以得到著名的贝叶斯定理,为 P ( Y ∣ X ) = P ( X ∣ Y ) P ( Y ) P ( X ) P(Y|X)=\cfrac{P(X|Y)P(Y)}{P(X)} P(Y∣X)=P(X)P(X∣Y)P(Y)
其中的 P ( Y ) , P ( X ) P(Y),P(X) P(Y),P(X) 为特征 X X X,与标签 Y Y Y 的 先验概率(边缘概率),先验概率指的是某件事情发生或存在的概率。比如 P ( Y ) P(Y) P(Y),表明所有数据中标签符合 Y Y Y 的概率,是可以通过检查数据集中的标签提前得到的,对特征 X X X 同理。
其中 P ( Y ∣ X ) , P ( X ∣ Y ) P(Y|X),P(X|Y) P(Y∣X),P(X∣Y) 为 后验概率(条件概率),指的是另一件事在某个条件下发生或存在的概率,也可以理解为在某件事已经发生或存在的前提下,另一件事情发生的概率。对于 P ( Y ∣ X ) P(Y|X) P(Y∣X),表明在已知特征X的前提下,求得它符合特定标签Y的概率。
3 算法使用过程
假设存在一个数据集,有n个特征,序列为{
x 1 , x 2 . . . x n x_1,x_2...x_n x1,x2...xn},m个类别,序列为{
y 1 , y 2 . . . y m y_1,y_2...y_m y1,y2...ym},如果我们要求得某个特定数据 X j X_j Xj 属于类别 y k y_k yk 的概率,根据贝叶斯定理,我们有
P ( Y = y k ∣ X = X j ) = P ( X = X j ∣ Y = y k ) P ( Y = y k ) P ( X = X j ) P(Y=y_k|X=X_j)=\cfrac{P(X=X_j|Y=y_k)P(Y=y_k)}{P(X=X_j)} P(Y=yk∣X=X