机器学习第8章 集成学习
目录
- 个体与集成
- 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)=T1∑i=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 wi≥0和 ∑ i = 1 T w i = 1 \sum_{i=1}^{T} w_{i} =1 ∑i=1Twi=1
一般而言,在个体学习器性能相差较大时宜使用加权平均法,而在个体学习器性能相近时宜使用简单平均法.
投票法
绝大多数投票法:若某标记得票过半数,则预测为该标记;否则拒绝预测。
相对多数投票法:即预测为得票最多的标记,若同时有多个标记获最高票,则从中随机选取一个。
学习法
当训练数据数量很庞大时,最好使用学习法,即通过另一个学习器来进行结合。其中Stacking是学习法的代表,其流程如下:
Stacking 先从初始数据集训练出初级学习器,然后"生成"一个新数据集用于训练次级学习器。在这个新数据集中,初级学习器的输出被当作样例输入特征,而初始样本的标记仍被当作样例标记。
在训练阶段,次级训练集是利用初级学习器产生的,若直接用初级学习器的训练集来产生次级训练集,则过拟合风险会比较大;因此,一般是通过使用交叉验证或留一法这样的方式,用训练初级学习器未使用的样本来产生次级学习器的训练样本。
相关文章:
机器学习第8章 集成学习
目录 个体与集成BoostingBagging与随机森林Bagging随机森林 结合策略平均法投票法学习法 个体与集成 定义:集成学习,也叫多分类器系统、基于委员会的学习等,它是一种通过结合多个学习器来构建一个更强大的学习器的技术。如下图所示 在这里&a…...
京东鸿蒙上线前瞻——使用 Taro 打造高性能原生应用
背景 2024 年 1 月,京东正式启动鸿蒙原生应用开发,基于 HarmonyOS NEXT 的全场景、原生智能、原生安全等优势特性,为消费者打造更流畅、更智能、更安全的购物体验。同年 6 月,京东鸿蒙原生应用尝鲜版上架华为应用市场,…...
day2 QT
作业 2> 在登录界面的登录取消按钮进行以下设置: 使用手动连接,将登录框中的取消按钮使用第2种方式的连接到自定义的槽函数中,在自定义的槽函数中调用关闭函数 将登录按钮使用qt4版本的连接到自定义的槽函数中,在槽函数中判断…...
JS_函数声明
JS中的方法,多称为函数,函数的声明语法和JAVA中有较大区别 函数说明 函数没有权限控制符不用声明函数的返回值类型,需要返回在函数体中直接return即可,也无需void关键字参数列表中,无需数据类型调用函数时,实参和形参的个数可以不一致声明函数时需要用function关键字函数没有…...
快速排序+归并排序代码回顾
快速排序与归并排序简介: quick_sort为快速排序,merge_sort为归并排序,两者基于分治的思想; 快速排序,简称快排,它以原来数组中的一个值(我们记为x)作为界限,将比它小…...
DBC中一种特殊的特殊的Signal—多路复用Signal
前言: DBC设计中一般设计Signal时其实存在三种类型,如下图所示: **1)步骤1,鼠标单击展开Message,选中底下的Signal **2)步骤2,弹出dialog中选择 map signal **3)得到…...
前端基础面试题·第三篇——JavaScript(其三)
1.字符串 (1) 常用方法 1.charAt(index) 返回指定位置的字符,若没找到,则返回空2.charCodeAt(index) 返回指定位置的unicode字符编码,若没找到,则返回空 3.String.concat(str1,str2) 连接多个字符串,并返回新字符串4.String.fromCharCode(co…...
MacBook真的不能打游戏吗?Mac打游戏会损坏电脑吗?苹果电脑怎么玩游戏
MacBook从来都是高端的代名词,超强的性能搭配顶尖的系统,不光处理大型文件时举重若轻,长期使用也不会有明显卡顿。但很多人在需要MacBook一流的生产力同时,也希望能在空闲时体验游戏的乐趣。在大多人的印象里,Mac电脑对…...
安卓逆向(之)真机root(红米手机)
概览: 1, 手机解锁 2, 下载官方系统包,推荐线刷包,取出镜像文件 3, magisk工具修补 官方系统包 4, adb:命令对手机刷 root 5, 完成 6, 小米手机解锁 点击 小米手机解锁OEM官方教程 记得数据线连接手机电脑 工具下载 点击 下载adb(电脑操作…...
关于转行网络安全的一些建议
在当前就业形势下,不少朋友面临转行的困境。网络安全作为一个热门领域,自然也吸引了许多人的目光。本文将就转行网络安全这一话题,提供一些切实可行的建议。 网络安全行业概况 网络安全涵盖了从基础的脚本编写到高级的漏洞研究等多个层面。该…...
(六十五)第 10 章 内部排序(希尔排序)
示例代码 shellSort.h // // 希尔排序实现头文件#ifndef SHELL_SORT_H #define SHELL_SORT_H#include "errorRecord.h"#define NUM 10 #define MAX_SIZE 20#define EQUAL(a, b) ((a) == (b)) #define LESS_THAN(a, b) ((a) < (b)) #define LESS_OR_EQUAL(a, b) ((…...
802.11 中 scrambler的matlab仿真
802.11a和802.11n中的scrambler仿真不可以直接用matlab中的comm.Scrambler函数。因为这个函数实现的是multiplicative scrambling,而802.11a和802.11n中的scrambler使用的是additive scrambling。additive scrambling使用异或操作进行扰码,multiplicativ…...
centos 服务器 多网卡 ip 地址 设置
centos 服务器 多网卡 ip 地址 设置 https://blog.csdn.net/xh_w20/article/details/141574357 cd /etc/sysconfig/network-scripts/ sudo systemctl status network ● network.service - LSB: Bring up/down networkingLoaded: loaded (/etc/rc.d/init.d/network; bad; v…...
什么是大数据、有什么用以及学习内容
目录 1.什么是大数据? 2.大数据有什么用? 2.1商业与营销: 2.2医疗与健康: 2.3金融服务: 2.4政府与公共服务: 2.5交通与物流: 2.6教育与个性化学习: 3.学习大数据需要学习哪…...
ZBrush与Blender雕刻功能哪个更好些?
选择正确的3D软件首先会让你的创作过程更加轻松,尤其是在动画或大片电影制作方面。不同的软件提供不同的功能,并倾向于专注于特定领域,如绘画、动画或雕刻。如果你选择了适合你风格和目标的软件,你可以创作出极具创意的作品。 在…...
软件工程技术专业软件开发综合实训室解决方案
一、行业背景与前景分析 1.1 软件工程技术专业就业前景 近年来,中国的软件行业取得了显著的成就,即便在全球经济受到新冠疫情冲击的情况下,仍保持了强劲的增长势头。据工业和信息化部发布的数据,2021年我国软件和信息技术服务业…...
链动2+1:高效用户留存与增长的商业模式解析
大家好,我是吴军,任职于一家致力于创新的软件开发企业,担任产品经理的职位。今天,我打算深入分析一个历经时间考验且依旧充满活力的商业模式——“链动21”模式,并通过一个具体的案例和相关数据,展示它如何…...
Python 调用手机摄像头
Python 调用手机摄像头 在手机上安装软件 这里以安卓手机作为演示,ISO也是差不多的 软件下载地址 注意:要想在电脑上查看手机摄像头拍摄的内容的在一个局域网里面(没有 WIFI 可以使用 热点 ) 安装完打开IP摄像头服务器 点击分享查看IP 查看局域网的I…...
E5053A 微波下变频器
_XLT新利通_ E5053A 微波下变频器 E5052B SSA 专用的微波下变频器 Keysight E5053A 是一款与 E5052B 信号源分析仪(SSA)相关的微波下变频器。 如果您需要设计和测试微波或毫米波频率的信号源,E5053A 支持您扩展该分析仪的频率范围。 从…...
记录:uniapp直播的弹幕的样式修改与发送弹幕会自动滚动到底部两个技巧
1、在直播页面的弹幕评论中,我们希望的样式是: 观众名字:评论 而且颜色有所区分,并在同一行显示 2、我们希望在发弹幕的时候可以回自动滚动到自己发的内容那里 一:弹幕样式修改 因为是小白,前端对于样式这…...
Python爬虫(一):爬虫伪装
一、网站防爬机制概述 在当今互联网环境中,具有一定规模或盈利性质的网站几乎都实施了各种防爬措施。这些措施主要分为两大类: 身份验证机制:直接将未经授权的爬虫阻挡在外反爬技术体系:通过各种技术手段增加爬虫获取数据的难度…...
微信小程序云开发平台MySQL的连接方式
注:微信小程序云开发平台指的是腾讯云开发 先给结论:微信小程序云开发平台的MySQL,无法通过获取数据库连接信息的方式进行连接,连接只能通过云开发的SDK连接,具体要参考官方文档: 为什么? 因为…...
【C++从零实现Json-Rpc框架】第六弹 —— 服务端模块划分
一、项目背景回顾 前五弹完成了Json-Rpc协议解析、请求处理、客户端调用等基础模块搭建。 本弹重点聚焦于服务端的模块划分与架构设计,提升代码结构的可维护性与扩展性。 二、服务端模块设计目标 高内聚低耦合:各模块职责清晰,便于独立开发…...
Android Bitmap治理全解析:从加载优化到泄漏防控的全生命周期管理
引言 Bitmap(位图)是Android应用内存占用的“头号杀手”。一张1080P(1920x1080)的图片以ARGB_8888格式加载时,内存占用高达8MB(192010804字节)。据统计,超过60%的应用OOM崩溃与Bitm…...
佰力博科技与您探讨热释电测量的几种方法
热释电的测量主要涉及热释电系数的测定,这是表征热释电材料性能的重要参数。热释电系数的测量方法主要包括静态法、动态法和积分电荷法。其中,积分电荷法最为常用,其原理是通过测量在电容器上积累的热释电电荷,从而确定热释电系数…...
R 语言科研绘图第 55 期 --- 网络图-聚类
在发表科研论文的过程中,科研绘图是必不可少的,一张好看的图形会是文章很大的加分项。 为了便于使用,本系列文章介绍的所有绘图都已收录到了 sciRplot 项目中,获取方式: R 语言科研绘图模板 --- sciRplothttps://mp.…...
面试高频问题
文章目录 🚀 消息队列核心技术揭秘:从入门到秒杀面试官1️⃣ Kafka为何能"吞云吐雾"?性能背后的秘密1.1 顺序写入与零拷贝:性能的双引擎1.2 分区并行:数据的"八车道高速公路"1.3 页缓存与批量处理…...
QT开发技术【ffmpeg + QAudioOutput】音乐播放器
一、 介绍 使用ffmpeg 4.2.2 在数字化浪潮席卷全球的当下,音视频内容犹如璀璨繁星,点亮了人们的生活与工作。从短视频平台上令人捧腹的搞笑视频,到在线课堂中知识渊博的专家授课,再到影视平台上扣人心弦的高清大片,音…...
RabbitMQ 各类交换机
为什么要用交换机? 交换机用来路由消息。如果直发队列,这个消息就被处理消失了,那别的队列也需要这个消息怎么办?那就要用到交换机 交换机类型 1,fanout:广播 特点 广播所有消息:将消息…...
Oracle实用参考(13)——Oracle for Linux物理DG环境搭建(2)
13.2. Oracle for Linux物理DG环境搭建 Oracle 数据库的DataGuard技术方案,业界也称为DG,其在数据库高可用、容灾及负载分离等方面,都有着非常广泛的应用,对此,前面相关章节已做过较为详尽的讲解,此处不再赘述。 需要说明的是, DG方案又分为物理DG和逻辑DG,两者的搭建…...
