如何测试未知单词的文本分类问题?在训练模型时,我们可以使用平滑技术(Laplace add-1)来确保任何单词在每个类别中至少获得 1 个计数。
那么,测试阶段呢?如果训练数据中没有出现某个单词,处理它的最佳方法是什么?简单地跳过它,或者也给它一个出现次数 1?
谢谢您的任何建议或意见。具体来说,我正在使用朴素贝叶斯分类器。
最佳答案
当你对一个实例进行分类时,想想发生了什么,如果你对一个看不见的特征进行加1平滑,那么你只需乘以一个非常小的概率(1/vocabSize)(或添加日志非常小的概率)到您的累积分数。如果您跳过看不见的功能,那么分数不会发生任何变化。
因此,一般来说,测试数据中不可见的特征不应该对您的分类决策产生影响 - 您对此一无所知,因为您在训练中没有看到它,所以在平滑的情况下,您会将相同的小(对数)概率乘以(或相加)到每个类(class)的所有分数,否则您将忽略所有类(class)分数。
如果您不相信,只需尝试两者,看看是否有任何区别。
关于machine-learning - 朴素贝叶斯分类中的未知词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26287971/