周志华 AutoEncoder by forest

正文

国内大神周志华即前段时间发表的媲美(号称)深度神经网络的深度森林之后又发表了用森林实现自动编码器。作为国内机器学习界首屈一指的大牛,不管其提出的模型效果怎样,阅读其文章肯定能使我们学习一些有用的东西。怀着这样的心情,我阅读了这篇文章。

论文原文

摘要

自动编码器是一种很重要的算法,一般使用深度神经网络实现。文章提出一种全新实现自动编码其的方法:使用森林实现。文章提出一种方法使用决策树的一些信息完成编码和解码操作。实验显示,eforest有低的重建误差,而且效率高。

引言

自动编码器是一类将输入数据映射到隐藏空间,然后再映射到原始空间的模型,它使用重建误差作为目标函数。自动编码器分为两个过程:编码和解码。编码过程将原始数据映射到隐藏空间,解码数据将数据从隐藏空间映射到原始数据空间。传统实现这两个过程的方式是使用神经网络。

集成学习是一种强大的学习方法。它通过使用训练多个学习期,然后将这些学习器结合起来完成任务。

决策树集成方法是集成学习中一种常用方法,bagging和boosting都通常采用决策树作为子学习器。随机森林是bagging的变种,GBDT是boosting的变种。GBDT有很多有效的实现,如XGBOOST。

文章提出了一种编码森林(EncoderForest),通过一个集成树模型进行前向编码和反向解码,而且可以使用监督或者无监督训练。实验显示EncoderFroest有如下优点:

  • 准确: 它的实验重建误差比使用MLP和CNN的自动编码器低。
  • 有效: efroest在一个单一KNL(多核CPU)上运行比CNN-Base自动编码器在一个Titan-X GPU上运行还快。
  • 容错率:训练好的模型能够正常运行即使模型部分损坏。
  • 重利用: 在同一个领域下,使用一个数据集训练的模型可以直接应用到另一个数据集下。

模型

自动编码器有连个基本的功能,编码和解码。对于一个森林来说,编码并不困难,因为至少其叶节点信息可以被看做一种编码,甚至可以说,结点集合的一个子集或者路径的分支都能够为编码提供更多的信息。

编码过程

首先我们提出模型的编码过程。对于给定的一个训练过的有T棵树的集成树模型(也可以是空的森林,编码过程即使森林形成过程),前向编码过程将输入数据送到每棵树的根节点,并计算每棵树,得到其所属的叶节点,最后返回一个T维向量,这个T维向量的每一项是每棵树中求到的上述叶节点在树中的编号。注意,算法跟决策树的分割规则无关。只需要是T棵树即可。
   算法伪代码如下:


ae_algo1
ae_algo1

解码过程

一般来说,决策树都是用来前向预测,将数据计算从树的根节点到叶子结点,但是其反向重建是未定义的。

下面通过一个小例子来探索解码过程。

假设我们正在解决一个二分类问题,数据有三个属性,第一个和第二个属性是数值型属性,第三个属性是布尔型属性(取值为YES, NO),第四个属性是一个三值属性,取值可以是RED,BLUE,GREEN。给定一个实例xxi代表x的第i个属性值。

现在我们假设我们在编码过程形成一个森林,如下图:

ae_eforest_forest
ae_eforest_forest

现在我们只知道,实例x落在每棵树的哪个结点,上图中的红色结点,我们的目标是重构实例x

文章提出了一种简洁有效的反向重建方法。

首先,在树中的每个叶子结点对应于一条唯一的从根到叶子的路径。在上面的图中已经用红色标出这样的路径。

然后,每条路径都会对应一条符号规则,所以我们就得到了n条(树的数目)符号规则:

ae_eforest_rule
ae_eforest_rule

然后,我们可以根据上面的规则推出MCR(最大完备规则),最大完备规则的意思是,在规则中的每一个约束的范围不能再扩大。如果扩大,则会产生冲突。

例如,由上面的规则集我们可以得到MCR:

ae_eforest_mcr
ae_eforest_mcr

可以发现MCR中每一项都不能再扩大范围了,如果扩大会与上面的规则集中的规则的某一项产生冲突。

那么显然,原始的数据肯定落在有MCR定义的范围内。

计算完MCR之后,就可以根据MCR重构原始样本了,目录型属性如上面的第三和第四属性只需要根据MCR中的指定取即可,而数值型属性则可以根据MCR中的范围取一个特殊值即可(中位数、均值、或者最大最小值)。

计算MCR的伪代码如下:

ae_eforest_algo2
ae_eforest_algo2

根据上面的描述,现在可以总结一下解码的过程。给定T棵树和编码完的T维向量:

首先根据编码完的T维向量从树中得到T个决策规则,再根据这些规则得到MCR,再根据MCR重构得到x,算法如下:

ae_eforest_algo3
ae_eforest_algo3

实验

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

推荐阅读更多精彩内容