集成学习概述

2019-09-12 17:48:12 浏览数 (1)

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

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

集成学习之结合策略

个体学习器已知的情况下

首先,我们介绍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

0 人点赞