入门小菜鸟,希望像做笔记记录自己学的东西,也希望能帮助到同样入门的人,更希望大佬们帮忙纠错啦~侵权立删。
目录
一、XGBoost简介
二、XGBoost原理
1、基本组成元素
2、整体思路
(1)训练过程——构建XGBoost模型
(2)测试过程
3、目标函数
(1)最初的目标函数
(2)推导
4、从目标函数到特征划分准则 + 叶子节点的值的确定
(1) 编辑 的定义
(2)引入真实的编辑和正则化项代换
(3)求出 编辑 —— 定下该叶子结点的值
(4)目标函数的最优解——与信息增益的连接
(5)特征划分准则——“信息增益”
5、从目标函数到加权分位法(实现对每个特征具体的划分)
(1)引入原因
(2)“特征值重要性”的提出
(3)目标函数到平方损失
(4)特征值重要性排序函数
(5)切分点寻找
(6)计算分裂点的策略
三、XGBoost对缺失值的处理
四、XGBoost的优缺点
1、优点
(1)精度高
(2)灵活性强
(3)防止过拟合
(4)缺失值处理
(5)并行化操作
2、缺点
一、XGBoost简介
XGBoost全称为eXtreme Gradient Boosting,即极致梯度提升树。
XGBoost是Boosting算法的其中一种,Boosting算法的思想是将许多弱分类器集成在一起,形成一个强分类器(个体学习器间存在强依赖关系,必须串行生成的序列化方法)。
Note:关于Boosting算法详见博文集成学习详解_tt丫的博客-CSDN博客
XGBoost是一种提升树模型,即它将许多树模型集成在一起,形成一个很强的分类器。其中所用到的树模型则是CART回归树模型。
Note:CART回归树模型详见博文决策树详解_tt丫的博客-CSDN博客
二、XGBoost原理
1、基本组成元素
XGBoost的基本组成元素是:决策树。
这些决策树即为“弱学习器”,它们共同组成了XGBoost;
并且这些组成XGBoost的决策树之间是有先后顺序的:后一棵决策树的生成会考虑前一棵决策树的预测结果,即将前一棵决策树的偏差考虑在内,使得先前决策树做错的训练样本在后续受到更多的关注,然后基于调整后的样本分布来训练下一棵决策树。
2、整体思路
(1)训练过程——构建XGBoost模型
从目标函数出发,可以推导出“每个叶子节点应该赋予的权值”,”分裂节点后的信息增益“,以及”特征值重要性排序函数“。
与之前决策树的建立方法类似。当前决策树的建立首先根据贪心算法进行划分,通过计算目标函数增益(及上面所说的”分裂节点后的信息增益“),选择该结点使用哪个特征。
选择好哪个特征后,就要确定分左右子树的条件了(比如选择特征A,条件是A