论文阅读:深度森林

论文地址:https://arxiv.org/pdf/1702.08835.pdf
相关代码:https://github.com/kingfengji/gcForest

深度森林是南大周志华老师前两年提出的一种基于随机森林的深度学习模型。

当前的深度学习模型大多基于深度学习神经网络(DNN),其中每一层都是可微的,在训练过程中通过反向传播调参。而本篇介绍的深度森林算法基于不可微的子模型,该算法把多个随机森林串联起来组成了深度学习模型。

作者认为深度模型的优越性主要在于:深度网络多层建构;模型特征变换;模型足够复杂。文中提出基于树模型的gcForest也可满足以上三点。相对于深度学习神经网络,它还有如下优势:使用较少的超参数;模型的复杂度可根据数据情况自动调整;使用模型的默认参数往往也能达到不错的学习效果。

DNN的缺点:

  • DNN超参数太多,调参难度大,需要大量技巧
  • DNN一般在大数据集上训练效果好,在中小数据集上表现较差,标注成本大
  • DNN是难以解释的黑盒模型
  • DNN需要事先设计网络结构,它的设计往往比实际需要的复杂度更高
  • 在很多数据比赛中GBDT类模型效果往往更好

灵感

作者设计灵感主要来源于深度学习模型和集成模型。

深度学习模型利用层层堆叠方法提升效果,因为即使给浅层网络设置很多单元,效果也不如深层网络;另外,决策树及GBDT决策树算法虽然也是层层推进,但效果也不如DNN的原因可能是它不能逐层提取更多特征,也就是说不支持模型内部特征转换(feature transformation),且这些机器学习模型只有有限的复杂度。

集成模型中多模型集成比单模型有更好泛化效果。子模型需要兼顾准确性,多样性,互补性。比如森林中设置树模型多样性常常采用的方法有:数据采样方式不同,特征不同,模型参数不同,定义的输出不同等。

实现方法

森林堆叠

gcForest方法集成了多个森林,具体构建方法如下:

此例解决的是一个多分类问题,从左向右运行。模型输入是左侧的Input Feature Vector,最终输出为输入x属于三种类别的概率;模型深度为N层,每层包含两个完全随机树森林和两个随机森林;每一层的输入是前层的输出和基本特征(Input Feature Vector),输出为12个新特征(4模型x3类别)并传向后一层;使用验证集评价模型效果,当模型不再变好时停止继续训练。

多粒度扫锚

DNN的重要优点在于识别出特征相关性,gcForest使用给特征分组的方法加入对特征相关性的支持:

假设输入400维特征,设置窗口宽度100,可取到301组特征,代入模型,产生903个输出(子模型输出x属于三个类别的概率301x3=903),如果使用两个森林ForestA和ForestB,则经过一层之后,输出1806个新特征。

再延展到更加复杂的结构:使用不同大小的滑动窗口:

示例中分别使用了大小为100、200、300的滑动窗口,并使用不同的森林Forest A/B/C分别处理,以达到更好效果(具体效果见实验部分)。

参数对比

从参数对比中可以看到,DNN需要设计和尝试更多参数,而gcForest参数少,并且使用默认参数往往也能达到不错的效果。

实验

文中实验主要在DNN擅长的领域,如图片、音频、自然语言处理等领域,使用中大规模数据对比多模型的使用效果。

实验结果

图片分类:使用MNIST数据集,其中train 60000,test 10000,对比效果如下:

人脸识别

另外,文中还对比了音乐片断分类、手势识别、影评情感分类等,详见论文。

低维数据与高维数据

文中测试了模型在三种低维数据集上的表现LETTER:16个特征,训练集16000测试集4000;ADULT:14个特征,训练集32,561测试集16,281,YEAST:8个特征训练集1038测试集446。

也测试了在高维数据集CIFAR-10:训练集50000测试集10000图片,共10个类别,8192个特征。对比效果如下:

可以看到优化的DNN方法ResNet,AlexNet明显优于gcForest,而gcForest在DNN以外的其它方法中效果最优;并且可以看到经过多滑动窗口和将最后一层替换成gbdt后,gcForest方法也有明显改进。

运行时间

当使用25000实例5000特征,一层用时267.1秒。如果使用不同粒度,模型可以并行训练。

多粒度特征叠加

上图中使用多粒度特征时,将不同粒度提取的特征分别代入模型,此处实验将不同粒度提取的特征连接后统一代入模型,方法相对更简单,其效果与上述方法差别不大,模型效果对比如下:

使用方法

从github开源项目的demo中可以看到GCForest使用方法非常简单,类似Sklearn中的模型接口。

总结

文中讨论的gcForest在目前很多深度学习领域表现也不错,并非想使用它去取代目前的DNN模型,而是提出了另一种深度学习的实现方法和可能性。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,015评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,262评论 1 292
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,727评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,986评论 0 205
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,363评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,610评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,871评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,582评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,297评论 1 242
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,551评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,053评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,385评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,035评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,079评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,841评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,648评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,550评论 2 270

推荐阅读更多精彩内容