深度神经网络——什么是梯度提升?

在数据科学竞赛中,梯度提升模型(Gradient Boosting)是一种非常强大的工具,它能够将多个弱学习模型组合起来,形成一个强学习模型。这个过程是通过逐步添加弱学习者来实现的,每个新加入的弱学习者都专注于当前整体模型的弱点,从而逐步提高预测的准确性。

什么梯度提升

这里先介绍梯度提升原理,而无需深入其背后的复杂数学。一旦掌握了梯度提升在宏观层面的运作原理,再进一步探索那些支撑其强大功能的数学基础。

首先,让我们来定义一下"提升"学习者的含义。通过巧妙地调整学习模型的特性,即便是表现平庸的弱学习器也能蜕变为一个强大的预测者。那么,究竟是哪些学习算法在接受这种提升呢?

Boosting模型的魔法在于它能够增强另一种常见的机器学习模型------决策树。

决策树通过将数据集细分为越来越小的片段来构建模型,直至每个子集无法进一步划分,最终形成一棵由节点和叶子组成的树。在决策树中,节点代表了基于不同过滤标准对数据点进行决策的点,而叶子则是已经分类的数据点。决策树算法能够处理数值型数据和分类数据,树中的每个分割都是基于特定的变量或特征进行的。

一种著名的Boosting算法是AdaBoost算法。AdaBoost算法首先训练一个决策树模型,并为每个观察值分配相同的权重。在评估了第一棵树的准确性之后,它会调整不同观察值的权重,降低那些易于分类的观察值的权重,同时增加那些难以分类的观察值的权重。然后,使用这些调整后的权重创建第二棵树,目的是使第二棵树的预测比第一棵树更加精确。

此时,模型由原始树和新树(即树1 + 树2)的预测组成。再次基于新模型评估分类精度,然后根据模型计算出的误差创建第三棵树,并再次调整权重。这个过程会持续进行,直到达到预定的迭代次数。最终,我们得到的是一个集成模型,它综合了所有之前构建的树的预测,形成一个加权和。

虽然上述过程使用了决策树和基础预测器/模型,但实际上可以使用多种模型(例如许多标准分类器和回归器模型)来执行这种增强方法。关键的理解点在于,后续的预测器会从前一个预测器所犯的错误中学习,并且这些预测器是按照顺序创建的。

增强算法的一个主要优势是,与其他机器学习模型相比,它们在找到当前预测时所需的时间更少。然而,使用增强算法时需要谨慎,因为它们存在过度拟合的风险。

通过这种润色,我们希望您能对梯度提升有一个更直观的理解,并激发您进一步探索这一领域的兴趣。

梯度提升

我们现在来看看最常见的增强算法之一。 梯度提升模型 (GBM) 以其高精度而闻名,它们增强了 AdaBoost 中使用的一般原理。

梯度提升模型和 AdaBoost 之间的主要区别在于 GBM 使用不同的方法来计算哪些学习者错误识别了数据点。 AdaBoost 通过检查权重较大的数据点来计算模型表现不佳的地方。 同时,GBM 使用梯度来确定学习者的准确性,将损失函数应用于模型。 损失函数是一种衡量模型在数据集上的拟合准确性、计算误差并优化模型以减少误差的方法。 GBM 允许用户根据其期望的目标优化指定的损失函数。

采用最常见的损失函数------ 均方误差 - 举个例子, 梯度下降用于根据预定义的学习率更新预测,旨在找到损失最小的值。

为了更清楚一点:

新模型预测=输出变量-旧的不完美预测。

从更统计学的角度来看,GBM 的目标是在模型残差中找到相关模式,调整模型以适应该模式并使残差尽可能接近于零。 如果您要对模型的预测进行回归,残差将分布在 0 附近(完美拟合),并且 GBM 会在残差中查找模式并围绕这些模式更新模型。

换句话说,更新预测以使所有残差之和尽可能接近 0,这意味着预测值将非常接近实际值。

请注意,GBM 可以使用多种其他损失函数(例如对数损失)。 上面选择 MSE 是为了简单起见。

梯度提升模型的变体

梯度提升模型是贪婪算法,很容易在数据集上过度拟合。 这可以通过以下方法来防范 几种不同的方法 可以提高 GBM 的性能。

GBM 可以通过四种不同的方法进行调节:收缩、树约束、随机梯度提升和惩罚学习。

收缩

如前所述,在 GBM 中,预测以顺序方式汇总在一起。 在"收缩"中,每棵树对总和的添加都会进行调整。 应用权重会减慢算法的学习速度,从而需要向模型中添加更多树,这通常会提高模型的鲁棒性和性能。 代价是模型需要更长的时间来训练。

树约束

通过各种调整来约束树,例如增加树的深度或增加树中节点或叶子的数量,可以使模型更难过度拟合。 对每次分割的最小观察数施加限制也有类似的效果。 再次强调,代价是模型的训练时间会更长。

随机抽样

可以根据训练数据集随机选择的子样本,通过随机过程创建个体学习器。 这具有减少树之间的相关性的效果,从而防止过度拟合。 可以在创建树之前或考虑树的分割之前对数据集进行二次采样。

惩罚性学习

除了通过限制树的结构来约束模型之外,还可以使用回归树。 回归树的每个叶子都附加有数值,这些数值充当权重,并且可以使用常见的正则化函数(如 L1 和 L2 正则化)进行调整。

相关推荐
说私域几秒前
基于开源AI智能名片链动2+1模式S2B2C商城小程序的“互相拆台”式宣传策略研究
人工智能·小程序·开源·零售
sbc-study3 分钟前
生成对抗网络(Generative Adversarial Networks ,GAN)
人工智能·神经网络·生成对抗网络
m0_6206078116 分钟前
机器学习——集成学习基础
人工智能·机器学习·集成学习
weixin_5498083644 分钟前
如何使用易路iBuilder智能体平台快速安全深入实现AI HR【实用帖】
人工智能·安全
EasyDSS1 小时前
WebRTC技术下的EasyRTC音视频实时通话SDK,助力车载通信打造安全高效的智能出行体验
人工智能·音视频
jndingxin2 小时前
OpenCV CUDA模块中逐元素操作------数学函数
人工智能·opencv·计算机视觉
暴龙胡乱写博客2 小时前
机器学习 --- KNN算法
人工智能·算法·机器学习
极新2 小时前
极新携手火山引擎,共探AI时代生态共建的破局点与增长引擎
人工智能·火山引擎
是麟渊2 小时前
【大模型面试每日一题】Day 17:解释MoE(Mixture of Experts)架构如何实现模型稀疏性,并分析其训练难点
人工智能·自然语言处理·面试·职场和发展·架构
Poseidon、3 小时前
2025年5月AI科技领域周报(5.5-5.11):AGI研究进入关键验证期 具身智能开启物理世界交互新范式
人工智能·agi