【机器学习】集成学习

简介

集成学习是机器学习的一种训练思路,而非具体的算法。其核心思路就是“人多力量大”——通过构建并结合多个学习器完成学习任务。
【机器学习】集成学习相关概念
集成学习中的个体学习器可以是同种类型(同质),也可以是不同类型(异质)。两种情况下的个体学习器也可以分别被称作基学习器组件学习器。个体学习器要求”好而不同“(有一定的准确性,学习器之间要有差异性)

【机器学习】集成学习相关概念
但事实上,个体学习器的准确性与差异性本身存在冲突。一般的,准确性很高之后增加差异性就要牺牲准确性。如何产生并结合”好而不同“的个体学习器是集成学习研究的核心。

根据个体学习器的生成方式,目前的集成学习方法大致分为两大类:

  1. 个体学习器之间强依赖关系,必须串行生成的序列化方法(Boosting为代表)
  2. 个体学习器可同时生成的并行化方法(Bagging为代表)

Boosting

Boosting的工作机制是:先从初始训练集训练出一个基学习器,再根据基学习器表现对训练样本分布进行调整,使得先前基学习器做错的样本得到更多关注,然后基于调整后的样本分布训练下一个基学习器,如此重复进行,直至基学习器数目达到事先指定的值,然后将所有基学习器加权结合

【机器学习】集成学习相关概念

AdaBoost

以二分类任务为例,算法思路如下:

  1. 初始化训练样本的权重,每个样本权值相同

  2. 进行TT轮迭代,每一轮迭代tt中:

    a.使用具有权值分布DtD_t的训练集学习得到基学习器ht(x)h_t(\boldsymbol x)

    b.计算基学习器在训练集上的分类误差率ete_t(在这里就是误分类的样本权值之和)

    c.计算ht(x)h_t(\boldsymbol x)的系数αt\alpha_t,该系数衡量学习器在最终学习器所占的权重
    αt=12ln1etet \alpha_t=\frac{1}{2}ln\frac{1-e_t}{e_t}
    et12e_t\leq \frac{1}{2}是,αt0\alpha_t\geq0,并且随着ete_t增大而减小,说明分类误差率越大的基学习器在最终学习器中的权重越小。

    d.更新权重

  3. 组合基学习器

GBDT(Gradient Boosting Decision Tree)

GBDT算法原理以及实例理解

Bagging与随机森林

Bagging

Bagging的基本流程:使用bootstrap sampling从数据集中取出TT个包含mm个训练样本的训练集,然后基于每个训练集训练出一个基学习器,然后将这些基学习器结合
【机器学习】集成学习相关概念
对预测输出进行结合时,Bagging通常对分类任务使用简单投票法,对回归任务使用简单平均法。

Bagging能不经修改的直接用于多分类、回归等任务

随机森林

随机森林是Bagging的一个变体,其构造过程如下:

  1. Bootstrap sampling选取N个样本,以后用这N个样本训练决策树
  2. 当决策树节点需要分裂时,从该节点的属性集合中随机选择一个包含k个属性的子集,然后再从中选择一个最优属性用于划分
  3. 决策树生成过程中每个节点都要按照步骤2来分裂,直到不能够再分裂为止
  4. 按照1-3建立大量决策树,就构成了随机森林

整个过程是不需要剪枝的,因为样本的随机采样和属性的选取都确保了随机性,不会产生过拟合

Bagging和Boosting的区别:

样本选择上:

Bagging:训练集是在原始集中有放回选取的,从原始集中选出的各轮训练集之间是独立的。

Boosting:每一轮的训练集不变,只是训练集中每个样例在分类器中的权重发生变化。而权值是根据上一轮的分类结果进行调整。

样例权重:

Bagging:使用均匀取样,每个样例的权重相等

Boosting:根据错误率不断调整样例的权值,错误率越大则权重越大。

预测函数:

Bagging:所有预测函数的权重相等。

Boosting:每个弱分类器都有相应的权重,对于分类误差小的分类器会有更大的权重。

并行计算:

Bagging:各个预测函数可以并行生成

Boosting:各个预测函数只能顺序生成,因为后一个模型参数需要前一轮模型的结果。

参考

周志华《机器学习》

集成学习之Adaboost算法原理小结

GBDT算法原理以及实例理解

Bagging和Boosting 概念及区别

相关文章:

  • 2021-11-05
  • 2021-05-13
  • 2021-10-23
  • 2021-06-05
  • 2021-05-17
  • 2022-12-23
猜你喜欢
  • 2021-12-03
  • 2021-09-26
  • 2022-12-23
  • 2022-01-07
  • 2021-09-01
  • 2022-02-11
  • 2021-12-11
相关资源
相似解决方案