爱吧机器人网 » 技术 > 机器学习 > 正文

机器学习集成算法:XGBoost思想

XGBoost和随机森林虽然用的基础模型都是决策树,但是它们在本质上是不同的,XGBoost是串行的组合决策树,也就是先有了第一个,然后根据某个算法计算出要不要第二棵树,如果要,才有了第二个,依次类推,不可能并行地同时处理3个;而随机森林是并行的组合,意思是可以并行计算,一次并行处理多个。

1、回顾
 
这几天推送了机器学习的降维算法,总结了特征值分解法,奇异值分解法,通过这两种方法做主成分分析(PCA)。大家有想了解的,可以参考:
 
数据预处理:PCA原理推导
 
数据降维处理:PCA之特征值分解法例子解析
 
数据降维处理:PCA之奇异值分解(SVD)介绍
 
数据降维:特征值分解和奇异值分解的实战分析
 
至此,已经总结了机器学习部分常用的回归,分类,聚类算法,接下来,介绍一种非常经典的,在工业界应用广泛的集成算法:XGBoost。
 
2、从随机森林说到XGBoost
 
随机森林是在决策树的基础上,放入许多棵决策树,并行的,独立的构造出每棵决策树,树与树之间没有关系,通过这种方式达到优化提升的目的。
 
随机森林算法,再加入第 k 棵树时,没有考虑前面的 k - 1 棵,只是随机的往森林里加一棵。与之相对的是,每次往森林里扔第 k 棵树的时候,要考虑前面的 k-1 棵树,并且加入这 k 棵树后,预测的效果必须要好才行,不好的话,就不能放入这 k 棵树,关于如何选择第 k 棵树以达到优化提升的过程,就是 XGBoost 的精华所在。
 
3、XGBoost选择第 k 棵树的思想
 
XGBoost算法解决的核心问题:如何选择第 k 棵树,而不是像随机森林那样随便往里面扔树。
 
下面举个例子先说明下问题的背景,要预测某个群体玩电脑游戏的可能性大小,在此我们要构建了 tree1,根据 age 和 male 这两个特征,得到了tree1,每个叶子节点不是简单的给出玩还是不玩电脑游戏,而是给出它的得分值(概率值相关),这是比较有意义的,之前,说到过,高斯混合模型(GMM)在做聚类任务时,最后也是给出每个样本属于每个分类的得分值,这就比KNN算法简单的给出每个样本属于某个簇,而不能给出属于每个簇的概率值,有时候要有意义的多。
 
\
根据 tree1,可以判断小男孩这个样本,玩电脑游戏的得分值为 +2,而小女孩呢得分值为 +0.1 ,爷爷奶奶们得分为 -1 。而根据实际的样本值得出小男孩玩游戏的得分值为+3,爷爷玩游戏的得分值为 +0.1 ,奶奶玩游戏的得分值为 -3 。
 
现在又来了 tree2,也就是说树的结构已经知道了,可以看出小男孩和爷爷的得分值都为 +0.9 。
 
\
所以,根据这两颗树,我们得出,小男孩玩电脑游戏的得分值为 +2.9,爷爷玩电脑游戏的得分值为 -0.1 。
 
问题来了,那么根据 tree2这个树的决策结构,我们是否该选择 tree2 呢? 我们可以这样构思这个问题,tree1和tree2 我们可以综合起来看成一颗决策树来考虑,这样可以借用决策树的一些思想,比如加入 tree2 后,综合考虑得出的信息增益是否大于我们不加入tree2时的好,如果没有满足,那么还是不要这颗 tree2,如果能大于阈值,就可以说它提升了模型的预测精度,要!
 
可以看到加入tree2后,小男孩的最终得分值更接近 +3了,而爷爷的得分也更接近了目标值。所以tree2 要加入进来。
 
以上就是XGBoost在做优化时主要思想。


上一篇:配备“一键重置”算法 机器人学习变得更方便
下一篇:深度学习算法研究现状
精选推荐
改变保险市场的格局:无人机如何通过更快的估算、响应时间和利益交付来使消费者受益
改变保险市场的格局:无人机如何通过更快的估算、响应时间和利益交付来

