deep forest 总结

1、gcforest(multi-Grained Cascade forest,多粒度级联森林)优点:训练过程效率高,适用于并行计算

2、dnn缺点:训练时需要大量训练数据;模型太复杂,导致它的运行环境更适合公司,个人的使用还是比较局限;参数多,调参过程复杂;

3、级联森林:

    级联结构,每一层都是决策树组成的森林,但每层都是由两种不同的森林所组成。级联中的每一层接收到由前一层处理的特征信息,并将该层的处理结果输出给下一层。在扩展一个新的层后,整个级联的性能将在验证集上进行估计,如果没有显着的性能增益,训练过程将终止,级联中级的数量是自动确定的。

    每个森林都会生成长度为C的概率向量,如果一层有N个森林,那么每个森林生成的C个元素会拼接在一起,组成C*N个元素向量,这就是一层的输出。在这基础上,还要把源输入特征向量拼接上去(如图1每层的粗红线部分),这样就组成了下一层的输入。

4、多粒度扫描:滑动窗口扫描

    整个多粒度扫描过程就是:先输入一个完整的P维样本,然后通过一个长度为k的采样窗口进行滑动采样,得到S = (P - K)/1+1 个k维特征子样本向量,接着每个子样本都用于完全随机森林和普通随机森林的训练并在每个森林都获得一个长度为C的概率向量,这样每个森林会产生长度为S*C的表征向量(就是经过随机森林转换并拼接的概率向量),最后把每层的F个森林的结果拼接在一起得到本层输出。
5、gcForest的主要参数是:
1)多粒度扫描的森林数
2)每个森林的决策树数
3)树停止生长规则
4)滑动窗口数量和大小
5)级联的每层森林数
6、
deep forest 总结_第1张图片
7、整个过程就是
1)多粒度扫描(输入m个完整的P维样本,然后通过一个长度为k的采样窗口进行滑动采样,得到S = m*((P - K)/1+1 )个k维特征子样本向量
2)通过每层的森林训练(每个子样本在n个森林都获得一个长度为C的概率向量,每个森林会产生长度为F=S*C的表征向量,把每层的森林的结果和经过多粒度扫描的“再表征向量”拼接在一起得到本层输出R=F*n+n*类别数
8、测试
在所有实验中,gcForest使用相同的级联结构:每个级别由4个完全随机的树林和4个随机森林组成,每个包含500棵树,三倍CV用于类向量生成,级联层数自动确定。具体来说,我们将训练集分为两部分,即成长集合和估计集合;那么我们使用成长集来增加级联,估计集合来估计性能。如果增长一个新的水平不会提高性能,级联的增长就会终止,并且获得估计的级别数。然后,合并增长集的和估计集来重新训练级联。对于所有实验,我们收集了80%的训练数据用于成长集,20%用于估计集。对于多粒度扫描,使用三种窗口大小。对于d个原始特征,我们使用大小为d/16,d/8,d/4的特征窗口。
测试参数:
deep forest 总结_第2张图片
9、论文部分重点翻译:
1)当输入具有高维度时,可以通过多粒度扫描进一步增强其代表性学习能力,有可能使gcForest成为上下文或结构感知。可以自适应地确定级联级数,使得可以自动设置模型复杂性





你可能感兴趣的:(人工智能,深度森林)