集成学习(Ensemble Learning)不是一个单独的机器学习算法,而是通过构建并结合多个机器学习器来完成任务,其可以用于分类问题,也可以用于回归问题。
概括:通过学习训练数据集得到若干个体学习器(弱学习器),通过结合策略,最终形成一个强学习器,以达到“博采众长”的目的。
目前集成学习可分为两类:
机器学习算法总结8:集成学习
(图片来源:https://www.bilibili.com/video/av61553883 侵删)
所以,集合学习有两个问题需要解决:一是如何得到若干个体学习器?;二是如何选择结合策略?
解决方法:
一:个体学习器的选择
个体学习器的选择有两种:
1.同质集成:个体学习器都为同一类(eg:决策树、神经网络…)
2.异质集成:个体学习器不全是一类。
一般地,集成学习选择同质个体学习器,使用最多的模型是CART决策树和神经网络。
机器学习算法总结8:集成学习
非集成算法直接通过学习训练集得到分类器;
Bagging的个体学习器的训练集通过随机采样(有放回)得到,具体地,通过对训练集n次随机采样,得到n个子集,分别训练弱学习器,这样得到n个
并行
弱学习器再通过结合策略就可以得到最终的强学习器;
Boosting的个体学习器都是通过整个训练集得到,但是每轮训练集被赋予权值或概率分布,通过每一轮的训练结果更新下一轮的样本权值,进而生成下一轮的个体学习器,经过n轮训练得到n个串行个体学习器,再通过结合策略就可以得到最终的强学习器。详见我的博客:机器学习算法总结7:提升方法
Bagging和Boosting的区别:
1.样本选择
Bagging:每轮个体分类器使用的训练集不同,是从原始训练集中有放回采样得到,各轮训练集之间相互独立;
Boosting:每轮个体分类器使用的训练集不变,只是每轮训练集的权值不同,权值根据上一轮的分类结果进行调整。
2.样本权重
Bagging:使用均匀采样,每个样本权重相等;
Boosting:根据每一轮分类器的分类结果不断调整样本的权重,增加被误分类的样本权重,减小正确分类的样本权重。
3.个体学习器权重
Bagging:所有个体分类器权重相等;
Boosting:每个个体分类器都有相应的权重,分类误差大的个体分类器会占有更大的权重。
4.并行计算
Bagging:各个个体分类器并行生成;
Boosting:各个个体分类器串行生成,后一轮的个体分类器的生成需要前一轮的分类结果。
二:结合策略的选择
机器学习算法总结8:集成学习

相关文章: