背景及简介
一作Shaoqin Ren是中科大与MSRA联培博士生,二三四作都是就职于MSRA。
传统的随机森林是对于每棵树随机抽取样本和特征进行训练的。训练完成后不剪枝。
文章针对传统的随机森林在训练时最小化误差表达式(目标函数)的不一致性,提出了一种全局化的优化方法。针对传统随机森林未剪枝进而树的深度过高导致占用存储空间过大的问题,提出了一种全局化的剪枝方法。
对随机森林进行回顾
随机森林里的“随机”是对于节点分裂时随机选取参数,和/或随机抽取样本进行独立的树的训练。单棵的深度是随机森林得以拥有强大分类能力的原因。随机森林可以用在视觉字典中(通常会接着用SVM进行分类),现在也有alternating decision forests和alternating regression forests取得不错的效果。不过本文提出的方法的效果比起ADF和ARF更好,实验部分有对比。
本文方法
符号约定
一棵树的预测输出为:
y=wϕ(x)
其中 ϕ(x) 为指示集,为二值列向量。一棵树可以表示为从样本数据通过 ϕ(x) 映射到叶节点,显然其维度为叶节点 × 1。 ϕ(x) 中为1的位表示样本落入这个叶节点,0则表示未落入。 w 为对应叶节点的预测值(对于分类问题是一个后验概率,对于回归问题是一个向量)。
随机森林叶节点的原始优化形式
对于随机森林,先用各类方法决定分裂节点(split node)的特征。对于叶节点,使用标准的随机森林训练方法进行训练。于是可以得出随机森林单棵树的损失函数(优化的目标函数)如下:
式中,N是训练样本数据, l(yi,y