机器学习 第8章 集成学习

news2024/9/20 21:53:43

目录

  • 个体与集成
  • Boosting
  • Bagging与随机森林
    • Bagging
    • 随机森林
  • 结合策略
    • 平均法
    • 投票法
    • 学习法

个体与集成

定义:集成学习,也叫多分类器系统、基于委员会的学习等,它是一种通过结合多个学习器来构建一个更强大的学习器的技术。如下图所示在这里插入图片描述
在这里,个体学习器通常由一个现有的学习算法从训练数据产生。集成学习通过整合多个模型的预测结果,可以提高整体的预测准确性和泛化能力。我们希望通过将多个学习器结合在一起能获得比其中任意一个学习器还要好的性能,这是我们要研究的重点,比如举下面一个例子。在这里插入图片描述
遵从少数服从多数原则,在(a)中,每个分类器都只有66.6% 的精度,但集成学习却达到了 100%;在(b)中,三个分类器没有差别,集成之后性能没有提高;在(c)中,每个分类器的精度都只有33.3%,集成学习的结果变得更糟。故要获得好的集成,个体学习器应"好而不同",即要具有"准确性"。
事实上,如何产生并结合"好而不同"的个体学习器,恰是集成学习研究的核心。根据个体学习器的生成方式,目前的集成学习方法大致可分为两大类:第一类是个体学习器问存在强依赖关系、必须串行生成的序列化方法;第二类是个体学习器间不存在强依赖关系、可同时生成的并行化方法。前者的代表是Boosting,后者的代表是Bagging和"随机森林"。下面介绍一下这两者。

Boosting

Boosting是一族集成学习方法,通过顺序训练多个弱学习器,每个弱学习器都尝试修正前一个学习器的错误,从而逐步提高整体模型的性能。
Boosting族算法最著名的代表是AdaBoost,其算法流程如下图所示在这里插入图片描述
Boosting 算法要求基学习器能对特定的数据分布进行学习,这可通过"重赋权法" (re-weighting)实施,即在训练过程的每一轮中,根据样本分布为每个训练样本重新赋予一个权重。若某些样本无法赋权,则对该样本实施“重采样法”,即对训练集重新采样,再对采样后的样本集进行训练。
从偏差–方差分解角度看,Boosting 主要关注降低偏差,因此 Boosting能基于泛化性能相当弱的学习器构建出很强的集成。

Bagging与随机森林

Bagging

Bagging是一种并行集成学习方法,通过随机抽样训练集合构建多个基学习器(具体流程是给定包含m个样本的数据集,我们先随机取出一个样本放入采样集中,再把该样本放回初始数据集,经过m
次随机采样操作,我们得到含m个样本的采样集,照这样,我们可采样出T个含m个训练样本的采样集,然后基于每个采样集训练出一个基学习器,再将这些基学习器进行结合.)然后将它们的预测结果进行平均或投票来得到最终预测( Bagging通常对分类任务使用简单投票法,对回归任务使用简单平均法)。
Bagging算法描述如下:在这里插入图片描述
Bagging是一个很高效的集成学习算法,并且,与标准 AdaBoost 只适用于二分类任务不同,Bagging 能不经修改地用于多分类、回归等任务。

随机森林

随机森林是Bagging的一个典型代表,它在使用决策树作为基学习器的基础上,进一步在决策树的训练过程中引入了随机属性选择。具体来说,在随机森林中,对基决策树的每个结点,先从该结点的属性集合中随机选择一个包含k个属性的子集,然后再从这个子集中选择一个最优属性用于划分。
在这里插入图片描述
从上面图片可以看出,Bagging集成规模越大,其划分效果就相对越好。
随机森林的收敛性与 Bagging相似,如下图所示,随机森林的起始性能往往相对较差, 特别是在集成中只包含一个基学习器时。随着个体学习器数目的增加,随机森林通常会收敛到更低的泛化误差。
在这里插入图片描述

结合策略

学习器结合有如下好处:
(1)从统计的方面来看,结合多个学习器,可以避免相关风险,比如使用单学习器可能因误选而导致泛化性能不佳;
(2)从计算的方面来看,通过多次运行之后进行结合, 可降低陷入糟糕局部极小点的风险;
(3)从表示的方面来看,通过结合多个学习器,由于相应的假设空间有所扩大,有可能学得更好的近似。
下图给出了一个直观示意图:在这里插入图片描述
下面介绍几种对基学习器进行结合的常见策略

平均法

简单平均法:即对所有基学习器的输出进行加和取平均值, H ( x ) = 1 T ∑ i = 1 T h i ( x ) H\left ( x \right ) =\frac{1}{T} \sum_{i=1}^{T} h_{i} \left ( x \right ) H(x)=T1i=1Thi(x)
加权平均法 H ( x ) = ∑ i = 1 T w i h i ( x ) H\left ( x \right ) =\sum_{i=1}^{T} w_{i} h_{i} \left ( x \right ) H(x)=i=1Twihi(x),其中 w i w_{i} wi是个体学习器 h i h_{i} hi,通常要求 w i ≥ 0 w_{i} \ge 0 wi0 ∑ i = 1 T w i = 1 \sum_{i=1}^{T} w_{i} =1 i=1Twi=1
一般而言,在个体学习器性能相差较大时宜使用加权平均法,而在个体学习器性能相近时宜使用简单平均法.

投票法

绝大多数投票法:若某标记得票过半数,则预测为该标记;否则拒绝预测。
相对多数投票法:即预测为得票最多的标记,若同时有多个标记获最高票,则从中随机选取一个。

学习法

当训练数据数量很庞大时,最好使用学习法,即通过另一个学习器来进行结合。其中Stacking是学习法的代表,其流程如下:在这里插入图片描述
Stacking 先从初始数据集训练出初级学习器,然后"生成"一个新数据集用于训练次级学习器。在这个新数据集中,初级学习器的输出被当作样例输入特征,而初始样本的标记仍被当作样例标记。

在训练阶段,次级训练集是利用初级学习器产生的,若直接用初级学习器的训练集来产生次级训练集,则过拟合风险会比较大;因此,一般是通过使用交叉验证或留一法这样的方式,用训练初级学习器未使用的样本来产生次级学习器的训练样本。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2119147.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

轨道交通系统详解,以及地铁如何精准停靠站台

ATC系统 全称“自动列车控制系统”,Automatic Train Control,ATC ATC是地铁运行的核心系统,它包括列车自动防护(ATP)、列车自动运行(ATO)和列车自动监控(ATS)三个子系统。…

嵌入式day41

哈希表 将要存储的数据的关键字和位置建立对应的关系,通过哈希函数(散列函数)将数据映射到存储的位置,方便快速查找 哈希冲突/哈希矛盾: key1 ! key2 f(key1) f(key2) 解决方法: 链地址法 算法 解决…

都2024年了还不明白Redis持久化?RDB文件、AOF文件、AOF重写

都2024年了,不会还有人不知道redis的RDB和Aof吧?不知道没关系,看完这篇文章我相信你就会有个大概的了解和认识了 1. Redis持久化 1.1 持久化概念 Redis本身是一个基于内存的数据库,它提供了RDB持久化、AOF持久化两种方式&#…

黑神话,XSKY 星飞全闪单卷性能突破310万

当下,云计算仍然是企业主要的基础架构,随着关键业务的逐步虚拟化和云化,对于块存储的性能要求也日益提高。企业对于低延迟、高稳定性的存储解决方案的需求日益迫切。为了满足这些日益增长的 IO 密集型应用场景,众多云服务提供商正…

大奖收割机!望繁信科技荣获年度技术创新和应用品牌奖

2023年8月14日,第七届GAIR全球人工智能与机器人大会在新加坡如期举行。 会上公布了「GAIR 2023 GPT Pioneer 5」榜单,望繁信科技凭借完全自主研发的流程智能平台,以及一系列在头部企业中的成功实践案例,与百度智能云、阿里云、知…

vector 容器基础操作及用法

目录 vector 容器基础操作及用法 一:定义及初始化 二:添加数据 三:删除数据 vector 容器基础操作及用法 CSTL是一个非常强大的容器库,其中 vector 是最为常用也较为方便的容器之一,下面主要介绍一下 vector 的一些…

学习threejs,创建立方体,并执行旋转动画

文章目录 一、前言二、代码示例三、总结 一、前言 本文基于threejs&#xff0c;实现立方体的创建&#xff0c;并加入立方体旋转动画 二、代码示例 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>l…

数据同步方式何来“高级”与“低级”之说?场景匹配才是真理!

导读&#xff1a;数据同步方式的重要性对于数据集成领域的兴从业者不言而喻&#xff0c;选择正确的数据同步方式能让数据同步工作的成果事半功倍。目市面上的数据同步工具很多&#xff0c;提供的数据同步方式也有多种&#xff0c;不同的数据同步方式有什么区别&#xff1f;如何…

免费SSL证书正在逐渐被淘汰,证书部署自动化的发展趋势即将到来!

