理解《Deep Forest: Towards An Alternative to Deep Neural Network》
来源:互联网 发布:ip地址切换软件 编辑:程序博客网 时间:2024/05/17 08:29
Deep Forest 优点
Deep Forest 结构
Cascade Forest 整体算法如下:
1. Deep Forest 是由多层森林组成的瀑布型结构,每一层的输入是前一层森林输出的特征信息,且该层森林的输出作为下一层森林的输入特征的一部分
2. 瀑布是由多个森林串成的,而森林又是由多棵决策树集成的。为了保证模型的多样性,采用了多种不同种类的森林
3. 为了简单起见,文中在每层中只选用了两种森林:two complete random forests 与 two random forests。即每层只有四个森林
4. complete random forest 是由1000棵 complete random trees 组成的,complete random tree 中每个节点都随机的选择一个特征作为分裂特征,不断增长整棵树,直到剩余所有样本属于同一类,或样本数量少于10
5. random forest 是由1000棵 random trees 组成的, random tree 中的每个节点都随机的选择 sqrt(d) 个特征(其中d是输入特征总数),然后选择最佳基尼系数的特征作为该节点的分裂特征,同样增长整棵树,直到剩余所有样本属于同一类或样本数量少于 10
输出过程分析:
森林对每个输入样本都有一个输出,该输出是以类别占比的形式给出的,如上图中,此时存在三个类别(方形,三角形,椭圆形),森林中每棵树的叶子节点记录了建立该决策树时,落在该叶子节点中的样本集合中各个类别的样本所占的比例,如第一棵树中给出的叶子节点的例子,落在该节点上的一共有9个样本,其中有2个方块样本,4个椭圆样本,和3个三角形样本。因此该叶子节点记录的 class vector 为 [ 0.2, 0.5, 0.3]。
一个样例 x 进入森林中,在第一棵树中按决策树规则走,最后落在的叶子的 class vector 为[0.2, 0.5, 0.3],在第二棵树中得到的 class vector 为 [0.3, 0.4, 0.3], 在第三棵树中得到的 class vector 为 [1.0, 0 , 0 ],所以最终整个森林得到的 class vector 为各棵树上得到的 class vector 的平均值,即【0.5,0.3,0.2】。
四个森林得到的结果串联起来,同时原始输入的特征也串联在这四棵树的特征后,将这些特征传入下一层
在瀑布层次后,用一个总的验证集衡量瀑布的性能,不断增加瀑布的层次,直到验证集上的性能不再提升,这也是文中说的自适应的森林层次的实现方式。
注意:为了避免过拟合,每个森林中 class vector 的产生采用了 k 折交叉验证的方法,具体来说,假设样本有 k 个, 观察针对第k个样本的class vector 的生成, 先把第一个样本扔出训练集,用剩下的 k - 1 个样本训练整个森林(其中包含第k个样本),此时得到的森林对第k个样本输出一个 class vector。然后将第二个样本扔出训练集,用剩下的 k - 1个样本训练森林,此时得到的森林对第 k 个样本仍然输出一个 class vector,。。。依次,每个样本被用作训练集中样本的数量为(k - 1)次,产生 k - 1 个 class vector,取这些 class vector 的平均值作为该森林对该样本最终输出的 class vector。(这个部分 我还没理解透!!!!)
Multi-Grained Scanning 算法说明:
整体流程:
- 理解《Deep Forest: Towards An Alternative to Deep Neural Network》
- 《Deep Forest: Towards an Alternative to Deep Neural Networks》理解
- Deep Forest: Towards an Alternative to Deep Neural Networks (阅读笔记)
- How to train your Deep Neural Network
- Deep Neural Network
- Deep Neural Network
- Deep Neural Network
- Deep-Learning NotePad2 : Deep Neural network
- Neural Network and Deep Learning
- Deep learning与Neural Network
- Building your Deep Neural Network
- Paper Note - Learning to Hash with Binary Deep Neural Network
- 车牌识别“Towards End-to-End Car License Plates Detection and Recognition with Deep Neural Networks”
- neural networks deep learning Deep Neural Network Application Homework
- Deep Forest
- 车牌检测识别--Towards End-to-End Car License Plates Detection and Recognition with Deep Neural Networks
- neural network and deep learning (1)
- neural network and deep learning (2)
- Oracle的客户端工具
- UVA12716 GCD XOR
- Linux入门---服务器选择Linux还是Windows
- Linux下面使用rpm命令
- 奖券数目
- 理解《Deep Forest: Towards An Alternative to Deep Neural Network》
- 再谈机器学习中的归一化方法(Normalization Method)
- 深入简出的ngin
- 机器学习之优化算法——爬山法
- 欢迎使用CSDN-markdown编辑器
- 神经网络反向传播算法的推导
- 435. Non-overlapping Intervals
- maven简介—+eclipse环境搭建
- 浅谈当代计算机人才情况