什么是数据挖掘中的提升?2025年3月17日 | 阅读 8 分钟 提升是一种集成学习方法,它将一组弱学习器组合成强学习器,以最小化训练误差。在提升中,会随机抽取一部分数据,用模型拟合,然后进行顺序训练。也就是说,每个模型都试图弥补其前一个模型的弱点。每个分类器的弱规则在每次迭代中都会被组合起来,形成一个严格的预测规则。 提升是一种将弱学习器转换为强学习器的有效算法。它们通过加权平均值和更高的投票值来利用弱学习器和强学习器之间的对话进行预测。这些算法使用决策桩(decision stamp)和保证金最大化分类(margin maximizing classification)进行处理。 ![]() 目前有三种可用的算法:AdaBoost(自适应提升算法)、Gradient Boosting(梯度提升)和XG Boosting(XGBoost)算法。这些是遵循训练过程来预测和微调结果的机器学习算法。 示例 让我们通过以下示例来理解这个概念。以电子邮件为例。您将如何识别您的电子邮件,它是垃圾邮件还是非垃圾邮件?您可以通过以下条件来识别:
上述规则不足以识别垃圾邮件或非垃圾邮件;因此,这些规则被称为弱学习器。 为了将弱学习器转换为强学习器,可以使用以下方法组合弱学习器的预测:
考虑上述5条规则,有3票支持垃圾邮件,2票支持非垃圾邮件。由于垃圾邮件的投票数较高,我们将其视为垃圾邮件。 为什么要使用提升?为了解决复杂的问题,我们需要更先进的技术。假设有一个包含猫狗图像的数据集,您被要求构建一个模型来将这些图像分类为两个不同的类别。和每个人一样,您将开始使用以下规则来识别图像:
这些规则帮助我们识别图像是狗还是猫。然而,如果仅根据单个规则来分类图像,预测可能会有误。这些规则被称为弱学习器,因为它们不足以将图像分类为猫或狗。 因此,为了确保我们的预测更准确,我们可以结合弱学习器的预测,使用多数投票规则或加权平均。这构成了强学习器模型。 在上面的例子中,我们定义了5个弱学习器,其中大多数规则(即5个学习器中有3个预测图像为猫)得出了图像是猫的预测。因此,我们的最终输出是猫。 提升算法是如何工作的?提升算法工作基本原理是生成多个弱学习器,并将它们的预测组合成一个严格的规则。这些弱规则是通过在数据集的不同分布上应用基础机器学习算法来生成的。这些算法在每次迭代中生成弱规则。经过多次迭代后,弱学习器被组合成一个强学习器,该学习器将做出更准确的预测。 ![]() 算法工作流程如下: 步骤 1:基础算法读取数据,并为每个样本观测分配相等的权重。 步骤 2:识别基础学习器产生的错误预测。在下一次迭代中,这些错误预测将分配给下一个基础学习器,并赋予更高的权重。 步骤 3:重复步骤 2,直到算法能够正确分类输出。 因此,提升的主要目标是更多地关注被错误分类的预测。 提升的类型提升方法侧重于迭代地组合弱学习器来构建一个能够做出更准确预测的强学习器。作为提醒,弱学习器在分类数据时比随机猜测略好。这种方法可以为预测问题提供稳健的结果,在某些任务上可以优于神经网络和支持向量机。 提升算法在顺序过程中如何创建和聚合弱学习器方面可能有所不同。三种流行的提升方法包括: 1.自适应提升或AdaBoost:此方法进行迭代操作,识别被错误分类的数据点并调整它们的权重以最小化训练误差。模型持续顺序优化,直到产生最强的预测器。 AdaBoost通过将几个弱学习器组合成一个强学习器来实现。AdaBoost中的弱学习器考虑单个输入特征,并绘制一个单次分裂的决策树,称为决策桩(decision stump)。在绘制第一个决策桩时,所有观测值被赋予相等的权重。 分析第一个决策桩的结果,如果任何观测值被错误分类,则为其分配更高的权重。通过考虑更高权重的观测值更重要,来绘制一个新的决策桩。再次,如果任何观测值被错误分类,它们将被赋予更高的权重,这个过程会一直持续,直到所有观测值都落入正确的类别。 AdaBoost可用于分类和回归问题。然而,它更常用于分类。 2.梯度提升(Gradient Boosting):梯度提升也基于顺序集成学习。这里的基学习器是顺序生成的,因此当前基学习器始终比前一个更有效,即整体模型随着每次迭代顺序改进。 这种提升类型的不同之处在于,错误分类结果的权重不会递增。相反,梯度提升方法试图通过添加一个新模型来优化前一个学习器的损失函数,该模型添加弱学习器以减小损失函数。 这里的核心思想是克服前一个学习器预测中的错误。这种提升有三个主要组成部分:
与AdaBoost一样,梯度提升也可用于分类和回归问题。 3.极端梯度提升或XGBoost:XGBoost是一种高级梯度提升方法。XGBoost由陈天奇开发,属于分布式机器学习社区(DMLC)类别。 该算法的主要目标是提高计算的速度和效率。梯度下降提升算法由于按顺序分析数据集,因此计算速度较慢。因此,XGBoost用于增强或极大地提升模型的性能。 XGBoost旨在专注于计算速度和模型效率。XGBoost提供的主要功能包括: ![]()
提升的优点和挑战提升方法为分类或回归问题带来了许多优点和挑战。提升的优点包括:
提升的挑战包括:
提升的应用提升算法非常适合各行各业的广泛人工智能项目,包括:
下一主题什么是数据挖掘中的预测? |
我们请求您订阅我们的新闻通讯以获取最新更新。