3种常见集成算法模型的详细理解
2020-07-08
8517
集成算法(Emseble Learning)是构建多个学习器,然后通过一定策略将这些学习器组合起来,让它们来完成学习任务的,通常可以获得比单一学习显著优越的学习器。
常见的集成算法模型有:Bagging、Boosting、Stacking。下面小编对这三种模型进行简单的介绍。
1.Bagging的原理首先是在自助采样法(bootstrap sampling)的基础上,随机得到一些样本集训练,分别对不同的基学习器进行训练,然后对不同的基学习器得到的结果投票,从而得出最终的分类结果。自助采样法得到的样本大概会有63%的数据样本被使用,剩下的可以用来做验证集。
Bagging最典型代表是:随机森林
随机森林,需要分为随机和 森林来进行理解
随机就是每个分类器的数据采样和选择特征都是随机的,但是数量都是一样的,而且都是有放回的选取
森林,就是决策树,多个决策树也就构成了森林。
2.Boosting 串行:以一个弱分类器开始,然后不断增加分类器,以权重参数表示其重要性
本思想是“逐步强化”。计算过程为:
所有样本权重相同,训练得到第一个弱分类器。
根据上一轮的分类效果,调整样本的权重,上一轮分错的样本权重提高,重新进行训练。
重复以上步骤,直到达到约定的轮数结束。
由于处于分类边界的点容易分错,因此会得到更高的权重。
典型代表是AdaBoost、XgBoost算法。
3.Stacking 堆叠:聚合使用多个分类器
计算过程:
使用多个分类器各自独立进行第一轮的的训练,然后测试得到第一轮的结果,
紧接着将第一轮的训练结果作为第二轮的训练输入,得出结果
不断迭代,直到达到迭代的次数限制为止。
优点:
Stacking综合使用了多个分类器,准确率很高,
第一轮中多个分类器独立训练,较好地避免了过拟合的现象出现。
缺点:效率非常低