Machine learning weka AdaBoost不会改善结果

Machine learning weka AdaBoost不会改善结果,machine-learning,data-mining,weka,bayesian,adaboost,Machine Learning,Data Mining,Weka,Bayesian,Adaboost,在我的学士学位论文中,我打算将AdaBoostM1与多项式NaiveBayes分类器一起用于文本分类问题。问题是,在大多数情况下,M1在没有助推的情况下更差或等于多项式贝叶斯 我使用以下代码: AdaBoostM1 m1 = new AdaBoostM1(); m1.setClassifier(new NaiveBayesMultinomial()); m1.buildClassifier(training); 所以我不明白AdaBoost如何不能改善结果?不幸的是,我在网上找不到关于这一点的

在我的学士学位论文中,我打算将AdaBoostM1与多项式NaiveBayes分类器一起用于文本分类问题。问题是,在大多数情况下,M1在没有助推的情况下更差或等于多项式贝叶斯

我使用以下代码:

AdaBoostM1 m1 = new AdaBoostM1();
m1.setClassifier(new NaiveBayesMultinomial());
m1.buildClassifier(training);

所以我不明白AdaBoost如何不能改善结果?不幸的是,我在网上找不到关于这一点的任何其他信息,因为大多数人似乎对AdaBoost非常满意。

在文本分类方面很难打败天真的Bayes。此外,boosting是为具有高性能的弱分类器设计的,这也是boosting性能良好的地方。推进减少偏差,但增加方差。因此,如果你想让AdaBoost+Naive Bayes组合跑赢Naive Bayes,你就必须拥有一个大的训练数据集,并跨越边界,在边界处,训练集的扩大不会进一步提高Naive Bayes的性能(而AdaBoost仍然受益于扩大的训练数据集)

AdaBoost是一个二元/二分/二类分类器,旨在帮助弱小的学习者提高1/2的准确度。AdaBoostM1是一个M类分类器,但仍然要求弱学习者的准确度高于1/2,而人们预计机会水平约为1/M。最初,平衡/加权用于获得相同的流行率等级,但AdaBoost固有的重新加权可能会很快破坏这一点。一个解决方案是基于机会修正的措施,如Kappa或Informedness(AdaBook)

随着M的增长,例如文本分类,这种不匹配会增加,因此需要一个比偶然性强得多的分类器。因此,当M=100时,概率约为1%,但AdaBoostM1需要50%的最小精度

随着基本分类器越来越强大(也就是说,不再仅仅是偶然的),提升以改进事物的范围缩小了——这已经把我们拉到了搜索空间的一个非常特定的部分。它越来越可能过度拟合错误和异常值,因此无法平衡各种变体

关于informedness的许多资源(包括matlab代码、xls表和早期论文)如下所示:与其他机会修正kappa度量的比较如下所示:


使用Bookmaker informedness为Adaboost提供了一个weka实现和实验,请联系作者。

您可能想阅读下面的文章,其中探讨了Naive Bayes上的boosting。它表明,boosting并没有像通常在一组自然域中所期望的那样提高朴素贝叶斯分类器的准确性:


希望它提供了一个很好的洞察力。

因此,解决方案似乎是,只有当分类器在自己的训练数据上出错时,增强才有意义。由于NaiveBayes通常可以获得接近100%的准确率,所以在这里推进是没有意义的。谢谢你的回答!如果可以,我会接受这三个。