【机器学习】lightGBM是什么?

news2024/11/29 10:41:22

梯度提升法(Gradient Boosting Machine,简记 GBM)以非参数方法(不假设函数形式)估计基函数,并在“函数空间”使用“梯度下降”进行近似求解。非参数方法包括K近邻法、决策树、以及基于决策树的装袋法、随机森林与提升法等。

 

01  梯度提升决策树(GBDT)不足

梯度提升决策树(GBDT) 的常规实现需要针对每个功能扫描所有数据实例,以估计所有可能的分割点的信息增益(对于 GBDT,通常通过分割后的方差来衡量信息增益),因此计算复杂度与特征数量和实例数量成正比,这使得在处理大数据时非常耗时。为解决GBDT在处理大数据耗时较长的问题,最直接的想法就是减少数据实例的数量和特征的数量。

02  GOSS: 减少数据实例

基于梯度的单边采样(Gradient-based One-Side Sampling ,简称GOSS),GOSS 会保留所有具有大梯度的实例(具有较大梯度1的实例(即,训练不足的实例)将为信息增益做出更大的贡献),并对具有小梯度的实例执行随机采样。具体算法如下:

为了补偿对数据分布的影响,在计算信息增益时,GOSS 为具有小梯度的数据实例引入了一个常数乘法器。

03  EFB:减少特征

独占功能捆绑(Exclusive Feature Bundling ,简称EFB),EFB 算法可以将许多互斥特征捆绑到少得多的密集特征中,从而可以有效地避免不必要的零特征值计算。高维数据通常非常稀疏,在稀疏的特征空间中,许多特征是互斥的,可以安全地将互斥特征捆绑为一个特征(称为互斥特征捆绑exclusive feature bundle)。但是有两个问题要解决:第一个是确定应将哪些特征捆绑在一起,第二个是如何构造捆绑包。解决上述两个问题采用的算法如下:

具体来说,GOSS 首先根据数据实例的梯度的绝对值对它们进行排序,然后选择前a × 100%的实例。然后,它从其余数据中随机采样b× 100%实例。此后,GOSS 在计算信息增益时,将小梯度的采样数据通过常数(1-a)/b放大。通过这样做,将更多的精力放在训练不足的实例上,而没有太多改变原始数据的分布。

04  lightGBM是什么?

LightGBM=GOSS+EFB+GBDT:基于梯度的单边采样(GOSS )和互斥特征捆绑(EFB)的GBDT 算法,称为 LightGBM,它在计算速度内存消耗方面可以显著优于 XGBoost 和 SGB,同时可以将训练过程加速多达 20 倍,同时达到几乎相同的准确性。

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

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

相关文章

MySQL-Innodb引擎事务原理

文章目录1.事务介绍2 事务特性3. 事务的实现原理4 redo log 保证持久性5 undo log 保证原子性6 MVCC 概念6.1 隐藏字段6.2 版本链6.3 ReadView6.3.1readview 版本控制规则7 隔离性 实现7.2 隔离性- REPEATABLE READ 可重复读下8 一致性1.事务介绍 事务是一组操作的集合&#xf…

Vue (4)

文章目录1. 绑定样式1.1 绑定 class 样式1.2 绑定 style 样式2. 条件渲染2.1 v-show2.2 v-if3. 列表渲染3.1 v-for3.2 key 的作用与原理3.3 列表过滤3.4 列表排序1. 绑定样式 说 绑定样式 前&#xff0c;先准备好 以下几个 样式 : <style>.basic {width: 400px;height: 1…

四数之和(详细题解:双指针+排序)

18. 四数之和 难度中等1502 给你一个由 n 个整数组成的数组 nums &#xff0c;和一个目标值 target 。请你找出并返回满足下述全部条件且不重复的四元组 [nums[a], nums[b], nums[c], nums[d]] &#xff08;若两个四元组元素一一对应&#xff0c;则认为两个四元组重复&#x…

Java 魔法类 Unsafe 详解

阅读过 JUC 源码的同学&#xff0c;一定会发现很多并发工具类都调用了一个叫做 Unsafe的类。 那这个类主要是用来干什么的呢&#xff1f;有什么使用场景呢&#xff1f;这篇文章就带你搞清楚&#xff01; Unsafe 介绍 Unsafe 是位于 sun.misc 包下的一个类&#xff0c;主要提…

要发计算机SCI论文,参考文献应该怎么引用? - 易智编译EaseEditing

SCI论文发表中经常被引用的参考文献主要有以下四种。 一是关于具体的实验的方法&#xff0c;二是支持性或者有冲突的证据&#xff0c;三是比较有用的类似的文献&#xff0c;四是有历史背景的和有意义的文献。 其实归根到底&#xff0c;你引用的SCI的参考文献必须对你的论文发表…

031_SSS_Imagic Text-Based Real Image Editing with Diffusion Models

Imagic: Text-Based Real Image Editing with Diffusion Models 1. Introduction 本文提出了一种新的基于Diffusion的方法称作Imagic&#xff0c;可以实现复杂的基于文本的图像编辑。与之前的方法不同&#xff0c;本文的方法只需要一张输入图像和一个目标文本&#xff0c;并且…

线程私有变量ThreadLocal详解

本文已收录至Github&#xff0c;推荐阅读 &#x1f449; Java随想录 烈火试真金&#xff0c;逆境试强者。——塞内加 文章目录什么是ThreadLocalThreadLocal 原理set()方法get()方法remove()方法ThreadLocal 的Hash算法ThreadLocal 1.7和1.8的区别ThreadLocal 的问题ThreadLoca…

