存根 什么是梯度提升? - 联合人工智能
关注我们.

AI 101

什么是梯度提升?

mm
更新 on

在数据科学竞赛中非常有用的一种常见机器学习模型是梯度提升模型。 梯度提升 基本上就是将弱学习模型转换为强学习模型的过程。 但这究竟是如何实现的呢? 让我们仔细看看梯度提升算法以及更好的 了解梯度提升模型如何 将弱学习者转变为强学习者。

定义梯度提升

本文旨在让您对梯度提升有一个很好的直觉,而不需要对算法背后的数学进行太多分解。 一旦您了解了梯度提升如何在高水平上运行,我们就会鼓励您更深入地探索使其成为可能的数学原理。

让我们首先定义“提升”学习者的含义。 通过调整学习模型的属性,弱学习器可以转变为强学习器。 到底是什么学习算法正在被提升?

Boosting 模型通过增强另一个常见的机器学习模型来工作, 决策树。

A 决策树 通过将数据集分割成越来越小的部分来实现模型功能,一旦子集无法进一步分割,结果就是一棵具有节点和叶子的树。决策树中的节点是使用不同过滤标准做出有关数据点的决策的地方。决策树中的叶子是已分类的数据点。决策树算法可以处理数值数据和分类数据,并且树中的分割基于特定的变量/特征。

增强模型训练方式的图示。
照片:SeattleDataBuy,来自 Wikimedia Commons,CC 4.0 (https://commons.wikimedia.org/wiki/File:Boosting.png)

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

该模型现在由原始树和新树(或树 1 + 树 2)的预测组成。 基于新模型再次评估分类精度。 根据计算出的模型误差创建第三棵树,并再次调整权重。 这个过程持续给定的迭代次数,最终的模型是一个集成模型,它使用所有先前构建的树所做的预测的加权和。

上述过程使用决策树和基本预测器/模型,但可以使用多种模型(例如许多标准分类器和回归器模型)来执行增强方法。 需要理解的关键概念是后续预测器从先前预测器所犯的错误中学习,并且预测器是按顺序创建的。

增强算法的主要优点是,与其他机器学习模型相比,它们找到当前预测所需的时间更少。 然而,在使用增强算法时需要小心,因为它们很容易过度拟合。

梯度提升

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

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

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

为了更清楚一点:

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

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

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

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

梯度提升模型的变体

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

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

收缩

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

树约束

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

随机抽样

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

惩罚性学习

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

博主和程序员,擅长 机器学习 深度学习 主题。 丹尼尔希望帮助其他人利用人工智能的力量造福社会。