目录 背景解决方案。1.使用自签证书&#xff08;浏览器报警、免费&#xff09;2.更换支持自签自续的CA机构&#xff08;免费&#xff09;3.付费选择CA机构 免费SSL证书正在逐渐被淘汰&#xff0c;证书部署自动化的发展趋势即将到来免费的SSL证书有以下弊端1.有效期短&#xff1…

Python的安装与配置并在本地盘符创建共享路径打造低成本私人云盘

文章目录 前言1.本地文件服务器搭建1.1.Python的安装和设置1.2.cpolar的安装和注册 2.本地文件服务器的发布2.1.Cpolar云端设置2.2.Cpolar本地设置 3.公网访问测试4.结语 前言 本文主要介绍如何在Windows系统电脑上使用python这样的简单程序语言&#xff0c;在自己的电脑上搭建…

Leetcode面试经典150题-98.验证搜索二叉树

解法都在代码里&#xff0c;不懂就留言或者私信 二叉树的递归套路&#xff0c;练练就习惯了 /*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode() {}* TreeNode(int val) { this…

内联汇编 (28)

1 首先是基本的格式。 网上的截图&#xff1a; 命令换行使用 \n\t 这里的constraint 指的就是 寄存器。 r , m , 比较重要。 这里的输出的意思是 &#xff0c; 从汇编到 C语言。 输入指的是 从C语言到 汇编语言 这是个具体的例子 %1, %2,%3, 是指 从上往下算&#xff0c;…

【Canvas与电脑桌面】白褐橘三色立方桌面(1920*1080)

【成图】 【代码】 <!DOCTYPE html> <html lang"utf-8"> <meta http-equiv"Content-Type" content"text/html; charsetutf-8"/> <head><title>白褐橘三色立方桌面Draft1</title><style type"text/c…

应用层协议-HTTPS协议

应用层协议-HTTPS协议 一.概述 HTTP协议&#xff1a;初衷未考虑到安全性 HTTPS是在HTTP的基础上对应用层数据进行加密操作&#xff0c;HTTPSHTTPSSL/TLS HTTPS &#xff08;全称&#xff1a;Hypertext Transfer Protocol Secure [5]&#xff09;&#xff0c;是以安全为目标…

用于客户支持的 GenAI:探索 Elastic Support Assistant

作者&#xff1a;Chris Blaisure, Cory Mangini 我们很高兴地宣布推出 Elastic 的支持助手。本博客将带你了解我们最新的生成式 AI 工具以及它可以帮助你使用 Elastic 技术的一些常见场景。 Elastic 支持助手现已在 Support Hub 上可用 今天&#xff0c;我们宣布 Elastic 支持…

vue3的el-tree的default-checked-keys无法勾选的问题解决

前言:有些树形控件是需要默认勾选的 但是请求后渲染不显示 刷新外部的key值也没有用 看了一下文档 我们使用自带的方法来解决 <el-treenode-key"id":data"state.parentMenuList":default-checked-keys"state.checkIdList":check-on-click-n…

VBA高级应用30例应用3ListObject对象:循环列出当前工作表中的表

《VBA高级应用30例》&#xff08;版权10178985&#xff09;&#xff0c;是我推出的第十套教程&#xff0c;教程是专门针对高级学员在学习VBA过程中提高路途上的案例展开&#xff0c;这套教程案例与理论结合&#xff0c;紧贴“实战”&#xff0c;并做“战术总结”&#xff0c;以…

266-基于Xilinx Kintex-7 XC7K325T 的12路光纤Switch交换平台

一、板卡概述 该系统是由两块模块组成&#xff0c;分别是基于Xilinx公司的FPGAXC7K325T-2FFG900 芯片&#xff0c;pin_to_pin兼容FPGAXC7K410T-2FFG900 的模块和一个FPGA夹层卡&#xff08;FMC&#xff09;模块。前者支持64bit DDR3容量2GByte&#xff0c;USB3.0接口;HPC的FMC连…

reactwebpack老项目开发环境增加vite

在开发环境下&#xff0c;vite的启动时间远远高于webpack&#xff0c;特别是首次启动&#xff0c;做到了真正的按需加载&#xff0c;开发体验好于webpack&#xff1b; 目的&#xff1a;开发环境加入vite,生产环境不变react项目切webpack&#xff08;开发环境增加vite&#xff0…

一篇文章教你如何设计权限控制系统——RBAC模型详解

原文链接&#xff0c;关注获取更多技术文章&#xff01; 在信息技术飞速发展的今天&#xff0c;数据安全和系统访问控制成为了保护企业资产的关键。基于角色的访问控制&#xff08;RBAC&#xff0c;Role-Based Access Control&#xff09;模型作为一种有效的权限管理策略&…