ADAboost 和GBDT和XGboost
(一)Adaboost算法的模型是一个弱学习器线性组合,特点是通过迭代,每一轮学习一个弱学习器,在每次迭代中,提高那些被前一轮分类器错误分类的数据的权值,降低正确分类的数据的权值。最后,将弱分类器的线性组合作为强分类器,给分类误差小的基本分类器大的权值。每一次迭代都可以减少在训练集上的分类误差率。 当然,就如每一个算法都有自己的优缺点一样,AdaBoost 也有自身的缺点。AdaBoost 算法只直接支持二分类,遇到多分类的情况,需要借助 one-versus-rest 的思想来训练多分类模型。关于 one-verus-rest 的细节可以参考本系列第一篇文章 SVM。 AdaBoost能够有效的降低偏差,能够在泛化性能非常弱的学习器上构建成很强的集成。缺点是对噪声敏感。 AdaBoost 的核心就是不断迭代训练弱分类器,并计算弱分类器的权重。需要注意的是,弱分类器的训练依赖于样本权重。每一轮迭代的样本权重都不相同,依赖于弱分类器的权重值和上一轮迭代的样本权重。( 相当于改变了数据的分布情况 ,分类器学习和改变数据分布) 用 AdaBoost 也可以实现回归模型,需要将弱分类器替换成回归树,并将平方误差作为损失函数 GBDT与Adaboost的主要差别为,Adaboost每轮学习的一个基本学习器是通过改变样本的权值,关注上轮分类错误的样本的权值,以逐步减少在训练集上的分类误差率