Naive Bayes Classifier - 朴素贝叶斯分类器

Naive Bayes Classifier - 朴素贝叶斯分类器

简介

在机器学习中,朴素贝叶斯分类器是一系列基于“贝叶斯原理”和“特征之间独立分布假设”的概率分类器的总称。把它的名称分成两部分来看,一部分是“贝叶斯”对应的是“贝叶斯原理”;另一部分对应的是“朴素 Naive” 对应的是 “特征之间独立分布假设”,因为在现实世界里这明显是一个过于简单的假设。

自20世纪50年代以来, 朴素贝叶斯一直受到广泛的研究。它是在1960s,作为一种流行的文本分类方法进入人们的视野。经过适当的预处理, 它在文本分类领域甚至可以与更高级的算法(比如svm)取得相当的水平; 在自动医疗诊断中也有发现其应用价值。

数学原理

朴素贝叶斯本质上是一个条件概率模型,他首先要解决的问题是求出某个状态 X = ( x 1 , … , x n ) X=(x_1, \dots, x_n) X=(x1,,xn)下,发生事件 C k C_k Ck的概率。数学表达式如下:
p ( C k ∣ x 1 , … , x n ) p(C_k \mid x_1, \dots, x_n) p(Ckx1,,xn)
根据“贝叶斯原理”,上述表达式可以转化成如下表达式,其中 X = ( x 1 , … , x n ) X=(x_1, \dots, x_n) X=(x1,,xn):

对于给定的x来说,p(x)其实是一定的,可以理解为是个常数。那么说明我们要求解的是上述等式的分子,分子可以用如下联合概率(joint probability)表达式表示:
p ( C k , x 1 , … , x n ) p(C_k , x_1, \dots, x_n) p(Ck,x1,,xn)
根据条件概率定义,可以使用链式法则作如下推导:

到了这个时候,该’Naive Bayes’里的Naive出来表演了,Naive指的是简单,朴素:假设 X = ( x 1 , … , x n ) X=(x_1, \dots, x_n) X=(x1,,xn)里的所有 x i x_i xi相互独立。
根据这个前提假设我们可以知道:

因此,我们要求解的问题可以表达如下,其中 ∝ \propto 表示成正比:

可以进一步表达如下,其中

截止目前以上讨论的都是 Naive Bayes 概率模型的推导问题,离我们要讨论的 Naive Bayes Classifier 还差一步。要形成一个完整的 Naive Bayes Classifier,我们还需要一个判定法则。最通常用的一个法则是最大概率法则(MAP rule);

结合如上法则,我们可以形成一个完整的 Naive Bayes Classifier 了。

不同的 Naive Bayes Classifier 的不同之处主要体现在其对 P ( x i ∣ y ) P(x_i \mid y) P(xiy) 的假设上,比如说 ‘Gaussian Naive Bayes’ 的假设是, P ( x i ∣ y ) P(x_i \mid y) P(xiy) 服从高斯分布:

P ( x i ∣ y ) = 1 2 π σ y 2 exp ⁡ ( − ( x i − μ y ) 2 2 σ y 2 ) P(x_i \mid y) = \frac{1}{\sqrt{2\pi\sigma^2_y}} \exp\left(-\frac{(x_i - \mu_y)^2}{2\sigma^2_y}\right) P(xiy)=2πσy2 1exp(2σy2(xiμy)2)

在训练一个 “Gaussian Naive Bayes Classifier” 的时候,我们的目的是计算出 y 的mean( μ y \mu_y μy)和std( σ y 2 \sigma^2_y σy2)。

优劣势讨论

朴素贝叶斯是一种基于概率理论的分类算法,其代码实现和训练都比较简单,需要计算量较少。尽管它对于特征相互独立这一假设不太符合实际,但是却使其在在实际中更加实用。特征间关系的解耦,使得我们可以独立地研究每个特征相对于类别的分布,有效避免了‘维度灾难’(即需要处理的数据量随着特征数量(维度)的增加呈指数级地增长)。

另一方面,尽管朴素贝叶斯在分类领域的效果不错,是处理分类问题的一把好手,但却不能准确预测事务的概率,它的机制设计是通过概率之间的比较输出结果,更关注的是相对的大小。

参考文献

维基百科 - Naive Bayes Classifier

scikit-learn - 1.9. Naive Bayes

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值