一. 贝叶斯模型的假设
(1) 特征之间是独立的
二. 不同数据类型的特征值处理
2.1 离散型
(1)使用计数(count)的方式分别计算在各类别下该特征值出现的概率,即 p(A=ai | C=cj)
(2)这里有一个问题是,如果某一个特征值在训练样本中没有出现,而在测试样本中出现了,会出现0*x=0的情况,
为了解决这个问题,我们可以使用 拉普拉斯估计。如果在测试样本中出现了训练样本中没有出现的特征值,那么在预测时对
该特征的所有特征值的条件概率做平滑: 在每一个条件概率的分母上加u, 在分子上加 pi*u,并且sum(pi)=1
2.2 数值型
(1) 对于数值型特征值,我们一般假设它服从正态分布。对于每个特征,在某个类别的条件下,计算其样本均值和样本标准差。
(2)有了均值和标准差我们就可以得到一个正态概率分布,有了概率分布,我们就可以知道某个特征值出现时的密度函数
值,这个值我们可以认为是表达了这个特征值出现概率大小但是它和真正的概率并不是一回事,严格说来连续变量任意点发生的概率是0,现在就得到了 P(A=ai | C=cj)的条件概率值。
三. 0-1贝叶斯模型
0-1贝叶斯模型认为,在每个实例中,某个特征只出现一次。比如 一篇文章由 y,y,y,b,b组成,它是等价于 y,b的文章的。
四 多项贝叶斯模型用于文档分类
词袋模型(bag of words
):每个特征可以出现多次,但是该特征出现的顺序是无关紧要的,但是不同特征只有一种顺序。比如一篇文章由 y,y,b,b组成,那么它等价于
b,y,y,b。在词袋模型中,在某个类别下某篇文档的概率是
,其中,E代表文章,H代表分类。n1+n2+n3......=N
p(i)为某个特征在H下的概率。p(i)依然是在类别下统计出来的条件概率
五. 贝叶斯的性能
贝叶斯简单,而且在某些数据机上效果比复杂模型的效果更好。但是有时候效果也不好,比如贝叶斯假设特征间是独立的,如果特征间不独立,会影响贝叶斯模型的性能。再比如,对于数值型,一般我们假设数字是服从正态分布的,但实际上,可能并不成立。如果我们确切知道特征值分布,那么我们可以把正态分布换成其它的分布。如果我们不知道确切的分布,贝叶斯效果又不好,那么可以尝试用一下 核密度估计(kernel density estimation),它不对变量做任何分布假设。最后还有一个办法就是,将连续值离散化。