加载中…
正文 字体大小:

读paper:DART: Dropouts meet Multiple Additive Regression Trees

(2016-10-04 19:58:53)
标签:

gbdt

dropout

分类: 数据挖掘

读paper:DART: Dropouts meet Multiple Additive Regression Trees

借鉴之处:gbdt中引入dropout思想

1. 介绍

MART算法,即GBDT算法,在工业界有非常多的成功应用,譬如CTR预测等等。目前该算法存在的问题是over-specialization,即trees added at later iterations tend to impact the prediction of only a few instances, and make negligible contribution towards the remaining instances

2. 算法

算法逻辑如下所示:

读paper:DART: <wbr>Dropouts <wbr>meet <wbr>Multiple <wbr>Additive <wbr>Regression <wbr>Trees


(1)First, when computing the gradient that the next tree will fit, only a random subset of the existing ensemble is considered.计算新的gradient,每次
随机选择部分树。
(2)The second place at which DART diverges from MART is when adding the new tree to the ensemble where DART performs a normalization step.

3. 实现


import xgboost as xgb
# read in data 
dtrain = xgb.DMatrix('demo/data/agaricus.txt.train')
dtest = xgb.DMatrix('demo/data/agaricus.txt.test')
# specify parameters via map 
param = {'booster': 'dart', 
         'max_depth': 5, 'learning_rate': 0.1, 
         'objective': 'binary:logistic', 'silent': True, 
         'sample_type': 'uniform', 
         'normalize_type': 'tree', 
         'rate_drop': 0.1, 
         'skip_drop': 0.5}
num_round = 50
bst = xgb.train(param, dtrain, num_round)
# make prediction 
# ntree_limit must not be 
preds = bst.predict(dtest, ntree_limit=num_round)

4.参考资料

【1】DART: Dropouts meet Multiple Additive Regression Trees
https://arxiv.org/abs/1505.01866
【2】xgboost
https://github.com/dmlc/xgboost

0

阅读 评论 收藏 转载 喜欢 打印举报
已投稿到:
  • 评论加载中,请稍候...
发评论

    发评论

    以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

      

    新浪BLOG意见反馈留言板 不良信息反馈 电话:4006900000 提示音后按1键(按当地市话标准计费) 欢迎批评指正

    新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

    新浪公司 版权所有