随机森林、XGBoost

目录

一、树的集成:

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

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

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

2.什么是树的集成:

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

具体算法如下:

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

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

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

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

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

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

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

三、树的集成优化:XGBoost:

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

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

相关推荐
WolfGang007321几秒前
代码随想录算法训练营 Day20 | 回溯算法 part02
算法
YXXY3133 分钟前
前缀和算法
算法
客卿1234 分钟前
滑动窗口--模板
java·算法
_日拱一卒21 分钟前
LeetCode:滑动窗口的最大值
数据结构·算法·leetcode
codeの诱惑32 分钟前
推荐算法(一):数学基础回顾——勾股定理与欧氏距离
算法·机器学习·推荐算法
落樱弥城32 分钟前
Vulkan Compute 详解
算法·ai·图形学
codeの诱惑33 分钟前
推荐算法(三):余弦定理和余弦相似度的关系及公式推导
人工智能·机器学习·推荐算法
Book思议-34 分钟前
【数据结构】字符串模式匹配:暴力算法与 KMP 算法实现与解析
数据结构·算法·kmp算法·bf算法
客卿1231 小时前
动态规划--模板--完全背包
算法·动态规划
L-影1 小时前
下篇:一棵树能长成多少种样子?——AI中决策树的类型与作用,以及它凭什么活了六十年还没过气
人工智能·算法·决策树·ai