XGBoost的决策树是如何通过梯度提升框架实现高效预测的?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1103个文字,预计阅读时间需要5分钟。
XGBoost的核心思想是结合多个基础模型的线性组合,基础模型采用CART树(我喜欢),因为CART树普遍来讲,要比线性基础模型的预测效果更好。首先,XGBoost采用加法模型训练,同时还要确定第t棵树的最优值。
XGBoost核心思想是多个基础模型的线性拟合,基础模型使用CART树(我喜欢),因为CART树普遍来讲要比线性基础模型的效果要好。
首先,xgboost采用的是加法训练,也就是要确定第t颗树最优,先确定第t-1颗树最优,依次类推。
所以,其目标函数:
表示经过第t轮迭代后的模型预测值, 表示已知t-1个基础模型得到预测值; 表示第t个基础模型( ,w是叶子的向量、q是树的结构), 寻找一个使目标函数尽可能最大化降低的 ,那问题就解决了!因为前面的t-1颗树这时候已经固定了,找到 之后,模型主要求解部分基本结束,再把正则项化简, 即可求解。 为第j个正则化项,正则化惩罚项的目的是防止模型的复杂度与防止过拟合。根据泰勒展开式:
假设 为泰勒公式中的, ,L为泰勒公式中的f,损失函数的 为泰勒公式中的x,那么对于目标函数的求解一切将清晰明了:
也就是说只要定义的损失函数可求一阶导和二阶导,那么只要再求解正则化项 出来,那么函数求解即可结束,即可开始考虑树结构的分割规则。
本文共计1103个文字,预计阅读时间需要5分钟。
XGBoost的核心思想是结合多个基础模型的线性组合,基础模型采用CART树(我喜欢),因为CART树普遍来讲,要比线性基础模型的预测效果更好。首先,XGBoost采用加法模型训练,同时还要确定第t棵树的最优值。
XGBoost核心思想是多个基础模型的线性拟合,基础模型使用CART树(我喜欢),因为CART树普遍来讲要比线性基础模型的效果要好。
首先,xgboost采用的是加法训练,也就是要确定第t颗树最优,先确定第t-1颗树最优,依次类推。
所以,其目标函数:
表示经过第t轮迭代后的模型预测值, 表示已知t-1个基础模型得到预测值; 表示第t个基础模型( ,w是叶子的向量、q是树的结构), 寻找一个使目标函数尽可能最大化降低的 ,那问题就解决了!因为前面的t-1颗树这时候已经固定了,找到 之后,模型主要求解部分基本结束,再把正则项化简, 即可求解。 为第j个正则化项,正则化惩罚项的目的是防止模型的复杂度与防止过拟合。根据泰勒展开式:
假设 为泰勒公式中的, ,L为泰勒公式中的f,损失函数的 为泰勒公式中的x,那么对于目标函数的求解一切将清晰明了:
也就是说只要定义的损失函数可求一阶导和二阶导,那么只要再求解正则化项 出来,那么函数求解即可结束,即可开始考虑树结构的分割规则。

