每天5分钟疾速玩转机器学习算法:集成学习算法模型的详细引见
作者头像
  • 康路路
  • 2020-05-13 09:16:32 5

本文重点

本文将详细介绍集成学习算法。在后续章节中,我们已经详细讨论了决策树算法。为什么要在介绍决策树算法后紧接着讲解集成学习呢?这是因为集成模型通常使用决策树作为基础分类器。当然,集成学习不仅限于决策树,神经网络和支持向量机也可以应用集成的思想。接下来,我们先了解一下什么是集成学习。

集成模型的基础分类器为何常用决策树

  1. 决策树能够方便地将样本权重融入训练过程,无需通过过采样来调整样本权重。
  2. 决策树的表达能力和泛化能力可以通过调整树的深度来实现,每棵树都有不同的表达能力和泛化能力。
  3. 决策树具有随机性,每次选择的特征或训练的样本子集不同,生成的模型也具有随机性,这种随机性使得决策树更适合做基础分类器。

什么是集成学习

集成学习通过组合多个分类器来构建一个强大的分类器。这些被组合的分类器称为基础分类器。这种思想类似于“三个臭皮匠顶一个诸葛亮”。集成学习具有很强的泛化能力,多个弱分类器的组合可以降低分类错误率,并且对数据噪声有更好的容忍性。

集成学习的核心在于构建大量基础分类器,然后将这些分类器组合起来。为了使这些基础分类器尽可能地不同,每个分类器都需要有不同的特性。因此,问题变成了如何从同一个训练样本中构建多个不同的基础分类器,并如何将这些分类器组合成一个强分类器。这是后续课程的重点。接下来,我们将介绍两种方法:Boosting和Bagging。

Boosting和Bagging的对比

首先介绍Bagging方法,它通过构造不同的训练集来训练多个基础分类器。这些训练集通过自助采样的方法生成,进行M次有放回的样本采样。每次采样都是独立的,每次采样都会训练出一个基础分类器,经过M次采样可以得到M个基础分类器。训练完成后,这些基础分类器将通过投票的方式组合在一起,多数票决定最终结果。

接下来介绍Boosting方法,这种方法并不通过采样来改变训练集,而是通过赋予样本不同的权重来改变影响基分类器的损失函数,从而训练出不同的基础分类器。具体来说,每轮训练都会给样本赋予一个权重,上一轮分类错误的样本将获得更高的权重。这样经过M轮迭代后,会形成M个基础分类器。但需要注意的是,每个基础分类器不是独立存在的,而是依赖于前一轮的分类器。此外,组合方式也不是简单的投票,而是根据分类器的好坏进行加权组合,好的分类器权重更大。

方差和偏差

在预测阶段,Bagging会将所有基础分类器的预测结果平均化,此时样本的方差相当于总方差除以模型数量,因此可以认为Bagging有助于降低方差。而Boosting则是在训练过程中尽量拟合错误的样本,从而降低整个集成模型的训练误差,这有助于降低偏差。偏差和方差的概念之前已经介绍过,偏差通常是由模型错误假设引起的,导致无法很好地拟合数据,因此高偏差的模型往往存在欠拟合的问题。方差则可以通过测试集来表现,通常是由于模型对当前样本的复杂度过高,因此高方差的模型往往存在过拟合的问题。

常见的集成算法

  • Bagging:随机森林(多个决策树)
  • Boosting:AdaBoost、GBDT、XGBoost

以上是经典的一些集成算法模型,在接下来的章节中,我们将对这四种模型进行详细的解释和公式推导。

    本文来源:图灵汇
责任编辑: : 康路路
声明:本文系图灵汇原创稿件,版权属图灵汇所有,未经授权不得转载,已经协议授权的媒体下载使用时须注明"稿件来源:图灵汇",违者将依法追究责任。
    分享
算法学习疾速引见模型机器分钟集成每天详细
    下一篇