为什么朴素的贝叶斯分类器表现如此出色?


38

朴素贝叶斯分类器是分类问题的流行选择。造成这种情况的原因很多,包括:

  • “ Zeitgeist”-大约十年前垃圾邮件过滤器成功之后,人们的广泛意识
  • 容易写
  • 分类器模型可以快速建立
  • 可以使用新的训练数据修改模型,而无需重建模型

但是,它们是“幼稚的”(即它们假定特征是独立的),这与其他分类器(例如最大熵分类器)(计算速度较慢)形成对比。

通常不能假定独立性假设,并且在很多(大多数)情况下,包括垃圾邮件过滤器示例,这都是错误的。

那么,即使这些功能不是彼此独立的,为什么朴素贝叶斯分类器在这些应用程序中仍然表现出色?

Answers:


23

本文似乎证明了(我无法理解数学)贝叶斯不仅在要素独立时而且在要素之间的依存关系相似时也是如此:

在本文中,我们对朴素贝叶斯的出色分类性能提出了新颖的解释。我们证明,从本质上讲,依赖性分布;即,节点的局部依赖性如何均匀地或不均匀地分布在每个类中,以及所有节点的局部依赖性如何一致地(支持某种分类)或不一致地(相互取消)一起工作,起着至关重要的作用。因此,无论属性之间的依存关系有多强,如果依存关系在类中平均分布,或者如果依存关系相互抵消,那么朴素贝叶斯仍然是最佳的


1
从质上讲,这是有道理的。相关功能将导致加权-因此,均匀分布或抵消的分布将取消此加权。但是,“偏侧”依赖性可能仍然会表现不佳?我猜对于垃圾邮件示例,我们应该期望+垃圾邮件功能有很多依赖关系,但在一般情况下不一定需要-垃圾邮件功能。但是,一个人可能会收到大量有关特定主题的合法电子邮件,因此在这种情况下,会有很多相关功能-平衡+垃圾邮件功能。
winwaed'2

3
我也推荐这篇论文:cs.stanford.edu/people/ang/papers/…–
Dov

25

大多数机器学习问题都很容易!

例如,请参见John Langford的博客。他真正的意思是说ML使问题变得容易,这对于研究人员是否应该尝试将方法应用到广泛的简单问题还是应对更困难的问题提出了一个问题。但是,副产品是,对于许多问题,数据是线性可分离的(或至少接近),在这种情况下,任何线性分类器都能很好地工作!碰巧的是,原始垃圾邮件过滤纸的作者选择使用Naive Bayes,但是如果他们使用了Perceptron,SVM,Fisher判别分析,Logistic回归,AdaBoost或其他可能会起作用的其他任何东西。

编码算法相对容易,这一事实很有帮助。例如,要对SVM进行编码,您要么需要QP解,要么就需要对SMO算法进行编码,这并不是一件容易的事。您当然可以下载libsvm,但是在早期,该选项不可用。但是,还有许多其他简单的算法(包括上面提到的Perceptron)也很容易编写代码(并允许增量更新,如问题所述)。

对于棘手的非线性问题,当然需要可以处理非线性问题的方法。但是,当采用内核方法时,即使这可能是一个相对简单的任务。这样,问题通常变成“如何为我的数据设计有效的内核功能”而不是“我应该使用哪个分类器”。


我认为“容易”可能是相对的,但是是的,垃圾邮件分类比我认为大多数人在12年前左右所假设的“容易”程度高。内核方法可能是一种生成快速简单分类器的方法,但是“如何为我的数据设计有效的内核功能”似乎有些机器学习变成了“人类学习”(即,对数据和其相互关系)?
winwaed 2012年

1
是的,这是相对的,而且还有很多问题,因此仍然有很多困难的问题!而且我认为机器学习和人类学习之间的界限总是模糊的……如果您要创建一些超级幻想的概率模型,那么您在做同一件事。很好的老式NFLT告诉我们,一种方法不能解决所有问题,无论该方法多么复杂,所以我们总是需要人工来设计模型/内核/算法,或者需要什么才能从数据中获取更多。
tdc 2012年

是的-绝对是模糊的线条!
winwaed 2012年

1
为什么要下票?愿意发表评论吗?
tdc 2014年

7

在分割分类工具中广泛使用朴素贝叶斯分类器后,我的经验与已发表的论文一致,该论文显示,当所有预测变量可用时,NBC的准确性可与线性判别和CART / CHAID媲美。

(通过准确性来预测最可能解决方案的正确率以及校准,这意味着在70%-80%的情况下75%的隶属度估计是正确的。)

我的两分钱是NBC运作得很好,因为:

  • 预测变量之间的相互关系并不像人们想象的那么强(相互信息得分通常为0.05到0.15)
  • NBC可以很好地处理离散的多变量变量,不需要我们粗略地将它们二等分或将序数变量视为基数。
  • NBC同时使用所有变量,而CART / CHAID仅使用一些变量

这就是观察所有变量的时候。使NBC真正摆脱困境的原因是,当一个或多个预测变量缺失或未观察到时,NBC会适当降低。在这种情况下,CART / CHAID和线性判别分析会停滞不前。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.