首页 文章

我们如何使用TFIDF向量与多项式朴素贝叶斯?

提问于
浏览
0

假设我们使用TFIDF转换将文档编码为连续值特征 .

我们现在如何使用它作为朴素贝叶斯分类器的输入?

Bernoulli naive-bayes已经出局了,因为我们的功能不再是二进制了 .
似乎我们也不能使用Multinomial naive-bayes,因为这些值是连续的而不是分类的 .

作为替代方案,使用高斯朴素贝叶斯代替它是否合适?在高斯分布假设下,TFIDF向量是否可能保持良好状态?

关于MultionomialNB的sci-kit学习文档建议如下:

多项式朴素贝叶斯分类器适用于具有离散特征的分类(例如,用于文本分类的字数) . 多项分布通常需要整数特征计数 . 然而,在实践中,诸如tf-idf的分数计数也可以起作用 .

从根本上不可能使用MultinomialNB的小数值吗?
据我了解,似然函数本身假设我们正在处理离散计数(since it deals with counting/factorials

TFIDF值如何使用此公式?

1 回答

  • 1

    从技术上讲,你是对的 . (传统)多项式N.B.模型将文档D视为词汇大小的特征向量 x ,其中每个元素xi是文档I的计数 . 根据定义,该向量 x 然后遵循多项分布,导致MNB的特征分类函数 .

    当使用TF-IDF权重而不是术语计数时,我们的特征向量(很可能)不再遵循多项分布,因此分类函数在理论上不再具有良好的基础 . However ,事实证明,tf-idf权重代替计数工作(更好) .

    TFIDF值如何使用此公式?

    以完全相同的方式,除了特征向量 x 现在是tf-idf权重的向量而不是计数 .

    您还可以查看在sklearn tfidf-vectorizer中实现的次线性tf-idf加权方案 . 在我自己的研究中,我发现这个表现更好:它使用术语频率的对数版本 . 这个想法是当一个查询术语在doc中出现20次 . a和1次在doc . b,doc . a(可能)不应该被认为是重要的20倍,但更可能是log(20)倍重要 .

相关问题