以下是机器学习提升方法的三种主要类型:1、自适应提升方法,是最早开发的提升方法之一;2、梯度提升方法,这也是一种顺序训练技术,因此在这方面与 AdaBoost 相似;3、极限梯度提升,该方法可以通过多种方式提高梯度提升方法的计算速度和规模方法。
一、提升方法有哪些类型?
以下是提升方法的三种主要类型:
1、自适应提升方法
自适应提升方法 (AdaBoost) 是最早开发的提升方法之一。它会在提升过程的每次迭代中适应并尝试自我更正。
AdaBoost 首先会为每个数据集赋予相同权重。然后,它会在每个决策树之后自动调整数据点的权重。它将为错误分类的项目赋予更高权重,以便在下一轮更正它们。它将重复该过程,直到残差或实际值与预测值之差低于可接受的阈值为止。
您可以将 AdaBoost 与许多预测器配合使用,它通常不像其他提升算法那样敏感。当特征或高数据维度之间存在相关性时,此方法效果不佳。总体而言,AdaBoost 是一种适用于分类问题的增强方法类型。
2、梯度提升方法
梯度提升方法 (GB) 也是一种顺序训练技术,因此在这方面与 AdaBoost 相似。AdaBoost 与 GB 之间的区别在于,GB 不会为错误分类的项目赋予更高权重。相反,GB 软件将通过按顺序生成基本学习器来优化损失函数,使得当前基本学习器总是比前一个更有效。这种方法将尝试在最初就生成准确结果,而不是像 AdaBoost 那样在整个过程中不断更正错误。因此,GB 软件可以得出更准确的结果。梯度提升方法可以帮助解决基于分类和回归的问题。
3、极限梯度提升方法
极限梯度提升方法 (XGBoost) 可以通过多种方式提高梯度提升方法的计算速度和规模。XGBoost 可以使用 CPU 上的多个核心,从而可在训练过程中并行进行学习。它是一种提升算法,可以处理广泛的数据集,使其对于大数据应用程序很有吸引力。XGBoost 的关键特征包括并行化、分布式计算、缓存优化和核外处理。
二、如何在提升方法中完成训练?
训练方法因提升过程(称为提升算法)的类型而异。但是,算法会采用以下一般步骤来训练提升模型:
步骤 1
提升算法为每个数据样本分配相等的权重。它会将数据馈送到第一个机器模型中,称为基本算法。基本算法针对每个数据样本进行预测。
步骤 2
提升算法将评估模型预测,并提高具有更显著错误的样本的权重。它还将根据模型性能分配权重。输出精准预测的模型将对最终决策具有很大的影响力。
步骤 3
该算法会将加权数据传递给下一个决策树。
步骤 4
该算法将重复步骤 2 和步骤 3,直到训练错误的实例数量低于某一阈值为止。