统计学习方法(4)——贝叶斯分类算法

本文介绍了朴素贝叶斯算法的原理与应用。通过对比直接使用贝叶斯定理和引入独立性假设的情况,展示了朴素贝叶斯算法如何简化参数估计,提高学习效率。

朴素贝叶斯算法实现简单,学习和预测的效率均很高,是一种非常常用的方法。


1 贝叶斯算法

贝叶斯算法指通过学习数据的先验概率P(Y)和类条件概率P(X=x|Y=ck)分布,通过贝叶斯定理计算出后验概率P(Y=ck|X=x)。因为在实际中,我们往往比较容易得到前两者,通过(1)式我们便可以得到我们实际希望得到的样本在满足x的条件下,属于ck这个类别的后验概率的大小.

P(Y|X)=P(X,Y)P(X)=P(X|Y)P(Y)YP(Y)P(X|Y)
(1)
贝叶斯定理的推导非常简单,可以直接利用类条件概率推得。
P(Y|X)=P(X,Y)P(X)
(2)
P(X|Y)=P(X,Y)P(Y)
(3)
从以上(2,3)两式,我们便可以得到(1)式

2 朴素贝叶斯算法

假设我们的输入空间χRn为n维向量的集和,那么我们的条件概率可以写作:

P(X=x|Y=ck)=P(X(1)=x(1),X(2)=x(2),...,X(n)=x(n)),k=1,2...,K
(4)
如果按照第一节中提到的贝叶斯公式直接进行计算,需要估计的参数将按照指数级增长。假设xj的取值有Sj,j=1,2,…,n,n为特征维度,y的取值有K个,那么需要估计的参数个数大约为Kj=1nSj个。如果X,Y的取值均是boolean variable,那么需要估计的参数大约为2n+1个。面对如此多的参数,学习将变得非常的低效,因此我们引入了朴素贝叶斯的概念。这里的“朴素”就是作了条件概率中各条件具有独立的假设,这时,(4)的条件概率可以写作:
P(X=x|Y=ck)=P(X(1)=x(1),X(2)=x(2),...,X(n)=x(n))=j=1nP(X(j)=x(j)|Y=ck)
(5)
此时,需要学习的参数只有j=1nKSj个,特别是当特征的维度很高时,两者的差距将会非常的明显。可以得到朴素贝叶斯分类的基本公式:
P(Y=ck|X=x)=P(X=x|Y=ck)P(Y=ck)kP(X=x|Y=ck)P(Y=ck)=P(Y=ck)jP(X(j)=x(j)|Y=ck)kP(Y=ck)jP(X(j)=x(j)|Y=ck),k=1,2,...,K
(6)
取使(6)式最大的ck 作为需要预测的样本所属的类别

总结

在朴素贝叶斯算法中,我们假设所有的条件互相独立,这是一个较强的假设,但这是由于这一假设,使模型中需要学习的参数大大减少,因而朴素贝叶斯算法的效率较高,但是分类的性能不一定很高


参考资料

  1. 统计学习方法
  2. Generative and discriminative classifiers: naive Bayes and logistic regression, 2005
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值