- 前提:
- 将每个属性和类标签视为随机变量
- 给出某对象的属性值(x1,x2,…, xd),预测label值Y
- 换种说法,其实我们想求的是
Bayes classifier 贝叶斯分类器
贝叶斯算法重要的理论基础:
问题提出与简化
将贝叶斯算法应用到该问题中,那我们可以将需要求的概率转化为:
因为P(Y)和P(X1X2…Xd)是可以算出的,所以问题便转化为计算P(X1, X2, …, Xd | Y )
如何计算 P(X1, X2, …, Xd | Y )?
推导如下:
朴素贝叶斯分类器 naive bayes classifier
- P(X1, X2, …, Xd | Y )=P(X1| Y )P(X2 | Y )…P(Xd|Y)
- 有了上面的公式,现在我们就可以估计测试集中对应的P(Xi| Yj)啦!!
根据数据估算概率
对于连续属性,有两种处理方法:
1、离散化
2、概率密度估计 :假设这个属性服从正态分布(normal distribution),通过数据来估算分布的参数(平均值、标准差),一旦知道概率分布,我们就可以用它来计算了。比如下图:
朴素贝叶斯存在的问题及改进
- 问题:
在这个公式中:
一旦有一个条件概率是0 ,那整个条件概率都是0 - 改进方法
1、一开始,我们有(Nc: number of instances in the class;Nc: number of instances in the class)
2、laplace方法进行改进 (c是number of class)
3、e-estimation(m是自己给定的参数,p是自己给的概率)
朴素贝叶斯的总结
1、可以免疫单独的噪声点
2、在概率估计计算中,通过忽略实例来处理缺失值
3、robust对不相关属性
4、各属性之间相互独立不一定成立(不成立的时候,我们用BBN)