前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >集成学习概述

集成学习概述

作者头像
Coggle数据科学
发布2019-09-12 17:48:12
5830
发布2019-09-12 17:48:12
举报
文章被收录于专栏:Coggle数据科学Coggle数据科学

集成学习本身不是一个单独的机器学习算法,而是通过构建并结合多个机器学习器来完成学习任务。也就是我们常说的“博采众长”。集成学习可以用于分类问题集成,回归问题集成,特征选取集成,异常点检测集成等等,可以说所有的机器学习领域都可以看到集成学习的身影。本文就对集成学习方法进行简单的总结和概述。

集成学习有两个主要的问题需要解决,第一是如何得到若干个个体学习器,第二是如何选择一种结合策略,将这些个体学习器集合成一个强学习器。

集成学习之结合策略

个体学习器已知的情况下

首先,我们介绍blending,blending就是将所有已知的个体学习器

结合起来,发挥集体的智慧得到 强学习器

。值得注意的一点是这里的

都是已知的。blending通常有三种形式:

  • uniform:简单地计算所有

的平均值

  • non-uniform:所有

的线性组合

  • conditional:所有

的非线性组合

其中,uniform采用投票、求平均的形式更注重稳定性,而non-uniform和conditional追求的更复杂准确的模型,但存在过拟合的危险。

个体学习器未知的情况下

刚才讲的blending是建立在所有

已知的情况。那如果所有个体学习器

未知的情况,对应的就是学习法,做法就是一边学

,一边将它们结合起来。学习法通常也有三种形式(与blending的三种形式一一对应):

  • Bagging:通过bootstrap方法,得到不同

,计算所有

的平均值

  • AdaBoost:通过bootstrap方法,得到不同

,所有

的线性组合

  • Decision Tree:通过数据分割的形式得到不同的

,所有

的非线性组合

然后,后续文章我们将AdaBoost延伸到另一个模型GradientBoost。对于regression问题,GradientBoost通过residual fitting的方式得到最佳的方向函数

和步进长度

除了这些基本的集成模型之外,我们还可以把某些模型结合起来得到新的集成模型。

例如:

  • Bagging与Decision Tree结合起来组成了Random Forest。Random Forest中的Decision Tree是比较“茂盛”的树,即每个树的

都比较强一些。

  • AdaBoost与Decision Tree结合组成了AdaBoost-DTree。AdaBoost-DTree的Decision Tree是比较“矮弱”的树,即每个树的gt都比较弱一些,由AdaBoost将所有弱弱的树结合起来,让综合能力更强。
  • GradientBoost与Decision Tree结合就构成了经典的算法GBDT

集成的核心是将所有的

结合起来,融合到一起,即集体智慧的思想。这种做法之所以能得到很好的模型

,是因为集成具有两个方面的优点:cure underfitting和cure overfitting。

第一,集成 models 有助于防止欠拟合(underfitting)。它把所有比较弱的

结合起来,利用集体智慧来获得比较好的模型

。集成就相当于是特征转换,来获得复杂的学习模型。

第二,集成 models 有助于防止过拟合(overfitting)。它把所有

进行组合,容易得到一个比较中庸的模型,类似于SVM的最大间隔一样的效果,从而避免一些极端情况包括过拟合的发生。从这个角度来说,集成起到了正则化的效果。

由于集成具有这两个方面的优点,所以在实际应用中集成 models 都有很好的表现。

集成学习之Bootstrap

自助法(bootstrap)是统计学的一个工具,思想就是从已有数据集

中模拟出其他类似的样本

bootstrap的做法是,假设有

个样本数据,先从中选出一个样本,再放回去,再选择一个样本,再放回去,共重复

次。这样我们就得到了一个包含

个样本的数据集,显然,这个新的

中有一部分样本会在

中多次出现,而另一部分样本不出现,

类似但又不完全相同。值得一提的是,抽取-放回的操作不一定非要是

,次数可以任意设定。例如原始样本有10000个,我们可以抽取-放回3000次,得到包含3000个样本的

也是完全可以的。其中利用bootstrap进行集成的操作就被称为bagging。

自助法在数据集较小、难以有效划分训练/测试集时很有用;此外,自助法能从初始数据集中产生多个不同的训练集,这对集成学习等方法有很大的好处。然而,自助法产生的数据集改变了初始数据集的分布,这会引入估计偏差。因此,在初始数据量足够时,留出法和交叉验证法更常用。

Betten:模型选择之交叉验证​zhuanlan.zhihu.com

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 集成学习之结合策略
  • 集成学习之Bootstrap
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档