StarRocks获评「2022 中国开源社区健康案例」!

近日&#xff0c;OSCHINA 2022年度中国开源项目评选结果正式揭晓&#xff0c;StarRocks开源社区成功入选 OSCHINA “2022中国开源社区健康案例”&#xff01;开源社区健康指的是围绕一个开源项目形成的社区中关于项目的技术迭代、社区的组织架构、成员构成、开源治理、上下游协…

【手写 Vuex 源码】第十二篇 - Vuex 插件机制的实现

一&#xff0c;前言 上一篇&#xff0c;主要介绍了 Vuex 插件的开发&#xff0c;主要涉及以下几个点&#xff1a; Vuex 插件的使用介绍&#xff1b;Vuex 插件开发和使用分析&#xff1b;Vuex 插件机制的分析&#xff1b; 本篇&#xff0c;继续介绍 Vuex 插件机制的实现&…

moveToCoordinateF3DconcatenateRotations

moveToCoordinate 演示视频: 注意:前提是3~6轴机器人机构且不是PickAndPlace 该方法_3D。Poses.moveToCoordinate 移动由 指定的对象,该对象 对应于支持的机器人配置之一,只要标识的机器人配置支持,其第一个动画指向指定坐标和指定旋转。这无需您定义姿势即可工作。 工…

Python期末复习知识点大合集(期末不挂科版)

Python期末复习知识点大合集&#xff08;期末不挂科版&#xff09; 文章目录Python期末复习知识点大合集&#xff08;期末不挂科版&#xff09;一、输入及类型转换二、格式化输出&#xff1a;字符串的format方法三、流程控制四、随机数生成五、字符串六、序列索&#xff08;含字…

stm32f407探索者开发板(十五)——NVIC中断优先级管理

文章目录零、前言一、NVIC中断优先级分组1.1 中断的管理方法1.2 抢占优先级&相应优先级的区别1.3 举例1.4 特别说明1.5 中断优先级分组函数二、NVIC中断优先级设置2.1 中断设置相关寄存器2.2 中断设置优先级2.2.1 中断优先级控制的寄存器组 IP[240]2.2.2 中断使能寄存器组 …

TCP核心机制之连接管理详解(三次握手,四次挥手)

目录 前言&#xff1a; 建立连接 建立连接主要两个TCP状态&#xff1a; 断开连接 断开连接的两个重要状态 小结&#xff1a; 前言&#xff1a; TCP是如何建立对端连接&#xff0c;如何断开连接&#xff0c;这篇文章会详细介绍。 建立连接 首先明确连接的概念&#xff1a…

Docker系列之九巧用Nginx

前言 Nginx是个很棒的反向代理服务工具&#xff0c;之前我都是直接安装到服务器上去&#xff0c;过程繁琐也许不是难以接受&#xff0c;但是有更简单地Docker镜像服务&#xff0c;我自然没必要再次舍近求远。 一些配置是参考自我以前的文章Docker系列一安装Docker和Hexo历险记…

影片自由,丝滑流畅,Docker容器基于WebDav协议通过Alist挂载(百度网盘/阿里云盘)Python3.10接入

使用过NAS(Network Attached Storage)的朋友都知道&#xff0c;它可以通过局域网将本地硬盘转换为局域网内的“网盘”&#xff0c;简单理解就是搭建自己的“私有云”&#xff0c;但是硬件和网络成本都太高了&#xff0c;有点可望而不可及的意思。Alist开源库则可以满足我们&…

Docker+Nginx+KeepaLived实现Nginx一主一从高可用

系统版本 Centos7 IP&#xff1a;10.10.11.79 Master IP&#xff1a;10.10.11.81 Slave 虚拟ip&#xff1a;10.10.11.77 客户端发起一个请求 &#xff0c;请求没有到Nginx的实际IP上&#xff0c;而是请求的虚拟IP(会和实际IP通过配置文件进行绑定&#xff09; 如果有一台Nginx…

Linux进阶(Shell编程学习一)

由于shell脚本在java项目运维方面极其重要&#xff0c;比如服务的启动脚本&#xff0c;日志的分割脚本&#xff0c;文件的管理脚本大多都是shell脚本去实现的。所以作为java开发者懂linux的基本命令&#xff0c;会基本的shell编程是必要的。 Shell 是一个用 C 语言编写的程序&…

nodejs+vue学生考试成绩数据分析与可视化系统vscode

目 录 摘 要 I ABSTRACT II 目 录 II 第1章 绪论 1 1.1背景及意义 1 1.2 国内外研究概况 1 1.3 研究的内容 1 第2章 相关技术 3 2.1 nodejs简介 4 2.3 B/S结构 4 2.4 MySQL数据库 4 第3章 系统分析 5 3.1 需求分析 5 3.2 系统可行性分析 5 3.2.1技术可行性&#xff1a;技术背景…

springboot 集成driud

druid官方文档导入jar包<dependency><groupId>com.alibaba</groupId><artifactId>druid-spring-boot-starter</artifactId><version>${druid-spring.version}</version></dependency>配置数据源spring:datasource:url: jdbc:m…

什么是销售管理?销售管理的五大职能

销售管理听起来很简单&#xff0c;似乎只是负责销售并确保客户满意&#xff0c;但事实上&#xff0c;它远不止于此。 销售管理的实际职能包括监督销售团队的工作&#xff0c;制定计划和设定目标&#xff0c;通常还包括确保销售流程的效率以获得最佳业务结果。 什么是销售管理…