使用朴素贝叶斯进行文本分类

我正在使用朴素贝叶斯进行文本分类的机器学习问题。我将每个单词作为一个特征。我已经实现了这个方法,并且得到了不错的准确率。

我能否使用词组作为特征呢?

例如,如果有两个类别,政治和体育。单词“政府”可能在这两个类别中都出现。然而,在政治类别中,我可以使用词组(政府,民主),而在体育类别中,我可以使用词组(政府,运动员)。因此,如果有一篇新的政治类文章,词组(政府,民主)的概率会比词组(政府,运动员)更高。

我问这个问题是因为这样做是否违反了朴素贝叶斯问题中的独立性假设,因为我也在考虑单个单词作为特征。

另外,我在考虑为特征添加权重。例如,一个3元组特征的权重要比一个4元组特征的权重低。

理论上,这两种方法是否没有改变朴素贝叶斯分类器的独立性假设?此外,我还没有开始尝试我提到的方法,但这会提高准确率吗?我认为准确率可能不会提高,但达到相同准确率所需的训练数据量会减少。


回答:

即使不添加双字组合,真实文档已经违反了独立性假设。如果文档中出现了Obama,那么President出现的可能性就会大大增加。尽管如此,朴素贝叶斯在分类上仍然表现得相当不错,即使它给出的概率估计完全不准确。因此,我建议你继续添加更复杂的特征到你的分类器中,看看它们是否能提高准确率。

如果你用更少的数据获得了相同的准确率,这基本上相当于用相同数量的数据获得了更好的准确率。

另一方面,使用更简单、更常见的特征在数据量减少时效果更好。如果你试图用太少的数据去拟合太多的参数,往往会导致严重的过拟合。

但最重要的是,试一试看看结果如何。

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注