想知道贝叶斯分类器是否合适?

时间:2011-02-01 22:07:11

标签: algorithm bayesian

我想知道贝叶斯分类器是否适用于一个应用程序,其中相同的短语“冷却”(例如)在关联某些东西(啤酒,苏打水)时“好”但与其他东西相关时“坏” (牛排,披萨,汉堡)?

我想知道的是,如果训练贝叶斯分类器(“啤酒冷”和“苏打冷”是“好”)取消训练“牛排冷”和“汉堡冷”是“坏” )。

或者,贝叶斯(正确)可以训练“服务冷”可能是“好”还是“坏”取决于与之相关的内容?

我在这里和其他地方找到了很多关于贝叶斯的好信息,但是无法确定它是否适合这种类型的应用,其中一个好的或坏的短语的答案是“它取决于”?

2 个答案:

答案 0 :(得分:6)

Naive Bayes classifier假定属性之间的独立性。例如,假设您有以下数据:

苹果果红BAD
苹果果绿BAD
香蕉果黄色好的 番茄蔬菜红好GOOD

独立意味着属性(名称,水果,颜色)是独立的;例如,“苹果”可以是“水果”或“蔬菜”。在这种情况下,属性“名称”和“水果”是依赖的,所以朴素贝叶斯分类器太天真(它可能会将“苹果果实黄色”归类为坏,因为它是一个苹果而且它是一个水果 - 但不是所有的苹果水果?)。

为了回答你原来的问题,朴素贝叶斯分类假设类(好或坏)独立地依赖于每个属性,事实并非如此 - 我喜欢我的披萨热和我的苏打冷。

编辑:如果您正在寻找具有一些实用性的分类器,但理论上可能有许多类型I和类型II错误,朴素贝叶斯就是这样的分类器。朴素贝叶斯总比没有好,但使用不太天真的分类器有可衡量的价值。

答案 1 :(得分:2)

我不会像丹尼尔建议的那样快速解雇贝叶斯。 贝叶斯的质量(数学说话性能)取决于训练数据的数量和质量,以及您在开发算法时所做的假设。

为了给你一个简短的例子,如果你只喂它''beer cold'=> :好,'披萨冷'=> :bad}“冷”这个词实际上不会影响分类。它只会决定所有的啤酒都很好,所有的比萨都很糟糕(看看它有多聪明?:))

无论如何,答案太短,无法详细解释这一点,我建议阅读Paul Graham关于他如何开发他的垃圾邮件过滤器的文章 - 请注意他根据贝叶斯制作了自己的算法而不仅仅是现成的分类器。在我(迄今为止)的经验中,似乎你最好跟随他为特定问题开发特定版本的算法,这样你就可以控制各种领域特定的假设。

如果您有兴趣,可以按照我的尝试(红宝石):http://arubyguy.com/2011/03/03/bayes-classification-update/