博客
关于我
gbdt子采样参数的理解
阅读量:321 次
发布时间:2019-03-03

本文共 715 字,大约阅读时间需要 2 分钟。

随机森林和GBDT的子采样机制有着不同的实现方式,这一点在理解它们的工作原理时非常重要。

随机森林采用的子采样方式是有放回的。这意味着在每次抽取样本时,抽取的样本可能包含重复的数据。最极端的情况下,所有样本都可能被抽中。这种方式的优势在于可以确保每棵随机森林的训练过程都能充分利用原始数据集的完整信息,尤其在样本量较小的情况下。

GBDT(梯度提升树)采用的子采样方式则是无放回的。这意味着在训练每一棵决策树时,抽取的样本不会重复使用。例如,如果原始数据集包含100个样本,GBDT在训练第一棵决策树时可能会抽取80个样本,训练第二棵树时则会从剩下的20个样本中抽取,这样每棵树都会基于不同的样本集进行训练。

对于GBDT而言,这种无放回的抽样方式意味着每棵决策树都会基于不同的样本集进行训练,这种机制可以有效地增加模型的多样性。然而,这也意味着GBDT的每棵树都需要在不同的训练数据集上进行训练,这种特性可能会让一些人对其工作机制感到困惑。

一个常见的误解是认为GBDT的子采样是基于整体样本集进行的抽样,且每次抽样都遵循一定的比例(如80%或20%)。这可能会导致对GBDT的理解出现偏差,因为人们可能会认为每棵树都基于同一个整体样本集进行抽样,而实际上,GBDT的每棵树都基于独立的子样本集进行训练。

因此,正确的理解应该是GBDT的子采样是针对每一次抽取样本的。每棵决策树都会从原始数据集中独立地抽取样本,而不是基于之前抽取的样本集。这与随机森林的有放回抽样机制有着本质的区别。

通过这种方式,GBDT可以在每棵决策树中都充分利用原始数据集的信息,同时避免了样本之间的重复使用,这种机制也为模型的多样性和鲁棒性提供了支持。

转载地址:http://gsgm.baihongyu.com/

你可能感兴趣的文章
Python 入门开发学习笔记之数据的增删改查
查看>>
Python 入门教程(2)搭建环境 2.4、VSCode配置Node.js运行环境
查看>>
Python 内存管理
查看>>
Python 内嵌函数:它们有什么用处?
查看>>
python 利用pyttsx3文字转语音
查看>>
Python 基础语法:基本数据类型(一)
查看>>
Python 基础语法:基本数据类型(字典)
查看>>
Python 基础语法:基本数据类型(集合)
查看>>
python 堆排序
查看>>
python 复习计划
查看>>
Python 多处理 apply_async 永远不会在 Windows 7 上返回结果
查看>>
Python 多处理 Numpy 随机
查看>>
Python 多处理 >= 125 列表永远不会完成
查看>>
Python 多处理:在第一个子错误时中止映射
查看>>
Python 多处理不断产生 pythonw.exe 进程而不做任何实际工作
查看>>
Python 多处理从不加入
查看>>
Python 多处理如何优雅地退出?
查看>>
Python 多处理将子进程的标准输出重定向到 Tkinter 文本
查看>>
Python 多处理库错误(AttributeError:__exit__)
查看>>
Python 多处理模块的 .join() 方法到底在做什么?
查看>>