xgboost算法_基于XGBoost算法构建投资组合

摘要

极端梯度提升 (eXtreme Gradient Boosting) 是一种基于决策树的集成机器学习方法,适用于分类和回归问题。其优点是速度快、效果好、能处理大规模数据、支持自定义损失函数等。

极端梯度提升(XGBoost)

XGBoost算法是运用提升法(boosting)建立多个CART回归树进行预测的机器学习方法。最终的预测结果由每棵CART树的结果累加得到。

套袋法和提升法都是对决策树的组合模型,本文将从这两种方法的对比入手,归纳随机森林和XGBoost两种算法的异同,再由CART回归树的建立介绍XGBoost的重要特点。

01

提升法(boosting)和套袋法(bagging)

在《基于随机森林算法构建投资组合》,我们提到单个决策树虽然具有解释性强、直观方便的优点,但其准确性无法与其它回归分类方法媲美。这时我们需要用到组合模型,即套袋法或提升法建立多棵决策树共同预测,减少单一决策树的不足。

随机森林采用的是套袋法,每棵决策树在样本中随机选一批样本进行独立训练,每棵决策树是相互独立的。而XGBoost采用的是提升法,由多个相关联的决策树联合决策,每一棵决策树的样本都与前面决策树的训练和预测有关。

套袋法和提升法都基于有放回的抽样思想。不同的是,套袋法采用有放回的均匀取样,而提升法根据错误率来取样,每次训练后,对训练失败的训练例赋予更大的权重(初始时对每个训练例赋予相同的权重)。因此,套袋法得到的各轮训练集是随机且相互独立的,而提升法得到的各轮训练集的选择与前面各轮的学习结果有关。

随机森林和XGBoost的异同归纳如下:

▷相同点:

1) 都由多棵决策树组成,并根据多棵树共同决定预测结果;

2) 都采用行(样本)采样、列(特征)采样,防止过拟合

▷不同点:

1) 随机森林中的树既可以是分类树,也可以是回归树,而XGBoost只能由CART回归树组成(XGBoost也支持线性分类器);

2) 随机森林中的树是并行生成的,即每一棵树生成是独立的;XGBoost则是串行生成的,下一棵树要去拟合前面所有树的残差;

3) 随机森林通过降低方差来提高性能,XGBoost通过降低偏差来提高性能(赋予训练失败的训练例更大的权重)。

02

CART回归树的建立

CART(Classification and Regression Trees),即分类与回归树。XGBoost的预测结果是由所有决策树的结果累加得到,每棵决策树都需要返回一个确定的预测值而不是一个类别,因此XGBoost基于CART回归树(但XGBoost算法既可用于分类,也可用于回归)。建立XGBoost模型需要建立CART回归树。要确定一棵CART回归树,需要确定两个要素,一是树的结构,二是各个叶子节点的值。所以用XGBoost求预测值的问题被分解为确定CART回归树要素的问题。

90d09f599ba5aab84f1ce278f8a2ba11.png

因为建立每棵树都是为了尽可能地拟合真实值与前面所有树预测结果的残差,如果用f5289dc5334762aabe06ab001de2363d.png表示第i个样本的真实值,bd213356086046cf37b8e6c54f2231b2.png表示用t棵树预测的结果,建立第t棵树的目标函数可以表示为

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值