集成学习总结

news/2024/9/2 22:37:05 标签: 集成学习, 机器学习, 人工智能

定义

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

分类

种类

学习器

代表

计算

样本

样本权重&弱分类起权重

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。


http://www.niftyadmin.cn/n/5563255.html

相关文章

PD芯片诱骗取电电压给后端小家电用电:LDR6328

在智能家居浪潮的推动下,小家电作为日常生活中不可或缺的一部分,其供电方式的创新与优化正逐步成为行业关注的焦点。随着快充技术的普及,特别是Power Delivery(PD)协议的广泛应用,一种新型供电模式——利用…

数据库如何简单入手学习

人不走空 🌈个人主页:人不走空 💖系列专栏:算法专题 ⏰诗词歌赋:斯是陋室,惟吾德馨 作为一个后端开发人员,应该没有不接触数据库的,数据库操作优化也是后端面试人员的重点面…

el-cascader数据回显失败

el-cascader选中数据第一次回显正常,当选中数据改变再次回显时失败,呈现的还是上次的选中数据 如图 常用的方法this. n e x t T i c k ( ( ) > ) 跟 t h i s . nextTick(() > {})跟this. nextTick(()>)跟this.forceUpdate();强制刷新数据都无…

PyTorch 深度学习实践-循环神经网络基础篇

视频指路 参考博客笔记 参考笔记二 文章目录 上课笔记基于RNNCell实现总代码 基于RNN实现总代码 含嵌入层的RNN网络嵌入层的作用含嵌入层的RNN网络架构总代码 其他RNN扩展基本注意力机制自注意力机制(Self-Attention)自注意力计算多头注意力机制&#xf…

linux 或 mac 系统的操作指令

sudo 是 "superuser do" 的缩写,它是一个Linux和Unix系统中常用的命令,用于以超级用户(root)权限执行命令。 lsof -i :8080 lsof 是 "list open files" 的缩写。在 Unix 和类 Unix 操作系统(如…

深入探究理解大型语言模型参数和内存需求

概述 大型语言模型 取得了显著进步。GPT-4、谷歌的 Gemini 和 Claude 3 等模型在功能和应用方面树立了新标准。这些模型不仅增强了文本生成和翻译,还在多模态处理方面开辟了新天地,将文本、图像、音频和视频输入结合起来,提供更全面的 AI 解…

Flutter 教程实战笔记

Flutter 实战教程笔记,个人觉得不错,特此整理,需要的小伙伴可以看看 01. 初学者须知02. 初识 Flutter03. Flutter 开发环境搭建 Windows 版04. 创建 Flutter 项目05. Flutter 编写一个 HelloWorld 程序06. Flutter Text Widget 文本组件的使…

二刷代码随想录训练营Day 2|977.有序数组的平方 ,209.长度最小的子数组 ,59.螺旋矩阵II ,总结

1.有序数组的平方 题目链接:. - 力扣(LeetCode) 文章讲解:代码随想录 视频讲解: 双指针法经典题目 | LeetCode:977.有序数组的平方_哔哩哔哩_bilibili 代码:(暴力解法) …