博客
关于我
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/

你可能感兴趣的文章
Objective-C实现markov chain马尔可夫链算法(附完整源码)
查看>>
Objective-C实现MATLAB中Filter函数功能(附完整源码)
查看>>
Objective-C实现matrix chainorder矩阵链顺序算法(附完整源码)
查看>>
Objective-C实现matrix exponentiation矩阵求幂算法(附完整源码)
查看>>
Objective-C实现MatrixMultiplication矩阵乘法算法 (附完整源码)
查看>>
Objective-C实现max non adjacent sum最大非相邻和算法(附完整源码)
查看>>
Objective-C实现max subarray sum最大子数组和算法(附完整源码)
查看>>
Objective-C实现max sum sliding window最大和滑动窗口算法(附完整源码)
查看>>
Objective-C实现MaxHeap最大堆算法(附完整源码)
查看>>
Objective-C实现MaximumSubarray最大子阵列(Brute Force蛮力解决方案)算法(附完整源码)
查看>>
Objective-C实现MaximumSubarray最大子阵列(动态规划解决方案)算法(附完整源码)
查看>>
Objective-C实现maxpooling计算(附完整源码)
查看>>
Objective-C实现max_difference_pair最大差异对算法(附完整源码)
查看>>
Objective-C实现max_heap最大堆算法(附完整源码)
查看>>
Objective-C实现MD5 (附完整源码)
查看>>
Objective-C实现md5算法(附完整源码)
查看>>
Objective-C实现MeanSquareError均方误差算法 (附完整源码)
查看>>
Objective-C实现median filter中值滤波器算法(附完整源码)
查看>>
Objective-C实现memcmp函数功能(附完整源码)
查看>>
Objective-C实现memcpy函数功能(附完整源码)
查看>>