什么是机器学习中的提升(Boosting)?
提升是机器学习中的一种技术,通过训练多个算法使其协同工作,以提高准确性、减少偏差和方差。当这些算法协调其结果时,它们被称为集成(ensemble)。提升的主要思想是迭代地在训练数据的不同子集上训练弱模型;后续模型专注于前一模型难以分类的示例。通过这种方式,提升旨在逐步提高模型的整体预测准确性。
提升通过逐步从错误中学习并专注于具有挑战性的示例,与其他集成方法区别开来。每个算法单独看作是一个弱学习器,因为它们单独无法做出准确预测。例如,一个基于突出的鼻子判断是否为狗的算法可能会误将哈巴狗识别为猫。
机器学习是什么以及它如何工作?深入指南
- 还包括:
- 机器学习的不同类型解释
- 如何用7个步骤构建机器学习模型
- CNN vs. RNN:它们有何不同?
Marinela Profi
当一个擅长检测鼻子的算法与擅长检测其他狗特征(如毛皮、腿或耳朵)的算法结合时,集成在区分所有种类的狗方面效果更好。
提升是如何工作的?
提升过程主要以序列化方式工作。在每一步的过程中逐步进行调整,然后再进入下一个算法。然而,像XGBoost这样的方法会并行训练所有算法,然后在下一步更新集成。每次迭代时,弱学习器会适应训练数据,并调整权重以优先考虑被错误分类的样本。
图1:如图所示,模型通过学习错误分类样本和结合弱学习器的迭代过程来改进。
为什么提升很重要?
提升的重要性在于它使数据科学家能够开发出对不同类型数据具有鲁棒性的模型。通过专注于困难的示例,提升有助于处理复杂的决策边界并捕捉数据中的复杂模式。此外,提升不容易过拟合,特别是在处理噪声或不平衡数据集时。
机器学习中不同类型的提升
机器学习中有多种提升方法,但最流行的三种包括:
- AdaBoost是一种自适应提升技术,根据每个(弱学习器)算法的成功调整数据权重,并传递给下一个弱学习器以进行校正。
- 梯度提升是一种流行技术,根据前一个算法中的错误动态创建新算法。
- XGBoost一次并行训练一组算法,然后调整权重并反馈给所有算法以提高整体准确性。
提升的好处
提升的主要好处包括:
- 可以使用许多常见算法中的超参数调优选项。
- 可以减少单个算法的偏差。
- 可以减少做出决策或预测所需的变量或维度,从而加快计算速度。
提升的缺点
尽管提升是将弱学习器转变为强学习器的强大工具,但它也有一些缺点:
- 在某些情况下,提升可能会导致数据过拟合,难以扩展到新用例。
- 提升的顺序特性使其难以扩展或进行实时分析。
- 在处理超出常规的异常值时,准确性可能会受到影响。
提升与袋装(Bagging)
提升是使多个独立算法协同工作的一种工具。另一种流行的集成技术是袋装,它通过并行协调多个较弱的算法来改进模型的性能。训练数据被分割,每个模型并行训练,然后将结果组合成一个更强的模型。
Bret Greenstein
袋装和提升的主要区别在于独立的训练策略。此外,它们在采样训练数据和将模型结果组合成单一预测的策略上也有区别。
不同产业中提升的实例
提升广泛应用于各个行业,以改进机器学习集成的性能。
Mona Chadha
提升常用于分类任务、客户流失预测、欺诈检测和预测活动效果。
提升算法能够产生更准确的预测、个性化推荐和改进的决策,这在许多行业中非常有用。
例如,在金融行业中,提升算法被用于信用评分、欺诈检测和股市预测。在电子商务中,提升有助于个性化推荐和客户细分,使企业能够提供有针对性的广告并提高客户满意度。
提升在医疗保健中的应用也很重要,如疾病诊断和患者风险评估。通过使用提升算法,医疗专业人员可以做出更明智的决策并改善患者的治疗结果。