专栏名称: 朝阳35处
互联网金融大数据挖掘哪家强,平安前海征信帮你忙。分享数据挖掘和人工智能前沿技术,探讨其在风险控制、反欺诈等金融业务中的实际应用。每周涨点知识,多点谈资,定期举办行业沙龙。
目录
相关文章推荐
九章算法  ·  升到L6,谈谈今年的情况 ·  昨天  
南方人物周刊  ·  南周双订阅计划 | 满足一家人全年阅读需求 ·  昨天  
每日人物  ·  DeepSeek算命,带火一个大单品 ·  昨天  
算法爱好者  ·  清北 DeepSeek 教程"神仙打架",北 ... ·  昨天  
51好读  ›  专栏  ›  朝阳35处

从头了解Gradient Boosting算法

朝阳35处  · 公众号  ·  · 2018-01-08 17:06

正文

目的




虽然大多数Kaggle竞赛获胜者使用各种模型的叠加/集合,但是一个特定的模式是大部分集合的部分是梯度提升(GBM)算法的一些变体。以最新的Kaggle比赛获胜者为例:Michael Jahrer的解决方案是在安全驾驶的预测中的表示学习。他的解决方案是6个模型的混合。1 个LightGBM(GBM的变体)和5个神经网络。虽然他的成功归因于他为结构化数据发明的新的半监督学习,但梯度提升模型也发挥了作用。


尽管GBM被广泛使用,许多从业人员仍然将其视为复杂的黑盒算法,只是使用预建的库运行模型。这篇文章的目的是为了简化所谓复杂的算法,并帮助读者直观地理解算法。我将解释基本版本的梯度提升算法,并将在最后分享其不同的变体的链接。我已经从fast.ai库(fastai/courses/ml1/lesson3-rf_foundations.ipynb)取得了基本的DecisionTree代码,最重要的是,我建立了自己的简单版本的基本梯度提升模型。


关于Ensemble, Bagging 和 Boosting

的简要描述


当我们试图用任何机器学习技术来预测目标变量时,实际值和预测值的主要差异是噪声,方差和偏差。集成有助于减少这些因素。


一个集合只是一个汇集在一起(例如所有预测的平均值)来作出最终预测的预测器集合。我们使用集成的原因是许多不同的预测变量试图预测相同的目标变量将比任何单一的预测器完成的更好。集成技术进一步分为Bagging和Boosting。


Bagging是一个简单的集成技术,我们建立许多独立的预测变量/模型/学习者,并使用一些模型平均技术将它们结合起来。(例如加权平均数,多数票或正态平均数)。


我们通常对每个模型采用随机的子样本/bootstrap数据,因此所有模型彼此之间几乎没有差别。每个观察结果在所有模型中出现的概率相同。因为这种技术需要许多不相关的学习者做出最终的模型,所以通过减少方差来减少错误。Bagging集成的例子是随机森林模型。


Boosting是一种集成技术,其中预测变量不是独立的,而是按顺序进行的。


这种技术使用了后面的预测变量从之前的预测变量的错误中学习的逻辑。因此,观测值在后续模型中出现的概率是不相同的,而误差最大的出现最频繁。预测变量可以从一系列模型中选择,如决策树,回归量,分类器等等。因为新的预测变量是从以前的预测变量所犯的错误中学习的,所以需要更少的时间/次数来接近实际的预测。但是我们必须慎重选择停机判据,否则可能导致训练数据过度拟合。梯度提升是Boosting算法的一个例子。


图1.集成

图2. Bagging (独立模式) 和 Boosting (顺序模式).


参考:https://quantdare.com/what-is-the-ding-between-bagging-and-boosting /


梯度提升算法


在维基百科的定义中,梯度提升是一种用于回归和分类问题的机器学习技术,它以弱预测模型(通常是决策树)的集合的形式产生预测模型。


任何监督学习算法的目标是定义一个损失函数,并将其最小化。让我们看看梯度提升算法的数学运算。假设我们将均方根误差(MSE)定义为:



我们希望我们的预测,使我们的损失函数(MSE)最小。 通过使用梯度下降和基于学习速率更新我们的预测,我们可以找到MSE最小的值。


所以,我们基本上是更新预测,使我们的残差总和接近0(或最小),预测值足够接近实际值。








请到「今天看啥」查看全文


推荐文章
九章算法  ·  升到L6,谈谈今年的情况
昨天
每日人物  ·  DeepSeek算命,带火一个大单品
昨天
幽默与笑话集锦  ·  笑话:父亲和儿子之间的幽默对话····
7 年前