当前位置: 首页 > news >正文

【机器学习】集成学习------迅速了解什么是集成学习!!!

目录

🍔 为什么学习集成学习

🍔 什么是集成学习

🍔 集成学习分类的串行和并行学习算法

3.1 集成学习关键要素

3.2 集成学习器性能评估

🍔 小结


学习目标

🍀 知道什么是集成学习

🍀 知道集成学习的分类

🍔 为什么学习集成学习

集成学习作为机器学习领域的一项重要技术,其重要性不言而喻。它通过将多个学习器(弱学习器)的预测结果进行有效整合,以显著提升整体模型的泛化能力和预测精度。在复杂多变的现实数据环境中,单一学习器往往难以全面捕捉数据特征,导致过拟合或欠拟合问题。

集成学习通过引入多样性机制,如Bagging、Boosting等策略,有效缓解了这些问题,使得模型更加鲁棒和可靠。因此,掌握集成学习不仅是提升机器学习项目性能的关键,也是深入理解机器学习原理、探索数据科学前沿的重要途径。

集成学习是机器学习中的一种思想,它通过多个模型的组合形成一个精度更高的模型,参与组合的模型成为弱学习器(基学习器)。训练时,使用训练集依次训练出这些弱学习器,对未知的样本进行预测时,使用这些弱学习器联合进行预测。

🍔 什么是集成学习

传统机器学习算法 (例如:决策树,逻辑回归等) 的目标都是寻找一个最优分类器尽可能的将训练数据分开。集成学习 (Ensemble Learning) 算法的基本思想就是将多个分类器组合,从而实现一个预测效果更好的集成分类器。集成算法可以说从一方面验证了中国的一句老话:三个臭皮匠,赛过诸葛亮

集成学习通过建立几个模型来解决单一预测问题。它的工作原理是 生成多个分类器/模型,各自独立地学习和作出预测。这些预测最后结合成组合预测,因此优于任何一个单分类的做出预测。

集成算法大致可以分为:Bagging,Boosting和Stacking等类型。

🍔 集成学习分类的串行和并行学习算法

集成学习算法一般分为:bagging、boosting和Stacking。

随机森林是集成模型中的一种,常言道:“一个篱笆三个桩,一个好汉三个帮”。

集成分类模型便是综合考量多个分类器的预测结果,从而做出决策,集成学习分两种:

(1)利用相同的训练数据同时搭建多个独立的分类模型,然后通过投票的方式,以少数服从多数的原则做出最终的分类决策。今天学习的随机森林就是这种方式,即在相同训练数据上同时搭建多颗决策树。在决策树中学到过一颗标准的决策树是根据每维特征对预测结果的影响程度进行排序,进而决定不同特征从上到下构建分裂节点的顺序;如果这里还按照这种方式随机森林会因为这一策略影响而构建的所有树都一致,从而丧失了多样性。因此随机森林在构建的过程中,每一颗决策树都会放弃这一个固定的算法,转而随机选取特征。

(2)按一定的次序搭建多个分类模型。这些模型之间彼此存在依赖关系。一般后一个模型的加入都需要对现有的集成模型有一定贡献,进而不断提高更新过后的集成模型性能,并借助多个弱分类器搭建出强分类器。代表有Bossting(AdaBoost)算法。该算法与第一种的随机森林主要区别在于每一颗决策树在生成的过程中都会尽可能降低模型在训练集上的拟合或训练误差。

3.1 集成学习关键要素

俗话说:“三个臭皮匠赛过诸葛亮”。

当使用某一种分类器不能使我们达到很好的效果的时候,我们不妨设想将这些分类效果不好的分类器组合一下,再去看看效果是否有提升,这就是集成学习的思想。

集成算法(Ensemble Learning)思想:通过构建并结合多个学习器来完成学习任务,有时候我们也叫作“多分类器系统”。

我们有10个分类器,多数表决如下图,其中三角形、正方形或圆分别代表一个类别。

个体的分类器由一个现有的学习算法从训练数据产生。

例如:C4.5决策树算法,我们一般把个体分类器全部为同种的分类器称为“同质的”,如全部为决策树模型。同质的集成学习中的个体学习器称为“基学习器(base learner)”,相应的算法称为基学习算法。

反之,集成中包含不同种的学习器,我们称之为“异质”的,异质集成中的个体学习器包含不同的学习算法组成的,这种情况下的学习器称为“组合学习器”。相信这些名词大家能够了解。

🐻 集成学习的系统示意图:

集成学习通过将多个学习器组合,常获得比单一学习器显著优越的泛化性能。这对弱学习器特别明显,这里的弱学习器我们一般会使用决策树,BP神经网络和逻辑回归,有时候SVM也可以作为个体学习器。

