集成学习总结

定义

通过训练若干个个体学习器,通过一定的结合策略,来完成学习任务,(常常可以获得比单一学习显著优越的学习器)就可以最终形成一个强学习器。

分类

种类 学习器 代表 计算 样本 样本权重&弱分类起权重
bagging 所有的个体学习器都是一个种类的 随机森林 并行,个体学习器之间不存在强依赖关系 训练集是在原始集中有放回选取的,从原始集中选出的各轮训练集之间是独立的。 使用均匀取样,每个样例的权重相等 所有预测函数的权重相等。
boosting 所有的个体学习器都是一个种类的 AdaBoost, Xgboost,GBDT 串行,个体学习器之间存在强依赖关系 每一轮的训练集不变,只是训练集中每个样例在分类器中的权重发生变化。而权值是根据上一轮的分类结果进行调整。 根据错误率不断调整样例的权值,错误率越大则权重越大。 每个弱分类器都有相应的权重,对于分类误差小的分类器会有更大的权重。
Stacking 所有的个体学习器不全是一个种类的

Bagging

代表算法:随机森林(Random Forest)

step

  • 从原始样本集中抽取训练集。每轮从原始样本集中抽取n个训练样本(在训练集中,有些样本可能被多次抽取到,而有些样本可能一次都没有被抽中,每次采样事独立随机的),共进行k轮抽取,得到k个训练集。(k个训练集之间是相互独立的)。

  • 每次使用一个训练集得到一个模型,k个训练集共得到k个模型。

  • 对分类问题:少数服从多数。

  • 对回归问题,计算均值。

随机森林

随机森林在bagging的样本随机采样基础上,又加上了特征的随机选择

Boosting

代表算法:AdaBoost, Xgboost,GBDT

训练过程为阶梯状,基模型按次序一一进行训练(实现上可以做到并行),基模型的训练集按照某种策略每次都进行一定的转化。如果某一个数据在这次分错了,那么在下一次我就会给它更大的权重。对所有基模型预测的结果进行线性综合产生最终的预测结果

step

  • 首先从训练集用初始权重训练出一个弱学习器1;

  • 根据弱学习的学习误差率表现来更新训练样本的权重,错误样本权重变高,让模型更关注错误样本;

  • 然后基于调整权重后的训练集来训练弱学习器2;

  • 如此重复进行,直到弱学习器数达到事先指定的数目T;

  • 最终将这T个弱学习器通过加权求和(加法模型),得到最终的强学习器。

优点 缺点
AdaBoost 利用前一轮弱学习器的误差率来更新训练集的权重 ,这样一轮轮的迭代下去,简单的说是 Boosting框架+任意基学习器算法+指数损失函数 对异常样本敏感,异常样本在迭代中可能会获得较高的权重,影响最终预测准确性
Xgboost CART回归树模型
GBDT 每个分类器在上一轮分类器的残差基础上进行训练。

Stacking

分阶段操作:第一阶段输入数据特征得出各自结果,第二阶段再用前一阶段结果训练得到分类结果。

step

  • 首先先训练多个不同的模型;

  • 然后把之前训练的各个模型的输出为输入来训练一个模型,以得到一个最终的输出。

具体方法是把数据分成两部分,用其中一部分训练几个基模型A1,A2,A3,用另一部分数据测试这几个基模型,把A1,A2,A3的输出作为输入,训练组合模型B。

相关推荐
Elastic 中国社区官方博客6 分钟前
使用 Elastic AI Assistant for Search 和 Azure OpenAI 实现从 0 到 60 的转变
大数据·人工智能·elasticsearch·microsoft·搜索引擎·ai·azure
江_小_白1 小时前
自动驾驶之激光雷达
人工智能·机器学习·自动驾驶
yusaisai大鱼2 小时前
TensorFlow如何调用GPU?
人工智能·tensorflow
珠海新立电子科技有限公司5 小时前
FPC柔性线路板与智能生活的融合
人工智能·生活·制造
IT古董5 小时前
【机器学习】机器学习中用到的高等数学知识-8. 图论 (Graph Theory)
人工智能·机器学习·图论
曼城周杰伦5 小时前
自然语言处理:第六十三章 阿里Qwen2 & 2.5系列
人工智能·阿里云·语言模型·自然语言处理·chatgpt·nlp·gpt-3
余炜yw6 小时前
【LSTM实战】跨越千年,赋诗成文:用LSTM重现唐诗的韵律与情感
人工智能·rnn·深度学习
莫叫石榴姐6 小时前
数据科学与SQL:组距分组分析 | 区间分布问题
大数据·人工智能·sql·深度学习·算法·机器学习·数据挖掘
如若1237 小时前
利用 `OpenCV` 和 `Matplotlib` 库进行图像读取、颜色空间转换、掩膜创建、颜色替换
人工智能·opencv·matplotlib
YRr YRr7 小时前
深度学习:神经网络中的损失函数的使用
人工智能·深度学习·神经网络