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

《实例》阐述算法,通俗易懂,助您对算法的理解达到一个新高度。包含但不限于:经典算法,机器学习,深度学习,LeetCode 题解,Kaggle 实战。期待您的到来!

01

回顾

这几天推送了机器学习的降维算法,总结了特征值分解法,奇异值分解法,通过这两种方法做主成分分析(PCA)。大家有想了解的,可以参考:

至此,已经总结了机器学习部分常用的回归,分类,聚类算法,接下来,介绍一种非常经典的,在工业界应用广泛的集成算法:XGBoost。

02

从随机森林说到XGBoost

随机森林是在决策树的基础上,放入许多棵决策树,并行的,独立的构造出每棵决策树,树与树之间没有关系,通过这种方式达到优化提升的目的。

随机森林算法,再加入第 k 棵树时,没有考虑前面的 k - 1 棵,只是随机的往森林里加一棵。与之相对的是,每次往森林里扔第 k 棵树的时候,要考虑前面的 k-1 棵树,并且加入这 k 棵树后,预测的效果必须要好才行,不好的话,就不能放入这 k 棵树,关于如何选择第 k 棵树以达到优化提升的过程,就是 XGBoost 的精华所在。

03

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

明天,我们看下 XGBoost 是如何把上面这些思想建立出数学模型来的。

算法channel已推送的更多文章:

1机器学习:不得不知的概念(1)

2机器学习:不得不知的概念(2)

3机器学习:不得不知的概念(3)

4回归分析简介

5最小二乘法:背后的假设和原理(前篇)

6最小二乘法原理(后):梯度下降求权重参数

7机器学习之线性回归:算法兑现为python代码

8机器学习之线性回归:OLS 无偏估计及相关性python分析

9机器学习线性回归:谈谈多重共线性问题及相关算法

10机器学习:说说L1和L2正则化

11机器学习逻辑回归:原理解析及代码实现

12机器学习逻辑回归:算法兑现为python代码

13机器学习:谈谈决策树

14机器学习:对决策树剪枝

15机器学习决策树:sklearn分类和回归

16机器学习决策树:提炼出分类器算法

17机器学习:说说贝叶斯分类

18朴素贝叶斯分类器:例子解释

19朴素贝叶斯分类:拉普拉斯修正

20机器学习:单词拼写纠正器python实现

21机器学习:半朴素贝叶斯分类器

22机器学习期望最大算法:实例解析

23机器学习高斯混合模型(前篇):聚类原理分析

24机器学习高斯混合模型(中篇):聚类求解

25机器学习高斯混合模型(后篇):GMM求解完整代码实现

26高斯混合模型:不掉包实现多维数据聚类分析

27高斯混合模型:GMM求解完整代码实现

28数据降维处理:背景及基本概念

29数据降维处理:PCA之特征值分解法例子解析

30数据降维处理:PCA之奇异值分解(SVD)介绍

31数据降维处理:特征值分解和奇异值分解的实战分析

请记住:每天一小步,日积月累一大步!

《实例》阐述算法,通俗易懂,助您对算法的理解达到一个新高度。包含但不限于:经典算法,机器学习,深度学习,LeetCode 题解,Kaggle 实战。期待您的到来!

本文来自企鹅号 - 全球大搜罗媒体

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏CDA数据分析师

机器学习基础与实践(三)----数据降维之PCA

在数据处理中,经常会遇到特征维度比样本数量多得多的情况,如果拿到实际工程中去跑,效果不一定好。一是因为冗余的特征会带来一些噪音,影响计算的结果;二是因为无关的特...

1866
来自专栏数据科学与人工智能

【数据挖掘】解码数据降维:主成分分析(PCA)和奇异值分解(SVD)

译者按:当拥有非常高纬度的数据集时,给数据降低纬度对于分析来说是非常重要的。降维要求分析人员在最大程度降低数据纬度的同时,尽可能多的保留原数据中包含的信息。主成...

29010
来自专栏Duncan's Blog

天池-半导体质量预测

1) 提取特征后,xgboost的mse为0.0325341683406 2) 单个随机森林的5折交叉验证的平均mse为0.0288353227614 (max...

592
来自专栏鸿的学习笔记

Understanding Convolution in Deep Learning(二)

我们现在有一个非常好的直觉,卷积是什么,以及卷积网中发生了什么,为什么卷积网络是如此强大。 但我们可以深入了解卷积运算中真正发生的事情。我们将看到计算卷积的原始...

542
来自专栏红色石头的机器学习之路

台湾大学林轩田机器学习技法课程学习笔记11 -- Gradient Boosted Decision Tree

上节课我们主要介绍了Random Forest算法模型。Random Forest就是通过bagging的方式将许多不同的decision tree组合起来。除...

1970
来自专栏小小挖掘机

数据城堡参赛代码实战篇(五)---使用sklearn解决分类问题

小编们最近参加了数据城堡举办的“大学生助学金精准资助预测”比赛,以分组第19名的成绩进入了复赛,很激动有木有!在上一篇文章中,小编带你使用pandas中merg...

2564
来自专栏挖数

简述【聚类算法】

所谓人以类聚,物以群分。人都喜欢跟自己像的人聚在一起,这些人或者样子长得比较像,或者身高比较像,或者性格比较像,或者有共同的爱好,也就是身上有某些特征是相似的。...

2386
来自专栏机器学习和数学

[有意思的数学] 傅里叶变换和卷积与图像滤波的关系 (2)

昨天简单介绍了Fourier变换和卷积的概念,有了一个基本的认识之后,再看图像滤波,就不会觉得那么莫名其妙了。图像滤波这其实也是个大坑,里面涉及的东西很多,想通...

3316
来自专栏智能算法

经典的图像匹配算法----SIFT

一. SIFT简介 1.1 算法提出的背景: 成像匹配的核心问题是将同一目标在不同时间、不同分辨率、不同光照、不同位姿情况下所成的像相对应。传统的匹配算法往往是...

3536
来自专栏算法channel

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

《实例》阐述算法,通俗易懂,助您对算法的理解达到一个新高度。包含但不限于:经典算法,机器学习,深度学习,LeetCode 题解,Kaggle 实战。期待您的到来...

3508

扫码关注云+社区