赞
踩
集成学习(ensemble learning),它通过将多个学习器集成在一起来达到学习的目的。主要是将有限的模型相互组合,其名称有时也会有不同的叫法,有时也会被称为多分类器系统(multi-classifier system)、委员会学习(committee learning)。【1】
集成学习利用一些方法改变原始训练样本的分布,构建多个不同的学习者器,然后将这些学习器组合起来完成学习任务,集成学习可获得比单一学习器显著优越的泛化性能,对 “弱学习器” (weak learner) 尤为明显。
要获得好的集成,个体学习器要有一定的“准确性”,并且要有“多样性”(diversity),即学习器间具有差异。这些学习器的不同的地方可以是:
根据是否使用不同的学习算法,集成学习可以分为同质集成与异质集成【2】:
在同质学习中,可以根据不同的改变训练集的方法又可以分为:
Bagging:Resample training data。
或个体学习器间不存在强依赖关系,可以同时生成的并行化方法。
Boosting:Reweight training data
或个体学习器间存在强依赖关系,必须串行生成的序列化方法。
从训练集从进行子抽样组成每个基模型所需要的子训练集,对所有基模型预测的结果进行综合产生最终的预测结果。【3】算法描述如下:
在训练数据集中随机采样,所谓的随机采样(bootsrap)就是从我们的训练集里面采集固定个数的样本,但是每采集一个样本后,都将样本放回。也就是说,之前采集到的样本在放回后有可能继续被采集到。(初始训练集中约有63.2%的样本会出现在采样集中【1】)
对于我们的Bagging算法,一般会随机采集和训练集样本数m一样个数的样本。这样得到的采样集和训练集样本的个数相同,但是样本内容不同。
训练一个基模型,对不同的子集进行训练。得到T个基模型。
T个基模型对测试数据进行预测,得到测试结果。
将T中结果综合起来。分类任务通常使用投票的方式得出结果,回归任务用平均的方式得到结果。
整个过程如下图所示:
Bagging
适用于不稳定的学习算法。Bagging
会略微降低稳定的学习算法的性能。这里的稳定与不稳定的含义是:训练集的小变化可能导致预测结果有很大变化。
Boosting
是一类可以将弱学习器提升为强学习器的算法,这类算法的工作原理类似:
Boosting
中最流行的算法是AdaBoost(Adaptive Boosting)
——自适应增强算法。其工作原理如下组图:
具体的算法步骤【1】:
【1】机器学习——周志华
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。