在机器学习的长河中,有很多判别式模型,比如KNN等等,生成一个f(x)即可对未见实例进行判断,基本不需要利用到概率论的知识。而一些生成式模型,往往利用概率表示样本的分布,从而得出P(X,Y)来对未见实例进行划分,本文所介绍的朴素贝叶斯就是其中的一种。
1. 条件概率
从基础讲起,首先就是大学概率论课程中接触到的条件概率。
表达式如下:
P(A|B) 表示在事件B发生的前提下,事件A发生的概率。
P(A
∩
\cap
∩B) = P(AB) = P(A,B) 表示事件A和B同时发生的概率,在分子的位置上。
P(B) 表示事件B发生的概率,也就是前提事件发生的概率,在分母的位置上。
因为P(AB) 肯定是小于等于P(B) 的,所以比值小于等于1,这里注意分子分母不要弄混。
2.贝叶斯公式
朴素贝叶斯方法是以贝叶斯公式为基础的,贝叶斯公式可以理解为对条件概率公式的一个扩展。
表达式如下:
也就是说,将P(AB)转化为P(A)·P(B|A)。
在现实生活中,P(A|B)往往是很难求得的,因此取而代之,通过P(B|A)求P(A|B)。
也就是说,利用先验概率P(B|A),求得后验概率P(A|B)。
3.朴素贝叶斯
朴素贝叶斯往往运用于文本分类中,对于维数较大的数据集,朴素贝叶斯可以降低数据的规模,减少运算的计算量。
维基百科上的表达还是比较清楚的,我们假设在固定条件C下,每个属性F都是条件独立的,因此减少了很多运算,用一个连乘就可以表示所有的属性。
最后利用P(Y,X)估计,选择输出最大的类别C,就是样本X所属的类别。
4. 正则优化
由于连乘中某些属性可能为0,为保证结果不输出零,我们需要加入正则化项
λ
\lambda
λ,以保证输出不为0。
如上所示,也叫作拉普拉斯平滑。