随机森林、XGBoost

目录

一、树的集成:

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

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

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

2.什么是树的集成:

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

具体算法如下:

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

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

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

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

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

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

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

三、树的集成优化:XGBoost:

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

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

相关推荐
I_belong_to_jesus6 小时前
C++关于分支预测的优化1
开发语言·c++·算法
伞伞悦读8 小时前
【第83期】特征选择中的验证泄漏排查的实验与排查
人工智能·深度学习·机器学习
一只废狗狗狗狗狗狗狗狗狗9 小时前
自监督式学习
人工智能·深度学习·机器学习·bert
Code_Solitude13 小时前
C语言动态内存 + 柔性数组 + 数组名退化
c语言·算法·柔性数组
上海潭龙东海科技有限公司13 小时前
客运站管控之动态孪生技术方案(新增一屏管控模块
数据仓库·人工智能·算法·重构·动态规划
lisw0515 小时前
迁移学习(Transfer Learning):概念、历史、内容、挑战与展望
人工智能·机器学习·迁移学习
YLCHUP15 小时前
【思维&图论建模】题解:债权(debt)_图论_建模_思路转化_思维题目_C++算法竞赛
c++·笔记·算法·数学建模·贪心算法·深度优先·图论
思麟呀16 小时前
背包DP(01背包+完全背包)
c++·算法
笑容掩饰我的失落17 小时前
区块链从小白到精通(七):Solidity 语法精讲——数据类型、函数、修饰器与事件
算法·区块链·php·智能合约·哈希算法