专栏名称: 机器学习研究会
机器学习研究会是北京大学大数据与机器学习创新中心旗下的学生组织,旨在构建一个机器学习从事者交流的平台。除了及时分享领域资讯外,协会还会举办各种业界巨头/学术神牛讲座、学术大牛沙龙分享会、real data 创新竞赛等活动。
目录
相关文章推荐
宝玉xp  ·  回复@一果阿:全篇内容纯手打的 ... ·  2 天前  
爱可可-爱生活  ·  【SimpleAutomation:开源机器 ... ·  3 天前  
爱可可-爱生活  ·  [LG]《Weak to Strong ... ·  4 天前  
宝玉xp  ·  //@赏味不足://@赵脱俗:太好了//@凯 ... ·  4 天前  
51好读  ›  专栏  ›  机器学习研究会

【学习】Kaggle老手领你入门梯度提升——梯度提升两三事

机器学习研究会  · 公众号  · AI  · 2017-03-01 20:46

正文


点击上方“机器学习研究会”可以订阅哦
摘要
 

转自:云栖社区

梯度提升方法(Gradient Boosting)在众多机器学习竞赛中有着广泛的应用。本文介绍了梯度提升的基本概念,并结合实例讨论了梯度提升方法在实践中应用。

如果我们把线性回归比作丰田凯美瑞,那么梯度提升就好比UH-60黑鹰直升机。XGBoost,一个梯度提升的具体实现,在Kaggle社区中被广泛应用于各类机器学习竞赛。然而不幸的是,许多使用者(包括从前的我)把梯度提升当做一个黑盒来使用。在一些数据科学家的博客当中,也提出了很多对梯度提升的批评。因此,本篇文章的目的在于直观且全面地介绍经典的梯度提升方法。

前期准备

本文将从一个简单的示例开始。我们希望根据一个人是否玩视频游戏、是否喜欢园艺以及戴帽子时的特点来判断这个人的年龄。我们的目标是最小化均方误差。我们总共有九个训练样本来构建模型。

 

直观地说,我们可能希望

  • 喜欢园艺的人年纪可能比较大

  • 喜欢视频游戏的人可能比较年轻

  • 对帽子的喜好可能对年龄的预测没有帮助

我们可以快速粗略地检测训练数据,看看这些假设是否成立:

 现在,让我们使用回归树对数据进行建模。首先,我们要求回归树的叶子节点至少有三个样本数据。考虑到这一点,回归树只会根据"LikesGardening"这个特征进行一次划分。

 

这样做很好,但是这种做法忽略了"PlaysVideoGames"特征中包含的宝贵信息。我们可以尝试让回归树的叶子节点保留两个样本数据。

 

在这里,我们综合考虑"PlaysVideoGames"以及"LikesHats"特征中蕴含的信息,这些信息表明我们的模型陷入了过拟合,回归树的属性划分受到了随机噪声的影响。

此时,使用单一决策/回归树的缺点就暴露出来了——在整个特征空间中,我们无法对多个彼此重叠的区域进行预测。假设我们计算第一棵回归树的训练误差。

 

现在,我们可以根据第一棵回归树的残差构建另一棵回归树。

注意,尽管前面过拟合的回归树考虑了"LikesHats"特征,但是这个模型并没有考虑这个特征。这是因为,与过拟合的回归树不同,第二棵回归树能够结合所有训练样本,综合考虑"LikesHats"特征与"PlaysVideoGames"特征的信息。而过拟合回归树仅考虑了输入空间中小范围内的特征信息,进而允许随机噪声选择"LikesHats"作为划分特征。


原文链接:

https://yq.aliyun.com/articles/71144

“完整内容”请点击【阅读原文】
↓↓↓