集成学习是通过构建并结合多个学习器来完成学习任务,如下图,集成学习通过将多个学习器结合,获得比单一学习器显著优越的泛化性能。集成学习分为同质集成和异质集成,如果个体学习器全是一种算法称为同质集成,如果由不同算法生成,称为异质集成。基学习器是对于同质集成说的。

数据挖掘算法和实践(七):集成学习

要获得好的集成,个体学习器应该“好而不同”。如下图,图1中每个分类器只有66.6%的精度,集成之后精度为100%,图2中集成之后性能没有提高,图3中每个分类器只有33.3%的精度,集成之后变得更糟。

数据挖掘算法和实践(七):集成学习

  • 目前集成学习方法大致分为两大类。

    • 个体学习器间存在强依赖关系、必须串行生成得序列化方法(Boosting)
    • 个体学习器间不存在强依赖关系、可同时生成得并行化方法(Bagging和随机森林)

Boosting

Boosting的原理图如下:

数据挖掘算法和实践(七):集成学习

Boosting族算法最著名得代表是Adaboost。Adaboost算法流程如下,详细流程见集成学习之Adaboost算法原理小结,另外梯度提升树(GBDT)原理小结

数据挖掘算法和实践(七):集成学习

Bagging与随机森林

Bagging的原理图如下:

数据挖掘算法和实践(七):集成学习

  • Bagging采样出T个含m个训练样本的采样集,然后基于每个采样集训练出一个基学习器,再将这些及学习器进行结合。
  • 采样的方法使用自助采样法。
  • 从偏差-方差分解的角度看,Bagging主要关注降低方差,因此它在不剪枝决策树、神经网络等易受样本扰动的学习器上效果更明显。

随机森林

随机森林是Bagging的一个扩展变体,是以决策树为及学习器构建Bagging集成的基础上,进一步在决策树的训练过程中引入随机属性选择。具体来说,传统决策树在选择划分属性时是在当前结点的属性集合(假定有d 个属性)中选择一个最优属性;而在RF 中,对基决策树的每个结点,先从该结点的属性集合中随机选择一个包含k个属性的子集,然后再从这个子集中选择一个最优属性用于划分. 这里的参数k 控制了随机性的引入程度;若令k=dk = dk=d, 则基决策树的构建与传统决策树相同;若令k = 1 , 则是随机选择一个属性用于划分; 一般情况下,推荐值;

综合策略

平均法

数据挖掘算法和实践(七):集成学习

投票法

对于分类任务通常使用投票法。

数据挖掘算法和实践(七):集成学习

学习法

当训练数据很多时,一种更为强大的结合策略就是“学习法”,即通过一个学习器来进行结合。Stacking是学习法的典型代表。Stacking 先从初始数据集训练出初级学习器,然后"生成"一个新数据集用于训练次级学习器.在这个新数据集中,初级学习器的输出被当作样例输入特,?而初始样本的标记仍被当作样例标记. Stacking 的算法描述如图。

数据挖掘算法和实践(七):集成学习

相关文章:

  • 2022-02-17
  • 2022-01-21
  • 2022-12-23
  • 2021-12-26
  • 2021-05-28
  • 2021-11-18
  • 2021-09-16
  • 2021-12-02
猜你喜欢
  • 2022-02-12
  • 2021-11-26
  • 2021-06-04
  • 2022-12-23
  • 2022-12-23
  • 2021-03-28
  • 2021-07-15
相关资源
相似解决方案