集成学习的基本步骤

2023-05-16

集成学习的基本步骤

集成学习一般可分为以下3个步骤。

(1)找到误差互相独立的基分类器。

(2)训练基分类器。

(3)合并基分类器的结果。

合并基分类器的方法有voting和stacking两种。前者是用投票的方式,将获得最多选票的结果作为最终的结果。后者是用串行的方式,把前一个基分类器的结果输出到下一个分类器,将所有基分类器的输出结果相加(或者用更复杂的算法
融合,比如把各基分类器的输出作为特征,使用逻辑回归作为融合模型进行最后的结果预测)作为最终的输出。

以Adaboost为例,其基分类器的训练和合并的基本步骤如下。

(1)确定基分类器:这里可以选取ID3决策树作为基分类器。事实上,任何分类模型都可以作为基分类器,但树形模型由于结构简单且较易产生随机性所以比较常用。

(2)训练基分类器:假设训练集为 { x i , y i } , i = 1 , . . . , N , \{x_i,y_i\},i=1,...,N, {xi,yi},i=1,...,N其中 y i ∈ { − 1 , 1 } y_i\boldsymbol{\in}\{−1,1\} yi{1,1},并且有T个基分类器,则可以按照如下过程来训练基分类器。

1.初始化采分布
D l ( i ) = 1 / N D_{\mathrm{l}}(i)={1/N} Dl(i)=1/N
2.令 t = 1 , 2 , . . . , T t=1,2,...,T t=1,2,...,T循环:

  • 从训练集中,按照 D t D_t Dt分布,采样出子集 S t = { x i , y i } , i = 1 , … , N t ; S_{t}=\{x_{i},y_{i}\},i=1,\ldots,N_{t}; St={xi,yi},i=1,,Nt;

  • S t S_{t} St训练出基分类器 h t h_t ht

  • 计算 h t h_t ht的错误率:
    E t = ∑ i = 1 N t I [ h t ( x i ) ≠ y i ] D t ( x i ) N t \mathcal{E}_t=\frac{\sum_{i=1}^{N_t}I[h_t(x_i)\neq y_i]D_t(x_i)}{N_t} Et=Nti=1NtI[ht(xi)=yi]Dt(xi)
    其中 I [ ] I[] I[]为判别函数;

  • 计算基分类器 h t h_t ht的权重:
    a t = log ⁡ ( 1 − E t ) E t a_{t}=\log{\frac{(1-{\mathcal{E}}_{t})}{{\mathcal{E}}_{t}}} at=logEt(1Et)

  • 设置下一次采样
    D i + 1 = { D i ( i ) 或者 D i ( i ) ( 1 − ε i ) ε i , h i ( x i ) ≠ y i ; D i ( i ) ε i ( 1 − ε i ) , p i ( x i ) = y i . D_{i+1}=\begin{cases}D_i(i)\text{或者}\dfrac{D_i(i)(1-\varepsilon_i)}{\varepsilon_i},h_i(x_i)\neq y_i;\\ \\ \dfrac{D_i(i)\varepsilon_i}{(1-\varepsilon_i)},p_i(x_i)=y_i.\end{cases} Di+1= Di(i)或者εiDi(i)(1εi),hi(xi)=yi;(1εi)Di(i)εi,pi(xi)=yi.
    并将它归一化为一个概率分布函数。

(3)合并基分类器:给定一个未知样本 z z z,输出分类结果为加权投票的结果 S i g n ( ∑ t = 1 T h t ( z ) a t ) Sign(\sum\limits_{t=1}^T h_t(z)a_t) Sign(t=1Tht(z)at)

从Adaboost的例子中我们可以明显地看到Boosting的思想,对分类正确的样本降低了权重,对分类错误的样本升高或者保持权重不变。 在最后进行模型融合的过程中,也根据错误率对基分类器进行加权融合。错误率低的分类器拥有更大的“话语权”。

另一个非常流行的模型是梯度提升决策树,其核心思想是,每一棵树学的是之前所有树结论和的残差,这个残差就是一个加预测值后能得真实值的累加量。

我们以一个视频网站的用户画像为例,为了将广告定向投放给指定年龄的用户,视频网站需要对每个用户的年龄做出预测。在这个问题中,每个样本是一个已知性别/年龄的用户,而特征则包括这个人访问的时长、时段、观看的视频的类型等。

例如用户A的真实年龄是25岁,但第一棵决策树的预测年龄是22岁,差了3
岁,即残差为3。那么在第二棵树里我们把A的年龄设为3岁去学习,如果第二棵树
能把A分到3岁的叶子节点,那两棵树的结果相加就可以得到A的真实年龄;如果第二棵树的结论是5岁,则A仍然存在−2岁的残差,第三棵树里A的年龄就变成−2岁,继续学。这里使用残差继续学习,就是GBDT中Gradient Boosted所表达的意思。

基分类器

基分类器的选择是集成学习主要步骤中的第一步,也是非常重要的一步。

最常用的基分类器是决策树,主要有以下3个方面的原因。

(1)决策树可以较为方便地将样本的权重整合到训练过程中,而不需要使用过采样的方法来调整样本权重。

(2)决策树的表达能力和泛化能力,可以通过调节树的层数来做折中。

(3)数据样本的扰动对于决策树的影响较大,因此不同子样本集合生成的决策树基分类器随机性较大,这样的“不稳定学习器”更适合作为基分类器。此外,在决策树节点分裂的时候,随机地选择一个特征子集,从中找出最优分裂属性,很好地引入了随机性。除了决策树外,神经网络模型也适合作为基分类器,主要由于神经网络模型也比较“不稳定”,而且还可以通过调整神经元数量、连接方式、网络层数、初始权值等方式引入随机性。

随机森林中的基分类器即为决策树。

这是随机森林属于Bagging类的集成学习。Bagging的主要好处是集成后的分类器的方差,比基分类器的方差小。Bagging所采用的基分类器,最好是本身对样本分布较为敏感的(即所谓不稳定的分类器),这样Bagging才能有用武之地。线性分类器或者K-近邻都是较为稳定的分类器,本身方差就不大,所以以它们为基分类器使用Bagging并不能在原有基分类器的基础上获得更好的表现,甚至可能因为Bagging的采样,而导致他们在训练中更难收敛,从而增大了集成分类器的偏差。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

集成学习的基本步骤 的相关文章

  • K8S中的负载均衡Ingress

    K8S通过Ingress xff0c 把K8S集群中的服务 xff0c 通过Http和https路由暴露给外部用户 路径等信息通过Ingress的资源文件配置 1 一个K8S集群 2 一个集群Admin xff0c 两个个K8S用户 Use
  • DevOps关键指标

    不能衡量 xff0c 就无法管理 xff1b 不能管理 xff0c 就无法改进 xff0c 这句话对于DevOps或其它研发管理实践来说 xff0c 是正确的 为了实现DevOps的承诺 xff1a 更快地交付更高质量的产品 xff0c D
  • 成功的CEO的特质(一个投资人的观察)

    一个投资人总结他投资的100多个成功创业者的特质 1 不需要外部驱动 xff0c 不需要钱 危机状况触发他们的斗志 xff0c 他们内心有者强烈的驱动力 xff0c 证明自己的想法是对的 xff0c 能让世界变得更好 即使他们变得很富有了也
  • minikube 及安装

    和 kind 一样 xff0c minikube是一个在PC机上本地部署单节点Kubernetes集群的工具 xff0c 可以作为K8S的学习 xff0c 测试环境 在linux上安装minikube xff1a span class to
  • linux系统进程间通信方式(三):管道

    进程间通信方式之管道 管道通常指无名管道 xff08 PIPE xff09 或有名管道 xff08 FIFO xff09 xff0c 但实际上套接字也都是管道 接口 PIPE和FIFO的相关接口如下表格 功能创建无名管道 xff1a PIP
  • Python3 注释

    前言 确保对模块 函数 方法和行内注释使用正确的风格 xff08 文末送读者福利 xff09 Python 中的注释有单行注释和多行注释 Python 中单行注释以 开头 xff0c 例如 xff1a 这是一个注释 print Hello
  • 2023!七大最佳Python书籍,入门到精通推荐!

    前言 什么是Python xff1f Python是一种高级编程语言 xff0c 用于使用正确的工具和库文件进行Web开发 xff0c 桌面应用程序 xff0c 人工智能 xff0c OS xff0c 原型 xff0c GUI应用 xff0
  • 树莓派3B+UbuntuMate18.04安装ROS

    最近一直在配置树莓派的各种环境 xff0c 今天了解到可以搭载ROS然后控制摄像头 xff0c 激光雷达等 xff0c 就开始了疯狂踩坑 xff0c 记录问题及解决办法如下 配置 xff1a 树莓派3B 43 xff0c UbuntuMAT
  • 电脑技巧:Win10无线投屏功能介绍

    Win10操作系统可以将电脑中的内容投屏到其他显示设备 xff0c 比如将电脑屏幕投屏到电视上 xff0c 这是通过Miracast技术来实现的 其实Win10电脑自身也可以作为被投屏的那一方 xff01 比如可以将手机屏幕投屏到电脑屏幕上
  • 收集一些程序员励志经典名言

    1 作为一个真正的程序员 xff0c 首先应该尊重编程 xff0c 热爱你所写下的程序 xff0c 他是你的伙伴 xff0c 而不是工具 2 程序员可以让步 xff0c 却不可以退缩 xff0c 可以羞涩 xff0c 却不可以软弱 xff0
  • SVN连接不上,提示:Error running context: The server unexpectedly closed the connection.

    结果 xff0c 询问一起其他伙伴 xff0c 人家都能正常使用 最终找到的问题是 xff1a 把TortoiseSVN gt Settings gt Network gt Enable Proxy Server 这个勾选项取消勾选 就可以
  • 组装机怎么重装系统?组装机U盘装系统方法

    很多用户都会给自己的电脑进行重装 xff0c 这样就能使用上自己购买的硬件配置 组装好的电脑第一步要做的就是装系统 xff0c 下面小编就给大家整理了新电脑用U盘装系统的方法 xff0c 希望可以帮到大家 U盘重装系统Win10下载 系统之
  • 电脑老系统怎么换新系统?

    现在还有好多用户家里装的是旧电脑 xff0c 使用的系统也都是很久之前的系统了 xff0c 就有用户想给电脑换新系统 xff0c 但是不知道具体怎么操作 针对这个问题 xff0c 小编为大家带来详细的重装教程 xff0c 有需要的用户可以看
  • 介绍snipaste截图快捷键

    snipaste是非常受人欢迎的一款截图软件 xff0c 体积小巧 xff0c 功能强大 为了方便使用 xff0c 很多用户都会设置一些快捷键 xff0c 那么snipaste怎么设置快捷键呢 xff1f 下面就来看看具体的设置步骤 设置方
  • 教教大家vmware虚拟机安装win11的方法

    vmware是大家经常使用的虚拟机软件 xff0c 在其上面可以安装多种操作系统不管是windows系统 linux系统还是mac系统 那么win11系统也能安装吗 xff1f 当然是可以的 vmware安装Win11教程 1 首先我们需要
  • freertos的可视化追踪和运行时间统计功能

    简介 很多时候 xff0c 我们想要知道rtos任务目前的运行情况 xff0c 比如任务的状态 优先级 cpu的占用率等等 xff0c 或者我们想要知道当前正系统在运行的是哪一个任务 xff0c 又或者我们想要知道某一个任务运行了多长时间
  • 麻将算法(上)

    一 麻将规则 xff08 云南昭通麻将 xff09 1 牌 1 万 筒 和 条 三房牌 xff0c 各36张 xff0c 共108张牌 xff1b 2 只能 碰 杠 胡 xff0c 不能吃牌 3 4人进行游戏 xff1b 4 游戏开始时 x
  • DIR dirp对目录的操作

    xfeff xfeff DIR函数以及dirp函数 DIR opendir const char pathname 即打开文件目录 xff0c 返回的就是指向DIR结构体的指针 返回该指针以后 xff0c 就可以被以下函数来使用了 xff0
  • SocketException: 由于目标计算机积极拒绝,无法连接。 127.0.0.1:10000

    在尝试python socket编程的时候 xff0c 首先将编写好的客户端和服务器端都部署在本地进行 xff0c 并且使用同一台宿主机 客户端使用127 0 0 1 xff0c 服务器端使用0 0 0 0或者直接 刚开始我端口是随意选择的

随机推荐

  • NVIDIA Jetson Xavier NX——入手安装

    Google search sd card formatter for formatting SD card Google search balenaetcher for flashing JetPack SDK Google search
  • positional encoding位置编码详解:绝对位置与相对位置编码对比

    本文转载自公众号 夕小瑶的卖萌屋 xff0c 专业带逛互联网算法圈的神操作 我是传送门 关注后 xff0c 回复以下口令 xff1a 回复 789 xff1a 领取深度学习全栈手册 xff08 含NLP CV海量综述 必刷论文解读 xff0
  • Pytorch与Tensorflow,哪个更适合你?

    本文转载自公众号 夕小瑶的卖萌屋 xff0c 专业带逛互联网算法圈的神操作 我是传送门 关注后 xff0c 回复以下口令 xff1a 回复 789 xff1a 领取深度学习全栈手册 xff08 含NLP CV海量综述 必刷论文解读 xff0
  • 抖音算法推荐机制详解(科普向)

    本文转载自公众号 夕小瑶的卖萌屋 xff0c 专业带逛互联网算法圈的神操作 我是传送门 关注后 xff0c 回复以下口令 xff1a 回复 789 xff1a 领取深度学习全栈手册 xff08 含NLP CV海量综述 必刷论文解读 xff0
  • 小样本学习只是一场学术界自嗨吗

    文 ALme 64 知乎 这两年看见很多人 xff0c 包括我实习的mentor在内 xff0c 都在批评few shot learning xff0c 觉得是学术界在自high xff0c 思考良久 xff0c 感觉有必要给这个领域正个名
  • ChatGPT镜像来了,体验核心能力

    1月份开始 xff0c chatgpt开始火上天了 但其实很多人都不知道它真正的能力和魅力在哪里 甚至有人不停的问他是男的女的 xff0c 多大岁数 xff0c 叫啥名字 xff0c 然后问了几个无聊的闲聊问题后 xff0c 觉得这个AI好
  • 超详细面经分享!@最近考虑换工作的伙伴们

    文 xff5c ELon Z 源 xff5c AI机器学习与知识图谱 编 xff5c 极市平台 本文作者在秋招期间面试了10 43 家互联网公司 xff0c 总结了不同公司的考察点以及面试准备的全过程中的经验 帮助大家对各公司有个大致的认知
  • 详解webpack构建优化

    当项目越来越复杂时 xff0c 会面临着构建速度慢和构建出来的文件体积大的问题 webapck构建优化对于大项目是必须要考虑的一件事 xff0c 下面我们就从速度和体积两方面来探讨构建优化的策略 分析工具 在优化之前 xff0c 我们需要了
  • GPT4国内镜像站

    GPT 4介绍 GPT 4是OpenAI发布的最先进的大型语言模型 xff0c 是ChatGPT模型的超级进化版本 与ChatGPT相比 xff0c GPT 4的推理能力 复杂问题的理解能力 写代码能力得到了极大的强化 xff0c 是当前人
  • 阿里通义千问、百度文心一言、ChatGPT与GPT-4大比拼

    各个大模型的研究测试传送门 阿里通义千问传送门 xff1a https tongyi aliyun com chat 百度文心一言传送门 xff1a https yiyan baidu com ChatGPT传送门 xff08 免墙 xff
  • 清华发布首个最全大模型安全评测系统,ChatGPT登榜首!

    夕小瑶科技说 原创 作者 天于刀刀 Python 当前大型语言模型的火爆程度我们不用再进行赘述了 xff0c 伴随着百度文心一言打响国内商业大模型第一枪 xff0c 华为盘古 xff0c 阿里通义千问 xff0c 智谱ChatGLM 科大讯
  • 值得关注!正在引领行业变革的15家AI明星创业公司

    夕小瑶科技说 原创 作者 小戏 iven 星星之火 xff0c 可以燎原 在大模型横空出世的这个疯狂的春天 xff0c 一场关于 AI 产品的革命也正在席卷全球 这边是大公司一个接一个模型搞军备竞赛 xff0c 那边是各路豪强纷纷下场创业招
  • UC伯克利发布大语言模型排行榜!Vicuna夺冠,清华ChatGLM进前5

    夕小瑶科技说 分享 来源 新智元 编辑 好困 万万没想到 xff0c 现在大语言模型们也要像王者荣耀 LoL Dota这些游戏里的玩家一样打排位赛了 xff01 据说 xff0c 那些闭源模型们很快也会被拉出来溜溜 最近 xff0c 来自L
  • 编译器大佬Chris Lattner全新编程语言「Mojo」:兼容Python核心功能,提速35000倍

    夕小瑶科技说 分享 来源 机器之心 编辑 蛋酱 陈萍 它可与 Python 无缝衔接 xff0c 但克服了很多 Python 的缺点 Jeremy Howard 试用后表示 xff1a Mojo 可能是几十年来最大的编程进步 对于全球各地开
  • 微软Bing突然爆炸级更新!BingChat全面开放,下一代搜索要来啦!

    夕小瑶科技说 分享 来源 量子位 作者 杨净 明敏 所有人都能上手微软Bing了 xff01 今天 xff0c 微软突然官宣全面开放BingChat xff1a 无需任何等待 只需注册一个账户 xff0c 首页即可体验 更关键的是 xff0
  • 中文大模型安全性哪家强?清华团队新发布

    当前大型语言模型的火爆程度我们不用再进行赘述了 xff0c 伴随着百度文心一言打响国内商业大模型第一枪 xff0c 华为盘古 xff0c 阿里通义千问 xff0c 智谱ChatGLM 科大讯飞星火等国内公司纷纷开始布局 另一方面由于众所周知
  • 最新研究,GPT-4暴露了缺点!无法完全理解语言歧义!

    夕小瑶科技说 原创 作者 智商掉了一地 Python 自然语言推理 xff08 Natural Language Inference xff0c NLI xff09 是自然语言处理中一项重要任务 xff0c 其目标是根据给定的前提和假设 x
  • 离谱!最新研究:61%中国人写的英语论文,会被ChatGPT检测器判为AI生成的

    夕小瑶科技说 分享 来源 新智元 ChatGPT火了以后 xff0c 用法是真多 有人拿来寻求人生建议 xff0c 有人干脆当搜索引擎用 xff0c 还有人拿来写论文 论文 可不兴写啊 美国部分大学已经明令禁止学生使用ChatGPT写作业
  • 需求不明的情况下,一定要确认好需求

    突发事件 boss提出一个功能 xff0c 需当天完成 xff0c 因需求组比较忙 xff0c 故没有文档 xff0c 项目PM直接告知开发完成 xff0c 开发经过半天多的奋战 xff0c 在3点左右发包 xff0c 测试组因比较赶 xf
  • 集成学习的基本步骤

    集成学习的基本步骤 集成学习一般可分为以下3个步骤 xff08 1 xff09 找到误差互相独立的基分类器 xff08 2 xff09 训练基分类器 xff08 3 xff09 合并基分类器的结果 合并基分类器的方法有voting和stac