集成学习是什么
一、集成学习是什么
“团结就是力量”、“综合就是全面”,这是机器学习领域中”集成学习“的基本思想。大多数数据竞赛排名靠前的解决方案所采用的集成方法,都建立在一个假设:组合多个模型以期得到一个更全面的模型,从而得到一个泛化性能更好的模型。
集成学习一般有Bagging、Boosting和Stacking三种类别:
- Bagging:利用bootstrap方法从整体数据集中采取有放回抽样得到N个数据集,在每个数据集上学习出一个模型,最后的预测结果利用N个模型的输出综合得到。具体地:分类问题采用N个模型预测投票的方式,回归问题采用N个模型预测平均的方式。
- Boosting:一种可以用来减小监督学习中偏差的机器学习算法。主要也是学习一系列弱分类器,并将其组合为一个强分类器。
- Stacking:指训练一个模型用于组合其他各个模型。首先我们先训练多个不同的模型,然后把之前训练的各个模型的输出为输入来训练一个模型,以得到一个最终的输出。
二、集成学习的应用场景
集成学习的主要应用场景有以下几个方面:
- 模型选择:相比于只选择一个模型,集成学习对模型集合中所有模型的输出按照某种方法进行组合,例如简单的取平均,可以降低模型选择不当的风险。这个要求能达到适当的多样性,这样才能通过一定的策略优势互补地减少总体误差。
- 分而治之:集成学习系统遵循一种分而治之的方法,将数据空间划分为更小、更易于学习的分区,其中每个模型只学习其中一个更简单的分区。然后通过不同方法来适当组合模型的输出来近似复杂决策边界。这可以解决难以用一个模型来处理的机器学习问题。
- 数据融合:在许多需要自动决策的应用程序中,接收来自不同来源的数据并提供补充信息是很常见的。这种信息的适当组合被称为数据或信息融合,与仅根据任何单个数据源进行决策相比,可以提高分类决策的准确性。
- 置信度估计:考虑对一个分类问题训练一个分类器集合,如果集合中绝大多数分类器决策一致,那么就认为整体决策的结果具有较高置信度;反之则具有较低置信度。
- 数据扩增:如果训练数据量太小,那么使用bootstrapping技术可以从总体数据集中有放回的随机采样获得多个样本集,每个样本集作为训练集训练一个模型,最后再以一定策略组合。
三、集成学习的结合策略
模型集合的组合方法有很多,我们这里主要介绍在实践中最常用的四种:线性组合、乘积组合、投票组合和学习组合。
- 线性组合:线性组合用于输出实数的模型,因此适用于回归模型结果的集成,或分类模型集成中估计类别的概率。
- 乘积组合:在各模型的类别条件概率估计相互独立的假设下,乘积组合在理论上是最好的组合策略。
- 投票组合:每个分类器对某个类别投票,获得多数票的类别作为集成模型整体的输出。包括相对多数投票法、绝对多数投票法和加权投票法。
- 学习组合:通过机器学习的方式来组合,代表是Stacking。我们将弱学习器称为初级学习器,将用于结合的学习器称为次级学习器。对于测试集,我们首先用初级学习器预测一次,得到次级学习器的输入样本,再用次级学习器预测一次,得到最终的预测结果。