到底什么是梯度提升
#####跟我一起学梯度提升
梯度提升是建立预测模型的一种强大技术。
####1.提升的起源
提升的思路来源于一个弱学习器是否能够被改良为更强的学习器。
弱假设/弱学习器——其猜测性能只比随机猜测稍好。
该研究的核心理念在于通过筛选观察样本并保留能够被弱学习器处理的样本来实现对后续阶段弱学习器的关注以解决剩下的难题。
####2.AdaBoost ——第一个提升算法
AdaBoost中的弱学习器采用的是单分裂决策树。
在提升过程中主要采用的方法是实施样本加权策略。具体而言,在难以分类的实例上赋予更高的权重,在较为容易处理的实例上给予较低的权重。
新型的弱学习器以一种有序的方式被依次地引入系统中,并重点针对上一步筛选出的那些难度较高的样本进行训练。
在机器学习模型中进行预测时,系统的推断结果基于多个弱学习器通过多数投票的方式得出。其中每个弱学习器的重要性程度与其分类精度直接相关。
####3.AdaBoost的推广
布赖曼最初在统计学框架内将AdaBoost及其他相关方法重新表述为电弧型算法。随后,在弗里曼的推动下这些方法演变为基于梯度的提升机制,并最终简化为广为人知的梯度提升与梯度树提升技术。
该统计框架将Boosting过程转化为数值优化问题,并通过基于梯度下降的方法添加弱学习器;其目标是尽可能减少模型的损失。
这类算法被称为分阶段累加模式的原因在于每次仅引入一个新的弱学习器,并且在后续阶段的学习中将现有的弱学习器固定下来。
推广后可以直接应用任意的可微损失函数,并从而能够扩展至回归分析以及多分类问题。
####4.梯度提升是如何工作的???
梯度提升的过程主要包含以下三个关键要素:损失函数、基 learner 以及加法模型;其中包含了损失函数、基 learner 以及加法模型这三个核心组件;其中包含了损失函数、基 learner 以及加法模型这三个核心组件;其中包含了损失函数、基 learner 以及加法模型这三个核心组件;其中包含了损失函数、基 learner 以及加法模型这三个核心组件;其中包含了损失函数、基 learner 以及加法模型这三个核心组件
###4.1损失函数
选择什么损失函数受制于实际问题该损失函数需要具有可微性多种常见的损失函数都可以使用只要满足可微条件时还可以根据需求自定义新的损失函数
可微——基于微积分原理的理解可知,在损失函数可微的情况下(即任何单个训练样本),都能够确保梯度向最小化损失方向进行轻微调整(从而使得所学模型具有较强的稳定性)。
###4.2弱学习器
决策树被称为一种在梯度提升模型中广泛使用的弱学习器。此外,在构建实值输出模型时,通常会采用回归_tree来划分节点,并在该节点上应用特定函数生成预测值。多个regression_tree的预测结果可以通过集成技术进行叠加处理,并且新增加入regression_tree能够通过后续训练逐步实现残差改进。
###4.3加法模型
通过前面所述可知,在分阶段累加模型中每一轮只会新增一棵树,并且已有树在后续学习过程中始终保持原有参数不变;为了能在后续阶段继续优化学习效果,在每一步骤中都需要满足梯度下降的条件。
从传统的角度来看,梯度下降方法旨在最小化一组参数,在机器学习中常见于优化回归系数。这些参数会朝着能够使模型预测结果与实际值差距最小的方向进行微调。我们可将其统称为参数化的梯度下降方法。
在组合学习领域中新增的弱学习器朝着使模型预测误差最小的方向发展。从宏观角度来看这种方法可被视为函数化梯度下降而从微观角度来看在这些新的弱学习器内部实施参数化的梯度下降。
####5.改进
梯度提升方法的核心是一种贪心算法,在训练数据集中容易出现过拟合现象;因此,在实际应用中必须采取适当的技术手段来防止过拟合,并且通过优化模型结构或增加正则项来减少测试误差。
原始梯度提升模型的几种改进——树约束、缩减、随机采样、惩罚学习
