机器学习集成算法:XGBoost思想
01
—
回顾
这几天推送了机器学习的降维算法,总结了特征值分解法,奇异值分解法,通过这两种方法做主成分分析(PCA)。大家有想了解的,可以参考:
数据预处理:PCA原理推导
数据降维处理:PCA之特征值分解法例子解析
数据降维处理:PCA之奇异值分解(SVD)介绍
数据降维:特征值分解和奇异值分解的实战分析
至此,已经总结了机器学习部分常用的回归,分类,聚类算法,接下来,介绍一种非常经典的,在工业界应用广泛的集成算法:XGBoost。
02
—
从随机森林说到XGBoost
随机森林是在决策树的基础上,放入许多棵决策树,并行的,独立的构造出每棵决策树,树与树之间没有关系,通过这种方式达到优化提升的目的。
随机森林算法,再加入第 k 棵树时,没有考虑前面的 k - 1 棵,只是随机的往森林里加一棵。与之相对的是,每次往森林里扔第 k 棵树的时候,要考虑前面的 k-1 棵树,并且加入这 k 棵树后,预测的效果必须要好才行,不好的话,就不能放入这 k 棵树,关于如何选择第 k 棵树以达到优化提升的过程,就是 XGBoost 的精华所在。
03
—
XGBoost选择第 k 棵树的思想
XGBoost算法解决的核心问题:如何选择第 k 棵树,而不是像随机森林那样随便往里面扔树。
下面举个例子先说明下问题的背景,要预测某个