xgboost学习
xgboost学习
https://www.bilibili.com/video/av95103384
构建多个学习器,然后通过一定策略结合把它们来完成学习任务的,常常可以获得比单一学习显著优越的学习器。
集成算法一般分为三类:Bagging,Boosting,Stacking(我们可以把它简单地看成并行,串行和树型)
Bagging的全称是bootstrap averaging,它把各个基模型的结果组织起来,最典型的代表就是随机森林。
Boosting从弱学习器开始加强,通过加权来进行训练。一般来说,它的效果会比Bagging好一些。由于新模型是在旧模型的基本上建立的,因此不能使用并行方法训练,并且由于对错误样本的关注,也可能造成过拟合。
Stacking模型:聚合多个分类或回归模型(可以分阶段来做)。具体方法是把数据分成两部分,用其中一部分训练几个基模型A1,A2,A3,用另一部分数据测试这几个基模型,把A1,A2,A3的输出作为输入,训练组合模型B。注意,它不是把模型的结果组织起来,而把模型组织起来。理论上,Stacking可以组织任何模型,实际中常使用单层logistic回归作为模型。Sklearn中也实现了stacking模型:StackingClassifier。
详见这篇文章(特别是Stacking,要看原文理解):https://www.cnblogs.com/jiading/articles/12897913.html
已经被证明,树模型是非常适合做集成算法的模型,比其他模型的效果要好
除了权重之外,也要限制树的叶子个数,避免树太庞大


obj是目标函数








浙公网安备 33010602011771号