集成学习(ensemble learning)是机器学习里一个重要、庞大的分支,它体现了一种朴素的哲学思想:
将一些简单的机器学习模型组合起来使用,可以得到一个强大的模型。
概述
集成学习是指通过构建并结合多个学习器来完成学习任务的一种机器学习方法。
根据个体学习器的特点,可以分为以下两类:
-
同类型(如全是神经网络)的个体学习器,又称基学习器,构成同质集成。
-
不同类型的个体学习器,又称组件学习器,构成异质集成。
一般而言,个体学习器是所谓的弱学习器,即泛化能力略优于随机猜测的学习器。
理想的个体学习器应该具有好而不同的特点,即:
-
好:有一定的准确性
-
不同:个体学习器之间应该具有差异
如何寻找好而不同的个体学习器,是集成学习要研究的重点。
方法
集成学习有两个主要的分支:Bagging 和Boosting。
一般而言,要取得好而不同的学习器,有以下两大类:
个体学习器之间存在着依赖关系,必须串行的生成个体学习器。典型方法例如 AdaBoost。
个体学习器之间不存在强依赖关系,可以并行的生成。典型方法例如 bagging、随机森林。
前者通过对原始训练样本集进行随机抽样,形成不同的训练样本集来训练每个弱学习器,各个弱学习器之间可以认为近似是独立的,典型代表是随机森林;后者为训练样本增加权重(AdaBoost),或者构造标签值