随机森林、XGBoost

目录

一、树的集成:

1.单一决策树模型的缺陷:

使用单个决策树的缺点是该决策树可能会对数据中的微小变化高度敏感

如上图所示,仅仅改变数据集中的一个样本,会导致决策树模型根结点选取不同的特征,从而产生一棵完全不同的树,这使得该模型缺乏健壮性

2.什么是树的集成:

利用单一决策树的缺陷,通过改变数据集来训练多棵不同的决策树模型 ,将多个决策树模型进行集成作为最终模型。在预测阶段将特征同时输入多棵决策树中,最终预测结果由多棵决策树投票决定。

具体算法如下:

3.树的集成中如何构建多个训练集:

为了集成树,需要训练多个决策树模型。通过构建多个训练集来训练多个不同的决策树模型。

对于原始训练集,采用有放回随机抽样 的方式来构建多个训练集,其中每个训练集中样本的数目与原始训练集相同

二、树的集成优化:随机森林:

随机对树的集成中结点的特征选择方式进行了改进,具体来说

相比于上述算法,随机森林注意到了如果构建的训练集过于相似有可能造成两棵决策树相同,为了避免这种情况,随机森林进行了如下改动来进一步随机化使得每棵决策树之间彼此不同,进而得到更加精确的模型:

即在决策树训练过程中结点的特征选择时增加了随机化属性,原来可以在所有特征中计算信息增益选择最终特征,现在只能在随机选取的k个特征中计算信息增益选择最终特征。

三、树的集成优化:XGBoost:

XGBoost对树的集成中训练集的构建方式进行了改进,具体来说:

在XGBoost中,每次训练新的决策树时,会结合之前已经训练好的所有决策树的预测结果(将原始训练集依次输入之前训练好的所有决策树中执行预测),记录各个决策树预测失败的样本。新的决策树在选取样本组成训练集的时候会有更高的概率选中那些之前决策树预测失败的样本。

相关推荐
_清歌4 小时前
DSpark 深度解读:DeepSeek-V4 如何用「半自回归」把推理速度提升 85%
算法
统计实现局4 小时前
SVD 的三步走:双对角化、Givens 收敛、排序
算法
躬行见万象4 小时前
《VLA 系列》UniLab 强化训练 | G1 机器人 |复现
算法
统计实现局4 小时前
对称不定分解(Bunch-Kaufman):为什么 Cholesky 不够用
算法
统计实现局4 小时前
dqrsl 拆解:拿着 QR 结果能算出哪 5 种东西
算法
统计实现局4 小时前
为什么 Cholesky 求逆比 Gauss-Jordan 快一倍——行列式溢出防护详
算法
To_OC16 小时前
LC 994 腐烂的橘子:人人都说是 BFS 入门题,我却写了三遍才过
javascript·算法·leetcode
金銀銅鐵19 小时前
[Python] 扩展欧几里得算法
python·数学·算法
To_OC1 天前
LC 200 岛屿数量:经典 DFS 入门题,我第一次写居然连方向都搞错了
javascript·算法·leetcode