集成学习总结

定义

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

分类

种类 学习器 代表 计算 样本 样本权重&弱分类起权重
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。

相关推荐
CTA量化套保2 分钟前
量化脚本准备实盘了吗?TqSdk 上线前工程检查
人工智能·python
暂时先用这个名字7 分钟前
安装deepseek harness及插件
人工智能·ai·npm·pnpm·deepseek·深度求索·harness
水如烟7 分钟前
孤能子视角:EIS认识论分册总纲——同一认知呼吸的四次显影
人工智能
海兰8 分钟前
mcporter — 安装部署及使用完全指南(一)
人工智能·agent·mcp
skywalk816310 分钟前
用WorkBuddy成功把Deepseek Harness移植到FreeBSD
人工智能·deepseek·harness
JavaPub-rodert11 分钟前
我把 OpenAI 协议塞进了 Go 工具库:go-commons 开始支持 AI 了
开发语言·人工智能·golang
HZZD_HZZD13 分钟前
非侵入式负荷监测选`Seq2Point`还是`LSTM`?合众致达实测:洗衣机分解F1达0.87、`NDE`误差降27%,附PyTorch完整实现
人工智能·pytorch·lstm
嘟哩DuliDuli18 分钟前
AI 账单变高的技术原因:重复上下文和用量归属
android·人工智能·安全·ai·软件工程
Tom·Ge19 分钟前
AI创业者通识日报 | 2026年8月13日
人工智能·大模型·ai创业·ai创业者