具有 top-k 输出的大规模朴素贝叶斯分类器

Posted

技术标签:

【中文标题】具有 top-k 输出的大规模朴素贝叶斯分类器【英文标题】:Large scale naïve Bayes classifier with top-k output 【发布时间】:2011-10-03 13:33:18 【问题描述】:

我需要一个用于大规模朴素贝叶斯的库,其中包含数百万个训练示例和 +10 万个二进制特征。它必须是在线版本(培训后可更新)。我还需要前 k 个输出,即单个实例的多个分类。准确性不是很重要。

目的是一个自动文本分类应用程序。

非常感谢任何关于好的图书馆的建议。

编辑:该库最好使用 Java。

【问题讨论】:

我不敢相信我忘记了这一点,但最好是 Java。但如果没有其他选择,什么都可以。 我不知道它是否具有您正在寻找的确切规格,但您是否查看过Weka? @jonsca:您链接到的 PDF 描述的是贝叶斯网络,而不是朴素贝叶斯。 @larsmans 谢谢,很遗憾我对这个特定领域的了解不够。 @jonsca 是的,我以前用过 Weka。恐怕它不适合这个项目。它根本不像我想要的那样可扩展。 【参考方案1】:

如果除了朴素贝叶斯之外的学习算法也可以接受,那么请查看Vowpal Wabbit (C++),它被誉为最好的可扩展文本分类算法之一(在线随机梯度下降 + LDA)。我不确定它是否会输出 top-K。

【讨论】:

naïve Bayes 的唯一原因是它与二进制依赖的特征配合得很好。我会在 Vowpal Wabbit 列表上四处询问,看看它是否可以进行 top-K 输出。 @Rasmus:我不知道你所说的“二进制依赖特征”是什么意思,但朴素贝叶斯被设计为(仅)与相互独立特征一起工作。跨度> Binary 表示开/关,这意味着它只需要两个值 参见关于 dependent 特征的朴素贝叶斯示例:mendeley.com/research/… 或 cc.gatech.edu/~isbell/classes/reading/papers/Rish.pdf

以上是关于具有 top-k 输出的大规模朴素贝叶斯分类器的主要内容,如果未能解决你的问题,请参考以下文章

“移花接木”(朴素贝叶斯分类器)

用Java编写的开源朴素贝叶斯分类器[关闭]

贝叶斯分类器(3)朴素贝叶斯分类器

SparkMLib分类算法之朴素贝叶斯分类

朴素贝叶斯构建“饥饿站台”豆瓣短评情感分类器

具有诸如 hasDate、hasLocation、第一个单词等特征的朴素贝叶斯文本分类器