机器学习18-XGBoost的推导过程
2017-06-19 16:29
471 查看
一,对随机森林的重新思考
随机森林的每个决策树由随机样本数,随机样本特征,通过信息熵的度量来确定,可以说各个决策树之间是相互独立的,每个树只是在某个分类方向上具有优势(弱分类器),将具有优势的这些树组成森林,即可生成随机森林,从而达到分类的目的。但是如果我想对随机森林进一步提升准确率,应该采取什么策略呢?有以下2个方向:
1,决策树。
假定当前得到m-1颗决策树,可以根据样本与决策信息影响第m颗决策树的生成。很显然的将分错的样本权值增大,将分对的样本权值减小能在训练样本上能得到较高的准率
图m=1中,绿线左边3个红点,右边2个蓝点分错,将这5个点加权再分,以此类推分下去,可以得到很好的分类器。
2,各个决策树组成随机森林后,最后的投票过程不采用少数服从多数规则,投票过程在建立决策树时就确立。
二,算法框架
假定样本的噪声符合高斯分布,典型的损失函数就定义为预测值与实际值的误差平方,则目标函数的最优解就是所有样本损失最小的函数
此时F(x)是一簇基函数f(x)的加权和
则算法转化为求一簇基函数的最小损失值,根据策略1,我们应该根据前m-1个决策树来决定生成怎样的第m颗决策树,不妨第一颗决策树就是一个常数函数f1(x)= c
接下来的工作便是怎么确定权值,怎么根据m-1颗树确定第m颗树
三,目标函数
:第i个样本根据前t-1颗树确定的测试值
:第i个样本根据第 t 颗树确定的值
:第 t 颗树的正则项
根据Taylor展开式,在x处2阶展开,忽略高阶无穷小。
令
将目标函数Taylor展开
值得注意的是,L是给定的,y的真实值是知道的,预测值是根据前t-1颗树知道的,则gi和hi是可算的。
四,重新定义决策树
一个xi的样本进入决策树分类是由最终的的叶子权值决定,即黑色实心圆,而中间的空心圆只是决定的 xi 样本落入到哪一个叶子。
q(x)表示样本x落入的叶子
Wq(x)表示样本x落入叶子的权值,即样本X经过决策树所对应的权值
所以一颗决策树的核心是:“树结构”与“叶权值”
举例
五,正则项的定义
决策树的复杂度可参考叶节点数和叶权值
举例
六,目标函数的计算
定义
得
对W求偏导
代入目标函数
举例
XGBoost公式做的事情
随机森林的每个决策树由随机样本数,随机样本特征,通过信息熵的度量来确定,可以说各个决策树之间是相互独立的,每个树只是在某个分类方向上具有优势(弱分类器),将具有优势的这些树组成森林,即可生成随机森林,从而达到分类的目的。但是如果我想对随机森林进一步提升准确率,应该采取什么策略呢?有以下2个方向:
1,决策树。
假定当前得到m-1颗决策树,可以根据样本与决策信息影响第m颗决策树的生成。很显然的将分错的样本权值增大,将分对的样本权值减小能在训练样本上能得到较高的准率
图m=1中,绿线左边3个红点,右边2个蓝点分错,将这5个点加权再分,以此类推分下去,可以得到很好的分类器。
2,各个决策树组成随机森林后,最后的投票过程不采用少数服从多数规则,投票过程在建立决策树时就确立。
二,算法框架
假定样本的噪声符合高斯分布,典型的损失函数就定义为预测值与实际值的误差平方,则目标函数的最优解就是所有样本损失最小的函数
此时F(x)是一簇基函数f(x)的加权和
则算法转化为求一簇基函数的最小损失值,根据策略1,我们应该根据前m-1个决策树来决定生成怎样的第m颗决策树,不妨第一颗决策树就是一个常数函数f1(x)= c
接下来的工作便是怎么确定权值,怎么根据m-1颗树确定第m颗树
三,目标函数
:第i个样本根据前t-1颗树确定的测试值
:第i个样本根据第 t 颗树确定的值
:第 t 颗树的正则项
根据Taylor展开式,在x处2阶展开,忽略高阶无穷小。
令
将目标函数Taylor展开
值得注意的是,L是给定的,y的真实值是知道的,预测值是根据前t-1颗树知道的,则gi和hi是可算的。
四,重新定义决策树
一个xi的样本进入决策树分类是由最终的的叶子权值决定,即黑色实心圆,而中间的空心圆只是决定的 xi 样本落入到哪一个叶子。
q(x)表示样本x落入的叶子
Wq(x)表示样本x落入叶子的权值,即样本X经过决策树所对应的权值
所以一颗决策树的核心是:“树结构”与“叶权值”
举例
五,正则项的定义
决策树的复杂度可参考叶节点数和叶权值
举例
六,目标函数的计算
定义
得
对W求偏导
代入目标函数
举例
XGBoost公式做的事情
相关文章推荐
- XGBoost推导过程
- 理解XGBoost机器学习模型的决策过程
- 机器学习总结-GBDT,XGBOOST参数
- 机器学习----xgboost学习笔记
- AUX778076_SEQUENCE_NAME(假设为boost::mpl::vector)模拟编译器的推导过程
- 机器学习系列(12)_XGBoost参数调优完全指南(附Python代码)
- Python机器学习之XGBoost从入门到实战(代码实现)
- 机器学习集成算法:XGBoost思想
- 干货 | 机器学习集成算法:XGBoost模型构造
- 机器学习--Logistic回归计算过程的推导
- python环境下Xgboost的安装过程
- python3.6中安装xgboost过程及遇到的问题解决
- 【机器学习】 之 xgboost python ubuntu部署
- 【机器学习笔记】GBM以及xgboost的调参汇总
- 王小草【机器学习】笔记--提升之XGBoost工具的应用
- XGBoost设计思路与数学推导
- 机器学习:XGBoost 安装及实战应用
- 机器学习系列(12)_XGBoost参数调优完全指南(附Python代码)
- XgBoost推导与总结
- 机器学习理论篇之NormalEquation推导过程