Ensemble Learning: Bootstrap aggregating (Bagging) & Boosting & Stacked generalization (Stacking)
来源:互联网 发布:php一年工作经验工资 编辑:程序博客网 时间:2024/04/19 18:10
转载地址:http://www.cnblogs.com/keguo/p/4734872.html
Booststrap aggregating (有些地方译作:引导聚集),也就是通常为大家所熟知的bagging。在维基上被定义为一种提升机器学习算法稳定性和准确性的元算法,常用于统计分类和回归中。
而Boosting在维基中被定义为一种主要用来减少偏差(Bias)和同时也可降低方差(Variance)的机器学习元算法,是一个将弱学习器转化为强学习器的机器学习算法族。最初由Kearns 和 Valiant (1988,1989)提出的一个问题发展而来:Can a set of weak learners create a single strong learner? (1996年,Breiman)
Stacked generalization (stacking) (Wolpert, 1992) 是一种组合多个模型的方法,虽然是一个不错的idea,但是实际应用中不如bagging和boosting广泛。Stacking常用来组合不同类型的模型。
三者都是元算法,也都是应用在组合学习(Ensemble learning)方面的算法。
Bagging的策略:
1. 给定一个大小为d训练集D;
2. Bagging通过从D中进行可重复的均匀采样 (by sampling from D uniformly and with replacement),得到m个新的训练集Di, 每个Di的大小为n' ;
3. 将得到的m个新训练集,分布进行回归或者分类,得到m个最终的结果;
4. 由m个结果得到最终结果,对于回归:将m个结果进行平均;对于分类:将m个结果进行投票,票数多的为最终分类值。
Boosting的策略:
1. 在训练集上,训练一个弱分类器;
2. 添加一个弱分类器进行分类学习:
a. 在这个过程中,由上次的结果进行权值调整, 训练集中数据被重新加权:对错分的样本数据增加权重,对正确分类的样本数据进行降低权重(有些boosting算法会对反复被错分的样本进行降权处理,如BrownBoost和boost by majority);
b. 在权值调整后的训练集上,进行弱分类器的学习训练;
3. 迭代步骤2
Stacking的步骤如下:
1. 将训练集分成两个不想交的部分;
2. 在第一部分的训练集上训练若干个基本学习器;
3. 在第二部分的训练集上测试得到的基本学习器;
4. 使用步骤3中的预测结果作为输入,将正确的响应(responses)作为输出,训练更高级别的学习器。
步骤1到3,类似与交叉验证(cross-validation),但是不同于winner-takes-all的策略,stacking通过组合基本分类器来得到更高级的学习结果。
总结一下,组合算法(combiner algorithm)使用所有其他算法的预测作为附加输入(additional inputs)来训练得到最终的预测结果。理论上可以表示任何一种组合学习方法(ensemble techniques);实际中,单层的逻辑回归模型(single-layer logistic regression model)通常被用作组合器(combiner)。
Bagging与Boosting二者的区别:
(1)从重采样的角度:Bagging对样本进行重采样;相对的,Boosting重采样的不是样本,而是样本分布,对正确分类的样本降权,对错误分类的样本加权(而这些样本通常就是分类边界附近的样本),最后分类器是多个弱分类器的加权组合(线性叠加), AdaBoost是其中代表方法。
(2)从最终目标角度:Bagging 可以看作是提升不稳定分类器的效果;而Boosting 最终目标是提高弱分类器的分类精度。
- Ensemble Learning: Bootstrap aggregating (Bagging) & Boosting & Stacked generalization (Stacking)
- 集成学习(Ensemble Learning)-bagging-boosting-stacking
- Ensemble learning:Bagging,Random Forest,Boosting
- Stacking(Stacked generalization)
- Bagging, boosting and stacking in machine learning
- Bootstrap aggregating----Bagging
- Ensemble learning algorithms(Bagging, Boosting, Random Foreast)
- 集成学习(ensemble learning):bagging、boosting、random forest总结
- bootstrap bagging boosting
- bootstrap, boosting, bagging
- Bootstrap,Bagging,Boosting
- 笔记︱集成学习Ensemble Learning与树模型、Bagging 和 Boosting、模型融合
- 机器学习-->集成学习-->Bagging,Boosting,Stacking
- 模型融合:bagging、Boosting、Blending、Stacking
- 机器学习-->集成学习-->Bagging,Boosting,Stacking
- 快速理解bootstrap、bagging、boosting
- bootstrap bagging boosting adboost oob
- Bagging(Bootstrap aggregating)、随机森林(random forests)、AdaBoost
- Python 中的闭包 —— Closure
- 如何关闭和打开eclipse的代码里的错误提醒
- 05-树7 堆中的路径 (25分)
- 记录用unity开发hololens时遇到的几个坑
- 面向对象设计的SOLID原则
- Ensemble Learning: Bootstrap aggregating (Bagging) & Boosting & Stacked generalization (Stacking)
- NS3仿真wifi网络环境
- HDU1720 A+B Coming
- 亚马逊云计算服务有什么特色?
- Eclipse黑色主题插件居然可以这么玩,真是玩出了新高度!
- 自定义SeekBar 带文字
- Android设置透明、半透明等效果
- Java学习之List
- PHP设计模式(1)