首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >GOSS (基于梯度的单边抽样)背后的数学?

GOSS (基于梯度的单边抽样)背后的数学?
EN

Data Science用户
提问于 2019-12-02 09:01:46
回答 2查看 2.4K关注 0票数 6

根据我的理解,通过书籍和谷歌搜索,

基于梯度的单边采样是一种基于梯度对实例进行降采样的新方法。如我们所知,小梯度的例子训练得很好(小训练误差),而大梯度的例子训练不足。一种简单的下采样方法是通过只关注具有较大梯度的实例来丢弃具有小梯度的实例,但这会改变数据分布。简而言之,GOSS保留具有大梯度的实例,而对小梯度的实例执行随机抽样。来源

LightGBM采用一种新的基于梯度的单边采样(GOSS)技术来过滤数据实例以求出一个分割值,而XGBoost则使用预排序算法&基于直方图的算法来计算最佳分割。

谁能解释一下戈斯背后的数学吗?

EN

回答 2

Data Science用户

发布于 2020-05-04 15:20:45

票数 1
EN

Data Science用户

发布于 2022-12-10 07:29:05

GOSS是在LightGBM中使用的一种技术,用于选择用于训练梯度增强模型的数据子集。它首先根据损失函数相对于当前模型的梯度对训练数据进行排序,然后根据这些梯度的大小选择数据的子集。

为了更详细地理解GOSS背后的数学,首先回顾一下梯度提升背后的一些关键概念是有帮助的。在梯度增强中,通过迭代增加弱学习者(如决策树)对模型进行训练,使每个新的学习者接受关于先前学习者的残差的训练。此过程一直持续到模型达到预定义的停止标准为止。

在每次迭代中,GOSS根据损失函数相对于当前模型的梯度选择训练数据的子集。

具体而言,GOSS使用两个步骤来确定数据实例的子集,以考虑拆分点:

  1. 对于每个数据实例,该算法计算其梯度并将其添加到排序列表中。然后将该列表分为两部分:顶部(即最大的) K梯度和底部(即最小的) N-K梯度。顶部K梯度被认为是大梯度,而底部N-K梯度被认为是小梯度。
  2. 对于较大的梯度,该算法包括数据实例子集中的所有对应数据实例,以考虑拆分点。对于小梯度,该算法随机采样一定数量的数据实例,并将其包含在子集中。要抽样的数据实例的数量由一个名为袋分数的参数决定。

总之,GOSS背后的基本思想是以一种考虑损失函数相对于模型所作预测的梯度的方式对实例进行采样。这是通过保留一定百分比的具有最大梯度的实例来完成的,同时随机抽样其余的实例。这使得该模型能够将重点放在对培训更为重要的实例上,同时仍然保持一个多样化的培训集。

GOSS算法的具体细节可以在LightGBM的文章中找到,这里有:轻型策:一种高效的梯度提升决策树。具体而言,GOSS算法在本文3.3节中作了介绍。

票数 0
EN
页面原文内容由Data Science提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://datascience.stackexchange.com/questions/64078

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档