[2018-12-08]  市场研究公司IHS Markit预测,到2020年,专业无人机市场将通过农业,能源和建筑等行业利用测量,制图,规划等技术实现77 1%的复合年增长率(CAGR)。与此同时,消费者无人......

新型轻便机器人套装重5kg,辅助跑步和步行
新型轻便机器人套装重5kg,辅助跑步和步行

[2019-10-23]  虽然步行对大多数人来说似乎不是负担,但对有些人来说,这项简单的运动往往会让人感到筋疲力尽。比如手术或中风后恢复的患者、帕金森氏症患 ...

2023年服务机器人市场将超过250亿美元
2023年服务机器人市场将超过250亿美元

[2017-09-04]  全球服务机器人市场预计到2023年将达到250亿美元, 并在预测期内登记15% 的复合年增长率。短期中期回收期和投资回报率高 (ROI), 以及在教育和研究、临场感、防御、救援和安......

谷歌宣布搜索算法重大升级,用BERT模型理解用户搜索意图
谷歌宣布搜索算法重大升级,用BERT模型理解用户搜索意图

[2019-10-26]  谷歌刚刚宣布,其搜索引擎的核心算法正在进行一项重大升级,这项升级可能会改变10%的搜索结果排序。此项升级应用了自然语言处理技术(BERT ...

人工智能准确预测患者一年内的死亡风险,原理却无法解释
人工智能准确预测患者一年内的死亡风险,原理却无法解释

[2019-11-13]  图片来自BURGER PHANIE SCIENCE PHOTO LIBRARY美国最新研究显示,人工智能通过查看心脏测试结果,以高达85%以上的准确率预测了一个人在一 ...

英国首台月球车是个小型四腿机器人 将于2021年登月
英国首台月球车是个小型四腿机器人 将于2021年登月

[2019-10-12]  探测器将用四条腿探测月球表面,并将数据传回着陆器,后者将把数据传回地球图 詹姆斯温斯皮尔英国即将成为继美国、俄罗斯、中国之后的又一 ...

MIT用深度学习处理3D点云数据 应用于无人汽车等领域
MIT用深度学习处理3D点云数据 应用于无人汽车等领域

[2019-10-23]  如果你见过自动驾驶汽车,也许会对车顶上那个一直在旋转的圆柱体感到好奇。这是一个雷达传感器,无人驾驶汽车依靠它在现实世界中进行导航。 ...

揭秘达芬奇手术机器人
揭秘达芬奇手术机器人

[2018-04-19]  达芬奇手术系统是由美国Intuitive Surgical公司制造的机器人手术系统。美国食品和药物管理局(FDA)于2000年通过该标准,旨在利用微创手段 ...

本周栏目热点

盘点全球十大最具影响力的机器人摇篮

[1970-01-01]    人工智能(AI)研究现正迅速发展,如无人驾驶汽车、计算机在《危险边缘》智力竞赛节目中获胜、数字私人助手Siri、GoogleNow和语音助手C ...

深度学习反向传播算法(BP)原理推导及代码实现

[2017-12-19]  分析了手写字数据集分类的原理,利用神经网络模型,编写了SGD算法的代码,分多个epochs,每个 epoch 又对 mini_batch 样本做多次迭代计算。这其中,非常重要的一个步骤,......

如何在机器学习项目中使用统计方法的示例

[2018-07-23]  事实上,机器学习预测建模项目必须通过统计学方法才能有效的进行。在本文中,我们将通过实例介绍一些在预测建模问题中起关键作用的统计学方法。...

[2017-08-28]  模拟退火(Simulated Annealing,简称SA)是一种通用概率算法,用来在一个大的搜寻空间内找寻命题的最优解。1、固体退火原理:将固体加温 ...

Machine Learning-感知器分类算法详解

[2018-05-31]  今天我们来讲解的内容是感知器分类算法,本文的结构如下:什么是感知器分类算法,在Python中实现感知器学习算法,在iris(鸢尾花)数据集上训练一个感知器模型,自适应线性神......