https://zhuanlan.zhihu.com/p/39920405
https://zhuanlan.zhihu.com/p/126968534

两大问题

  1. 如何得到若干个个体学习器
    1. 个体学习器之间存在强依赖关系,一系列个体学习器基本都需要串行生成的序列化方法,代表算法是boosting系列算法,
    2. 个体学习器之间不存在强依赖关系,一系列个体学习器可以并行生成,代表算法是bagging和随机森林(Random Forest)系列算法。
  2. 如何综合不同的分类器

    三大策略

    Bagging(Bootstrap aggregating)

    过程

  3. 使用Bootstrap sample(有放回的随机采样,这里说明一下,有放回抽样是抽一个就放回一个,然后再抽,而不是这个人抽10个,再放回,下一个继续抽,它是每一个样本被抽中概率符合均匀分布)的方法取了k个数据子集(子集样本数都相等)作为新的训练集;

  4. 使用这k个子集分别训练k个学习器;
  5. 将测试数据输入到这k个学习器,会得到k个结果,用投票或加权平均得到预测结果

    特点

    Bagging通过降低基分类器的方差,改善了泛化误差;

    Boosting

    特点

    每一轮的训练集不变,只是训练集中每个样例在分类器中的权重发生变化。而权值是根据上一轮的分类结果进行调整。(顾名思义“boost”)

    Stacking:

    过程

  6. 使用训练数据,训练T个不同的模型,得到T个基模型。

  7. 使用T个基模型,分别对训练数据进行预测,与原始训练数据的标签一起组成新的训练数据。
  8. 使用T个基模型,分别对测试数据进行预测,生成新的测试数据。
  9. 使用新的训练数据,训练一个元模型。
  10. 使用元模型对测试数据进行预测,得到最终结果。

    分类

  • 个体学习器分类
    • 所有的个体学习器都是一个种类的(同质的(homogeneous)),同质集成中的个体学习器也称为“基学习器”(base learner),相应的学习算法称为“基学习算法”(base learning algorithm)。比如都是决策树个体学习器,或者都是神经网络个体学习器。
    • 所有的个体学习器不全是一个种类的(异质的(heterogeneous))。比如我们有一个分类问题,对训练集采用支持向量机个体学习器,逻辑回归个体学习器和朴素贝叶斯个体学习器来学习,再通过某种结合策略来确定最终的分类强学习器。这时个体学习器一般不称为基学习器,而称作“组件学习器”(component leaner)或直接称为个体学习器。
  • 综合方法分类

    • 投票法(对应分类问题)
    • 平均法(对应回归问题)
    • 学习法(将训练集弱学习器的学习结果作为输入,将训练集的输出作为输出,重新训练一个学习器来得到最终结果)

      Adaboost(自适应增强)(课上讲的)

      概述

      是一种迭代算法,其核心思想是针对同一个训练集训练不同的弱分类器,然后把这些弱分类器集合起来,构成一个强分类器,Adaboost可处理分类和回归问题。了解Adaboost算法之前,我们先学习下Boost(增强)Adaptive(自适应)的概念。

      流程

  • 初始化训练数据的权值分布。如果有N个样本,则每一个训练样本最开始都被赋予相同的权值1/N。

  • 训练弱分类器。训练过程中,如果某个样本点已经被准确的分类,那么在构造下一个训练集中,他的权值会被降低。相反,如果某个样本点没有被准确分类,那么它的权值就会得到提高。权值更新过的样本集会被用于训练下一个分类器,整个训练过程如此迭代的进行下去。
  • 多个弱分类器组合成强分类器。各个弱分类器的训练过程结束后,增加分类误差率小的弱分类器的权重,使其在最终的分类函数中起着较大的决定作用;而降低分类误差率大的弱分类器的权重,使其在最终的分类函数中起着较小的决定作用

    其他细节

    https://cloud.tencent.com/developer/article/1486719