【问题标题】:Unknown words in Naive Bayes classification朴素贝叶斯分类中的未知词
【发布时间】:2014-12-04 22:44:20
【问题描述】:

如何测试未知单词的文本分类问题?在训练模型时,我们可以使用平滑技术(Laplace add-1)来确保每个单词的每个类都至少获得 1 个计数。

那么,在测试阶段呢?如果训练数据中没有出现一个词,那么最好的处理方法是什么?直接跳过它,或者也给它一个 1 的出现?

感谢您的任何建议或意见。具体来说,我使用的是朴素贝叶斯分类器。

【问题讨论】:

  • 直接跳过就可以了。

标签: machine-learning smoothing text-classification


【解决方案1】:

当你对一个实例进行分类时,想想发生了什么,如果你对一个看不见的特征进行加 1 平滑,那么你只需乘以一个非常小的概率 (1 / vocabSize)(或添加对数概率很小)到您的累积分数。如果您跳过看不见的功能,那么分数不会发生任何变化。

因此,一般而言,您的测试数据中不可见的特征不应该对您的分类决策产生影响 - 您对它一无所知,因为您没有在训练中看到它,所以在平滑的情况下,您会将每个班级的所有分数乘以(或添加)相同的小(对数)概率,或者您只需忽略所有班级分数。

如果您不相信,只需尝试两者,看看是否有任何不同。

【讨论】:

  • 关于这个的三字总结就是“忽略生词”
猜你喜欢
  • 2015-08-27
  • 2012-07-02
  • 2017-01-10
  • 2017-03-17
  • 2013-12-02
  • 2015-11-03
  • 2015-01-03
  • 2011-03-05
相关资源
最近更新 更多