我正在使用朴素贝叶斯进行文本分类的机器学习问题。我将每个单词作为一个特征。我已经实现了这个方法,并且得到了不错的准确率。
我能否使用词组作为特征呢?
例如,如果有两个类别,政治和体育。单词“政府”可能在这两个类别中都出现。然而,在政治类别中,我可以使用词组(政府,民主),而在体育类别中,我可以使用词组(政府,运动员)。因此,如果有一篇新的政治类文章,词组(政府,民主)的概率会比词组(政府,运动员)更高。
我问这个问题是因为这样做是否违反了朴素贝叶斯问题中的独立性假设,因为我也在考虑单个单词作为特征。
另外,我在考虑为特征添加权重。例如,一个3元组特征的权重要比一个4元组特征的权重低。
理论上,这两种方法是否没有改变朴素贝叶斯分类器的独立性假设?此外,我还没有开始尝试我提到的方法,但这会提高准确率吗?我认为准确率可能不会提高,但达到相同准确率所需的训练数据量会减少。
回答:
即使不添加双字组合,真实文档已经违反了独立性假设。如果文档中出现了Obama,那么President出现的可能性就会大大增加。尽管如此,朴素贝叶斯在分类上仍然表现得相当不错,即使它给出的概率估计完全不准确。因此,我建议你继续添加更复杂的特征到你的分类器中,看看它们是否能提高准确率。
如果你用更少的数据获得了相同的准确率,这基本上相当于用相同数量的数据获得了更好的准确率。
另一方面,使用更简单、更常见的特征在数据量减少时效果更好。如果你试图用太少的数据去拟合太多的参数,往往会导致严重的过拟合。
但最重要的是,试一试看看结果如何。