朴素贝叶斯(naive bayes)模型主要用于文本分类,比如要将邮件分类为正常邮件和带侮辱性词汇邮件
对于一封邮件来说其特征可以表示为该邮件中单词出现的情况。
比如我们有一个5000个词的词典表,那么邮件的特征可表示成一个特征向量,特征向量的维数等于词典表的单词个数,特征向量每一维的取值空间为0或1(即这个单词是否出现)
对于p(x|y),在某一组样本中:
p(x1x2...x5000|y)=p(x1|y)p(x2|y,x1).....p(x5000|y,x1,x2...x4999)
这个问题是很复杂的,因此我们需要做朴素贝叶斯假设(这就是为什么这个算法朴素的原因):
我们假设样本中的特征(即每个词出现的情况)相互独立
该假设不符合常理,因为很多词的出现概率之间是有联系的。例如,邮件中如果出现了‘Obama’,那么邮件中出现‘USA’的概率将会大大提高。
但是我们做了这个假设后,能够简化我们的问题,且分类器的效果还不错
因此上式可改为:
p(x1x2...x5000|y)=p(x1|y)p(x2|y,x1).....p(x5000|y,x1,x2...x4999)
=p(x1|y)p(x2|y)..p(x5000|y)
之后求解极大似然估计啥的就不写了,最终通过训练样本我们需要得到的是:y=0时第j个词出现的概率,y=1时第j个词出现的概率,以及样本中y=1的概率