朴素贝叶斯分类中的未知单词

时间:2014-10-09 21:10:50

标签: machine-learning smoothing text-classification

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

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

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

1 个答案:

答案 0 :(得分:2)

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

所以,一般来说,你的测试数据中看不见的功能不应该对你的分类决定产生影响 - 你对它没有任何了解,因为你没有在训练中看到它,所以在平滑的情况下你会是将相同的小(log-)概率乘以(或添加)到每个班级的所有分数,或者您只是忽略所有课程分数。

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