一句话简述:
(将dropouts思想引入MART中,在每棵树的迭代过程中不再单单去拟合前一棵树的残差,而是从前面已有的树中sample一部分树,ensemble一个新model,然后去拟合这部分的残差,从而使得后面的树的贡献变大一些,防止over-specialization。)
背景知识介绍:
"over-specialization, wherein trees added at later iterations tend to impact the prediction of only a few instances, and make negligible contribution towards the remaining instances."
"In neural networks, dropouts are used to mute a random fraction of the neural connections during the learning process."
dropouts是DNN中一种方法,即使得某个(或某些)节点失效,但后续还是正常使用,并非遗弃。本文就是将dropouts方法和MART进行融合。dropouts可以说是种方法,不光能用在DNN,MART中,甚至连logistic回归中也可以使用:
"in logistic regression,dropouts are used to mute a random fraction of the input features during the training phase."
融合了dropouts的MART称为DART,作者认为它主要的提升在两点,一点是避免上述的over-specialization,另一点是使得整体中各个树的贡献更加平均一些。
"in a sense,the First tree learns the bias of the problem while the rest of the trees in the ensemble learn the deviation from this bias."
(MART的初始第一棵树对整体方向其中关键的作用 ,后续的树一直处于为前人背锅填坑的状态,并且只影响一小部分样本,这样后面的树对整体的贡献也在逐渐的弱化。)
文中给了举了一个例子,将训练数据中所有数据label都添加一个常数,那么只有第一棵树有改变,即这些常数会添加到第一棵树的所有叶子节点上,但是后续的其他树几乎不改变。
为了降低第一棵树或是前几棵树的贡献权重,引入shrinkage是个常见的方式。
为此比较三者的每棵树的平均贡献值:
(MART树的权重迅速下降,MART with shrinkage平缓下降,DART几乎持平。
问题:为什么DART中每棵树的权重,即便后面的树权重也几乎都不降,普遍都在一个范围?
DART又不是像RF,它还是基于前人的缺陷来进行优化,但是它评估前人缺陷的方式不是像MART那样仅看前一棵树,而是看前面一部分树的效果来评估。)
"MART creates an intermediate dataset in which a new label,is associated with every point x in the training data."
DART每次迭代时从之前的树选择一部分子集,用这个子集创建一个新的model M*,与MART的思想一样,只是此时它的label为 -L'(M*(x))。
(若是这个子集(假设k个)选择的越大,ensemble结果也相应的扩大约k倍,所以需要normalization,乘以一个1/(k+1),同时由于这个new tree是基于子集生成的,也相当于放大了子集中树的影响,所以要乘以一个k/(k+1))
极端情形下,若是一棵树都没有dropouts,此时DART即为MART;若全部树都dropouts,此时即为random forest。
算法流程:
后续作者在公共数据集上测试ranking,regression,classification场景下DART,MART和RF的表现,数据显示DART表现最佳。同时看出RF若是想达到low loss,需要大量的树,在一般的场景下,RF指标无法和MART,DART媲美。
问题:不同模型都有自己的参数空间,怎样保证比较时双方都是使用不错的参数配置呢?
下期paper预告:《Yahoo! Learning to Rank Challenge Overview》
未经允许,严禁转载。