基础通俗讲解集成学习算法

来源:Datawhale
本文约6000字,建议阅读10+分钟
本文以图文的形式对模型算法中的集成学习,以及对集中学习在深度学习中的应用进行了详细解读 。
标签:机器学习
数据及背景阿里天池-零基础入门CV赛事:
https://tianchi.aliyun.com/competition/entrance/531795/introduction
集成学习集成学习,即分类器集成,通过构建并结合多个学习器来完成学习任务 。一般结构是:先产生一组“个体学习器”,再用某种策略将它们结合起来 。结合策略主要有平均法、投票法和学习法等 。集成学习(ensemble learning)通过构建并结合多个学习器来完成学习任务,有时也被称为多分类器系统(multi-classifier system)、基于委员会的学习(committee-based learning) 。
集成学习是这样一个过程,按照某种算法生成多个模型,如分类器或者称为专家,再将这些模型按照某种方法组合在一起来解决某个智能计算问题 。集成学习主要用来提高模型(分类,预测,函数估计等)的性能,或者用来降低模型选择不当的可能性 。集成算法本身是一种监督学习算法,因为它可以被训练然后进行预测,组合的多个模型作为整体代表一个假设(hypothesis) 。
集成方法是将几种机器学习技术组合成一个预测模型的元算法,以达到减小方差(bagging)、偏差(boosting) 或改进预测(stacking) 的效果 。
分类器(Classifier)
分类器是数据挖掘中对样本进行分类的方法的统称,包含决策树、逻辑回归、朴素贝叶斯、神经网络等算法 。分类是数据挖掘的一种非常重要的方法 。分类的概念是在已有数据的基础上学会一个分类函数或构造出一个分类模型(即分类器) 。该函数或模型能够把数据库中的数据记录映射到给定类别中的某一个,从而可以应用于数据预测 。
分类器的构造和实施大体会经过以下几个步骤:

  • 选定样本(包含正样本和负样本),将所有样本分成训练样本和测试样本两部分 。
  • 在训练样本上执行分类器算法,生成分类模型 。
  • 在测试样本上执行分类模型,生成预测结果 。
  • 根据预测结果,计算必要的评估指标,评估分类模型的性能 。
1. 决策树分类器
构造这个分类器不需要任何领域的知识,也不需要任何的参数设置 。因此它特别适合于探测式的知识发现 。此外,这个分类器还可以处理高维数据,而且采用的是类似于树这种形式,也特别直观和便于理解 。因此,决策树是许多商业规则归纳系统的基础 。
2. 朴素贝叶斯分类器
素贝叶斯分类器是假设数据样本特征完全独立,以贝叶斯定理为基础的简单概率分类器 。
3. AdaBoost算法
AdaBoost算法的自适应在于前一个分类器产生的错误分类样本会被用来训练下一个分类器,从而提升分类准确率,但是对于噪声样本和异常样本比较敏感 。
4. 支持向量机
支持向量机是用过构建一个或者多个高维的超平面来将样本数据进行划分,超平面即为样本之间的分类边界 。
5. K近邻算法
基于k近邻的K个样本作为分析从而简化计算提升效率,K近邻算法分类器是基于距离计算的分类器 。
集成学习方法
集成学习有许多集成模型,例如自助法、自助聚合(Bagging)、随机森林、提升法(Boosting)、堆叠法(stacking)以及许多其它的基础集成学习模型 。
集成方法的思想是通过将这些个体学习器(个体学习器称为“基学习器”,基学习器也被称为弱学习器 。)的偏置和/或方差结合起来,从而创建一个强学习器(或集成模型),从而获得更好的性能 。
我们可以用三种主要的旨在组合弱学习器的元算法:
  • 自助聚合(Bagging),该方法通常考虑的是同质弱学习器,相互独立地并行学习这些弱学习器,并按照某种确定性的平均过程将它们组合起来 。
  • 提升法(Boosting),该方法通常考虑的也是同质弱学习器 。它以一种高度自适应的方法顺序地学习这些弱学习器(每个基础模型都依赖于前面的模型),并按照某种确定性的策略将它们组合起来 。
  • 堆叠法(Stacking),该方法通常考虑的是异质弱学习器,并行地学习它们,并通过训练一个 元模型 将它们组合起来,根据不同弱模型的预测结果输出一个最终的预测结果 。
非常粗略地说,我们可以说Bagging的重点在于获得一个方差比其组成部分更小的集成模型,而Boosting和Stacking则将主要生成偏置比其组成部分更低的强模型(即使方差也可以被减小) 。


推荐阅读