西瓜书第六章(集成学习)
集成学习
前言
集成学习是一种机器学习方法,通过组合多个弱学习器构建一个强学习器。常见算法有加权多数投票、Bagging和Boosting等。加权多数投票简单地对弱学习器进行加权投票得到最终结果;Bagging使用不同训练集训练多个弱学习器,并将它们的预测结果平均化提升性能;Boosting迭代训练弱学习器,根据表现调整样本权重得到最终结果。AdaBoost是Boosting的一种实现,通过调整样本权重训练多个弱分类器。Bagging和Boosting的区别在于模型关系和权重更新机制。集成学习可以根据问题选择适合的算法。
一、集成学习是什么?
集成学习 (ensemble learning) 通过构建并结合多个学习器来完成学习任务
一些概念:同质(homogeneous),异质(heterogenous) .,基学习器
基本想法
二、强/ 弱学习器是什么?
1.强学习器: 有高准确度的学习算法
2.弱学习器: 在任何训练集上可以做到比随机预测 略好
三、算法
1) Weighted Majority Algorithm
(加权多数算法)
1.1)基本想法(step):
1.初始化
为每个算法分配一个初始相等的权重。
2.预测
对于每一个新的实例,根据当前的权重分布计算出加权多数预测。这通常意味着选择那些权重较高的算法所建议的动作或预测。
3.更新
当观察到真实结果后,减少那些给出错误预测的算法的权重。权重的更新规则通常是将这些算法的权重乘以一个小于1的因子(称为惩罚因子,如果=0,则只要犯错一次,就没有决策权–Halving算法),以反映他们在这一步骤中的失误。
4.重复
回到步骤2,直到完成所有预测或者达到预定的停止条件
1.2)简单理解:
你有一群朋友,每个人都给你提供投资建议。起初,你可能会平等地听取每个人的意见。但随着时间的推移,你会发现有些朋友的建议更准确,而另一些则不那么靠谱。于是,你会开始更多地依赖那些更准确的朋友的建议,同时减少对那些经常出错的朋友的关注
2)Bagging(如果我们只有一个弱学习器,如何通过集成来提升它的表现?)
2.1)基本想法:
生成多组训练样本 来训练多个模型
Bagging的核心在于创建多个不同的训练集,每个训练集都是从原始数据集中通过有放回抽样(Bootstrap Sampling) 得到的。这意味着在构建每个新的训练集时,某些数据点可能会被多次选中,而其他数据点可能一次也没有被选中。然后,使用这些不同的训练集分别训练独立的学习器(通常使用相同的算法),最后将这些学习器的结果进行汇总以做出最终预测
- 打乱训练集合可以造成产生的预测器大不相同,则bagging算法可以提升其准确率。” (Breiman 1996)
3)Boosting(从失败中学习)
基本想法:
• 给每个样本一个权值
• T 轮迭代,在每轮迭代后增大错误分类样本的权重
– 更关注于“难”样本
简单理解:
比如背一组单词,单词的熟练度有模糊的和熟练,在过程中模糊的反复记忆(加大权重),熟练的减少记忆(减小权重)
4)AdaBoost(Boosting算法之一)
4.1)基本想法(step):
四、比较
1)Bagging vs. Boosting
2)Bagging 与随机森林
随机森林(Random Forest) 是 Bagging 的一种具体实现形式
3)重新调权 vs. 重新采样
4)Boostingvs. Weighted Majority Algorithm
1. 模型间关系
-
Boosting:
- 各个弱学习器之间是顺序依赖的,后面的模型会基于前面模型的表现进行调整。
- 最终预测结果是所有弱学习器的加权组合,权重反映了各模型的重要性。
-
WMA:
- 各个专家之间是相互独立的,没有直接的顺序依赖关系。
- 最终预测结果是所有专家预测的加权平均或加权投票,权重反映了各专家的历史表现。
2. 权重更新机制
-
Boosting:
- 权重更新是针对样本的。如果某个样本被当前学习器错误分类,则其权重增加,使得后续学习器更加关注该样本。
-
WMA:
- 权重更新是针对专家的。如果某个专家做出了错误预测,则它的权重减少;正确预测则保持不变或略有增加。
五、拓展
1. 试析 Bagging 通常难以提升朴素贝叶斯分类器的性能
2.试析随机森林为何比决策树Bagging 集成的训练速度更快.
总结
原文地址:https://blog.csdn.net/oisflo/article/details/145119352
免责声明:本站文章内容转载自网络资源,如侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!