朴素贝叶斯分类器的平衡语料库

Posted

技术标签:

【中文标题】朴素贝叶斯分类器的平衡语料库【英文标题】:Balanced corpus for Naive Bayes Classifier 【发布时间】:2017-12-05 14:16:04 【问题描述】:

我正在使用NB 分类器进行情绪分析。我发现了一些应该平衡训练语料库的信息(博客、教程等):

33.3% 阳性; 33.3% 中性 33.3% 阴性

我的问题是:

为什么corspus 应该平衡?贝叶斯定理基于理由/案例的概率。因此,出于培训目的,在现实世界中,例如负面推文只有 10% 而不是 33.3%,这不是很重要吗?

【问题讨论】:

【参考方案1】:

您是对的,平衡数据对于许多判别模型很重要,但对于 NB 而言并非如此。

但是,偏向 P(y) 估计器以获得更好的预测性能可能更有益(因为由于使用了各种简化模型,分配给少数类的概率可能严重欠拟合)。对于 NB,它不是关于平衡数据,而是从字面上修改估计的 P(y),以便在验证集上最大化准确性。

【讨论】:

您好,感谢您的回复。所以请确认如果我得到它。我可以修改给定类中文档的比例,以获得更适合测试数据的模型? 是的,您将使贝叶斯推理无效,但这并不意味着模型会表现不佳。朴素贝叶斯已经对您的数据做了许多错误的假设,您将再添加一个。在实践中,两者都可以工作,具体取决于收集数据的方式、其特征等。只需记住验证这种重新加权验证而不是测试数据。【参考方案2】:

在我看来,如果您的分类器将使用真实世界数据的样本,那么用于训练目的的最佳数据集。

这适用于所有分类器(但其中一些分类器确实不适合不平衡的训练集,在这种情况下,您实际上无法选择扭曲分布),尤其是对于概率分类器,例如朴素贝叶斯。所以最好的样本应该反映自然的类分布。

请注意,这不仅对类先验估计很重要。朴素贝叶斯将为每个特征计算给定特征预测类别的可能性。如果您的贝叶斯分类器专门用于对文本进行分类,它将使用全局文档频率度量(给定单词在数据集中出现的次数,所有类别)。如果训练集中每个类别的文档数量不能反映它们的自然分布,那么通常在不频繁类别中看到的术语的全局术语频率将被高估,而在频繁类别中的术语频率被低估。因此,不仅先验类概率会不正确,而且所有P(category=c|term=t) 估计也会不正确。

【讨论】:

谢谢!你证实了我的猜测:)

以上是关于朴素贝叶斯分类器的平衡语料库的主要内容,如果未能解决你的问题,请参考以下文章

朴素贝叶斯分类器:每个类别的语料库大小必须相同吗?

如何让朴素贝叶斯分类器工作?

如何生成混淆矩阵并找到朴素贝叶斯分类器的错误分类率?

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

朴素贝叶斯分类器的准确性?

机器学习系列-朴素贝叶斯分类器