前言
本文根据西瓜书总结了一些关键知识点,介绍了集成学习的原理、类型以及结合策略。、
1. 个体与集成
集成学习(ensemble learning)通过构建的并结合多个学习器来完成学习任务,有时也被成为多分类器系统(multi-classifier system)、基于委员会的学习(committee-based learning)等。 …… 通过将多个学习器进行结合,常可获得比单一学习器显著优越的泛化性能。
2. 集成学习的两种类型
集成学习方法又可以大致分为两种;
1)平均方法:
代表算法是Bagging与随机森林。
原理是:构建几个独立的学习器,然后对其结果进行平均,通常表现都会比单一学习器好,因为方差也会减少。
2)Boosting方法:
代表算法是AdaBoost与梯度提升树(Gradient Tree Boosting)。
原理是:建立一个基学习器,然后根据基学习器的表现调整样本分布并用来训练下一个基学习器,不断重复这一步,直到得到T个基学习器(T是实现指定好的),最终将这T个学习器进行加权结合。
3. 结合策略
常见的结合策略包括: 平均法、投票法、学习法。
1) 平均法
包括简单平均(simpleaveraging) 和加权平均(weighted averaging)。加权平均的权重一般是从训练数据中学习而得,显示任务重的训练样本通常不充分或存在噪音,使得学习出的权重不完全可靠,容易导致过拟合。
- 个体学习器性能相差较大时宜使用加权平均,
- 个体学习器性能相近时宜使用简单平均法。
2)投票法
包括
- 绝对多数投票法(majority voting):某标记得票过半,预测为该标记,否则拒绝预测
- 相对多数投票法(plurality voting) :预测为得票最多的标记,若同时有多个标记获得最高票,则随机选取。
- 加权投票法(weighted voting)
3)学习法
- Stacking 是学习法的典型代表。(Stacking本身也是一个集成学习方法,也可以看做是一个特殊的结合策略)。
- Stacking方法原理有许多优秀文章,这里就附两个文章链接
【机器学习】集成学习——Stacking模型融合(理论+图解)
【集成学习】:Stacking原理以及Python代码实现
参考资料:
西瓜书第八章《集成学习》