【问题标题】:wondering if Bayes classifier is right approach?想知道贝叶斯分类器是否是正确的方法?
【发布时间】:2011-06-19 14:30:14
【问题描述】:

我想知道贝叶斯分类器是否适用于这样的应用程序(牛排、披萨、汉堡)?

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

或者,贝叶斯能否(正确地)被训练成“冷食”可能是“好”或“坏”,这取决于它与什么相关联?

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

【问题讨论】:

  • 在我们的应用程序中,顺便说一句,我们的名词数量相对较少(低于 100)和形容词数量相对较少(50),因此我们可以愉快地预先定义一个相当完整的 good/ 结构糟糕的组合......但不确定什么样的替代“评分引擎”可以让短消息被评分。

标签: algorithm bayesian


【解决方案1】:

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

苹果果红坏
苹果果绿色坏
香蕉果黄 GOOD
番茄蔬菜红 GOOD

独立是指属性(名称、水果、颜色)是独立的;例如,“apple”可以是“fruit”或“vegetable”。在这种情况下,属性“名称”和“水果”是相关的,因此朴素贝叶斯分类器过于天真(它可能会将“苹果水果黄色”分类为坏,因为它是一个苹果而且它是一个水果——但不是所有的苹果水果?)。

为了回答您最初的问题,朴素贝叶斯分类器假设类别(好或坏)独立地取决于每个属性,但事实并非如此——我喜欢热披萨和冷苏打水。

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

【讨论】:

  • 很抱歉,但投了反对票。虽然朴素贝叶斯确实假设属性之间是独立的(因此称为朴素),但实际上这并不是一个真正的问题。最大的例子是垃圾邮件过滤器,即使电子邮件中的单词相互高度依赖,它也能很好地工作
  • 感谢您的反馈。我拒绝朴素贝叶斯,因为它会导致比我认为合适的方法更多的 I 型和 II 型错误。
【解决方案2】:

我不会像 Daniel 建议的那样快速驳回贝叶斯。 贝叶斯的质量(数学表现)首先取决于训练数据的数量和质量,以及您在开发算法时所做的假设。

举个简短的例子,如果你只输入 {'beer cold' => :good, 'pizza cold' => :bad} 'cold' 这个词实际上不会影响分类。它只会决定所有啤酒都好,所有比萨饼都不好(看看它有多聪明?:))

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

如果您有兴趣,可以在此处关注我的尝试(在 ruby​​ 中):http://arubyguy.com/2011/03/03/bayes-classification-update/

【讨论】:

    猜你喜欢
    • 2012-11-01
    • 2014-03-01
    • 2012-07-31
    • 2016-08-12
    • 1970-01-01
    • 2013-07-02
    • 2019-09-14
    • 2017-01-10
    • 2019-08-08
    相关资源
    最近更新 更多