下图是使用多数投票法通用集成方法的概念:

3.2 集成学习器性能评估

一般经验中如果把好坏不等的东西掺到一起,通常结果会比最坏的好一些,比最好的坏一些。集成学习把多个学习器结合起来,如何获得比最好的单一学习器更好的性能呢?

考虑一个例子:二分类问题中,假定三个分类器在三个测试样本上表现,如下图所示。打对勾的表示正确分类,打叉号的表示分类错误。集成学习的结果通过投票法voting产生。即少数服从多数。第一个图中每个分类器有66.6%的精度,但集成学习却达到了100%。第二个图中三个分类器没有差别,但是集成之后性能却没有什么提高。第三幅图中每个分类器的精度都只有33.3%,集成学习的结果更糟糕。

这个例子我们可以总结出:要获得好的集成,个体学习器应有一定的 准确性 ,即学习器不能太坏,并且要有“多样性”,即学习器之间具有 差异

🍔 小结

🍬 基习器使用不同的学习方法还是相同的?

  1. 基础学习器可以使用不同的学习模型,比如:支持向量机、神经网络、决策树整合到一起作为一个集成学习系统

  2. 也可以使用相同的学习模型,比如,多个基学习器都使用决策树

  3. 一般情况下,我们倾向于使用相同的学习模型

🍬 这些基学习器应该注意哪些?

  1. 基础学习器之间要存在差异性。

  2. 基础学习器的能力不需要很强,只需要比随机猜测 0.5 高一点就行。

相关文章:

  • 子组件和父组件的挂载顺序
  • 微信小程序认证和备案
  • c++ 编译器的不同处理阶段详解
  • Open3D 点云添加均匀分布的随机噪声
  • Spring Cloud各个微服务之间为什么要用http交互?难道不慢吗?
  • camtasia studio字幕位置怎么移动 camtasia studio字幕有黑框怎么删除黑框
  • oracle 数据库安装与配置 全新教程
  • nestjs目录命名导致的循环引用
  • 2024嵌入式面试:比亚迪嵌入式面试题及参考答案(BYD面试)
  • 数据安全与个人信息保护的辨析
  • 数据结构---五大排序---哈希表---二分查找法
  • 9,sql 约束
  • 面试题总结(一) -- 基础语法篇
  • 自动化工程案例01:8工位插针装配机01
  • Guitar Pro v8.1最新图文安装教程
  • Angular 2 DI - IoC DI - 1
  • CSS进阶篇--用CSS开启硬件加速来提高网站性能
  • echarts花样作死的坑
  • GraphQL学习过程应该是这样的
  • Java反射-动态类加载和重新加载
  • mysql 数据库四种事务隔离级别
  • session共享问题解决方案
  • TiDB 源码阅读系列文章(十)Chunk 和执行框架简介
  • 动手做个聊天室,前端工程师百无聊赖的人生
  • 对象管理器(defineProperty)学习笔记
  • 实习面试笔记
  • 项目管理碎碎念系列之一:干系人管理
  • 携程小程序初体验
  • 学习ES6 变量的解构赋值
  • 一份游戏开发学习路线
  • 一起参Ember.js讨论、问答社区。
  • 用简单代码看卷积组块发展
  • ###STL(标准模板库)
  • #在 README.md 中生成项目目录结构
  • (~_~)
  • (1)(1.11) SiK Radio v2(一)
  • (1)Android开发优化---------UI优化
  • (C#)Windows Shell 外壳编程系列9 - QueryInfo 扩展提示
  • (vue)页面文件上传获取:action地址
  • (web自动化测试+python)1
  • (附源码)node.js知识分享网站 毕业设计 202038
  • (四) Graphivz 颜色选择
  • (五)大数据实战——使用模板虚拟机实现hadoop集群虚拟机克隆及网络相关配置
  • (原+转)Ubuntu16.04软件中心闪退及wifi消失
  • (转) RFS+AutoItLibrary测试web对话框
  • (转)visual stdio 书签功能介绍
  • (最新)华为 2024 届秋招-硬件技术工程师-单板硬件开发—机试题—(共12套)(每套四十题)
  • **《Linux/Unix系统编程手册》读书笔记24章**
  • ./和../以及/和~之间的区别
  • .a文件和.so文件
  • .bat批处理出现中文乱码的情况
  • .gitignore文件_Git:.gitignore
  • .mat 文件的加载与创建 矩阵变图像? ∈ Matlab 使用笔记
  • .mp4格式的视频为何不能通过video标签在chrome浏览器中播放?
  • .NET CLR Hosting 简介