朴素贝叶斯模型(NB model)
2013-05-08 16:58 夜与周公 阅读(1642) 评论(0) 编辑 收藏 举报本节开始介绍第一个生成式模型:朴素贝叶斯模型(NB model)。生成式模型与判别式模型的区别在于,生成式模型对样本的联合分布建模:
因此我们需要求出样本的类别分布p(y)与,样本类概率分布p(x|y)。生成式模型的困难在于p(x|y)计算,有时我们很难去估计类概率分布。因此,我们会做出一些假设,Naive Bayes Assumption 是指:样本在给定类别的条件下,各个特征之间相互独立:
根据p(xi|y)分布的假设不同,我们可以分成两种假设模型:muti-variate Bernouli model 与 multinomial event model,以下将分两个部分介绍这两种模型。
1.muti-variate Bernouli model
这种模型对应于文本分类中,特征权重是BOOL型表示方法,仅关心文本中是否出现某个词。假设当前样本集的字典V=[v1,v2,v3...v|k|],字典的每一个词对应一次Bernouli实验。对于某个样本x=[t1,t2,t3...t|v|],其类概率密度:
记Θi|j=p(ti|cj),Θj=p(y=cj)。因此样本的联合概率分布可以写成:
对于训练集{(xk,yk)}(k=1,2,3,...m),其最大似然估计:
其中满足条件:
采用拉格朗日乘子法,可以求得:
2.Mutinomianl event model
多项式模型对应文本中的词频特征权重(Term Frequency),不仅关系某个词是否出现,而且还关心起在文档里出现的次数。假设一篇文档x=[w1,w2,...w|h|,...w|x|]其中w|h|表示文档x第h个单词,在贝叶斯假设下类概率密度函数:
使用词典模型表示该篇文档x=[t1,t2,...t|v|],其中ti 表示字典第i个词在文档中出现的次数,因此上式可以改下成:
因此,样本的联合概率分布:
对于样本集:D={(xk,yk)} (k=1,2...N),最大似然估计:
其中满足条件:
采用拉格朗日乘子法:
ps:老板写的Naive Bayes开源工具,上面的推导也是老板的一个课件内容整理。