gcforest论文的解读
论文标题: Deep Forest: Towards an Alternative to Deep Neural Networks
摘要:在这篇论文里,我们提出了 gcForest,这是一种决策树集成方法(decision tree ensemble approach),性能较之深度神经网络有很强的竞争力。深度神经网络需要花大力气调参,相比之下 gcForest 要容易训练得多。实际上,在几乎完全一样的超参数设置下,gcForest 在处理不同领域(domain)的不同数据时,也能达到极佳的性能。gcForest 的训练过程效率高且可扩展。在我们的实验中,它在一台 PC 上的训练时间和在 GPU 设施上跑的深度神经网络差不多,有鉴于 gcForest 天然适用于并行的部署,其效率高的优势就更为明显。此外,深度神经网络需要大规模的训练数据,而 gcForest 在仅有小规模训练数据的情况下也照常运转。不仅如此,作为一种基于树的方法,gcForest 在理论分析方面也应当比深度神经网络更加容易。
(全文假设分类的数量为3类)
级联森林(Cascade Forest)

输入的特征向量进入森林之后会输出一个三维的类向量的概率分布,各个森林的输出和input feature vector又会连接输入给下一层的森林。每一层有四个森林,黑色的代表“随机森林”,蓝色代表“完全随机树森林”。
- 每个完全随机的树森林包含1000个完全随机树[Liu et al。,2008],每棵树通过随机选择一个特征在树的每个节点进行分割实现生成,树一直生长,直到每个叶节点只包含相同类的实例或不超过10个实例。
- 每个随机森林也包含1000棵树,通过随机选择sqrt(d) 数量的特征作为候选(d是输入特征的数量),然后选择具有最佳 gini 值的特征作为分割。
类向量的生成
下图详细阐述了类向量的生成,在测试过程中,给定一个实例x,每个森林会计算x落入的叶节点处的训练样本的不同类的百分比,然后对森林中的所有树计算平均值,以生成对x的类的分布的估计。
其中红色部分突出了x遍历到叶节点的路径。叶节点中的不同标记表示了不同的类。一个符号代表一个训练实例。从图中可以进一步验证叶结点的特征,不超过10个实例或者只包含同一类的实例。

被估计的类分布形成类向量(class vector),该类向量接着与输入到级联的下一级的原始特征向量相连接。级联的下一级将接收12 = 3×4个增强特征(augmented feature)。
k折交叉验证机制: 为了降低过拟合风险,每个森林产生的类向量由k折交叉验证(k-fold cross validation)产生。具体来说,每个实例都将被用作 k -1 次训练数据,产生 k -1 个类向量,然后对其取平均值以产生作为级联中下一级的增强特征的最终类向量。
early stop机制: 需要注意的是,在扩展一个新的级后,整个级联的性能将在验证集上进行估计,如果没有显着的性能增益,训练过程将终止;因此,级联中级的数量是自动确定的。与模型的复杂性固定的大多数深度神经网络相反,gcForest 能够适当地通过终止训练来决定其模型的复杂度(early stop)。这使得 gcForest 能够适用于不同规模的训练数据,而不局限于大规模训练数据。
多粒度扫描(Multi-Grained Scanning)
深度神经网络在处理特征关系方面是强大的,例如,卷积神经网络对图像数据有效,其中原始像素之间的空间关系是关键的。(LeCun et al., 1998; Krizhenvsky et al., 2012),递归神经网络对序列数据有效,其中顺序关系是关键的(Graves et al., 2013; Cho et al.,2014)。受这种认识的启发,我们用多粒度扫描流程来增强级联森林。通过使用多个尺寸的滑动窗口,最终的变换特征矢量将包括更多的特征.

整体结构(Overall Procedure)

第一阶段的不同尺度的的输出,级联在第二阶段的不同level层 ,可以自由设计look_index
关键细节:
- 多尺度窗口提取特征
- 使用多个随机森林集成学习
- 鲁棒性方案(K折验证,完全随机森林)
结论:
涉及到的超参数很少:层数是自适应决定,森林的数量,森林里树的数量,扫描的尺度,决策树划分的终止条件,特征级联的设计,
参考资料:https://blog.csdn.net/xbinworld/article/details/60466552