A Streaming Parallel Decision Tree Algorithm

1. Abstract

  • processors快速构建histogram,把数据压缩到固定的大小
  • master processor找到近似最优的split点
  • 分析了算法的准确性

2. Intro

  • 决策树的一大优点是提供了human-readable的分类rules
  • 缺点是需要对属性排序以确定如何split节点
  • 排序过于耗时的两种解决办法:对数据进行预排序;用sampling或者直方图来代替排序
  • Horizontal parallelism: 切分数据到processors
  • Vertical parallelism: 切分属性到processors
  • focus on 近似算法
  • 每个processor将自己数据的近似描述发送给master processor,master汇总信息,决定如何split

3. Algorithm description

  • 数据切分的必要性:单机无法存储;无法到达单机;无法在一定时间内处理所有数据

3.1. Histogram building

  • 四个procedures:update、merge、sum、uniform
  • merge:第一步,两个histogram合并为一个histogram;第二步,合并最近的两个bins,保证最多只有B个bins
  • uniform:将直方图均一化,也就是每个bin里的数据数量是一样的

3.2. Tree growing

  • 停止条件:node上sample的数量;node的impurity
  • 最常见的impurity函数:Gini criterion和entropy function
  • 每个processor处理他们能看到的数据,建立直方图,然后发送给master processor
  • 决策树在训练中或者训练后被剪枝,为了减小树的大小,为了增强模型的泛化性;对完整的树丛bottom到up检测,一些子树被剪枝,根据剪枝前后误差的变化

3.3. 复杂度分析

  • 直方图bin的数量是固定的,直方图的操作的时间是固定的
  • 一轮迭代需要:At most N/W operations by each processor in the updating phase(N是数据大小,W是processors数量);固定的space和communication复杂度;merge phase需要固定的时间

4. Related work

  • 第一类算法有被证明的近似保证,但是需要很大的内存,需要的空间与数据大小成正比
  • 第二类是启发式的方法,在实际中很有用,需要较少的空间开销,但是缺少严格的准确性分析
  • 固定内存算法会带来准确率的代价。当数据分布是倾斜的,在线直方图的准确率会下降
  • SPDT与SPIES和pCLOUDS的区别:第一个不同是,SPIES和pClOUDS采样数据,SPDT不采样;第二个不同是需不需要对数据的第二轮扫描;第三个不同是,本文分析了并行树与顺序树的error
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,908评论 18 139
  • 一.朴素贝叶斯 1.分类理论 朴素贝叶斯是一种基于贝叶斯定理和特征条件独立性假设的多分类的机器学习方法,所...
    wlj1107阅读 3,148评论 0 5
  • 第9章 树回归 树回归 概述 我们本章介绍 CART(Classification And Regression ...
    Joyyx阅读 1,149评论 0 3
  • 前几天写几篇有关于GitHub的文章,收到不少关注,让我这个一直玩单机版简书的人,受宠若惊,有人问我GitHub不...
    水书阅读 1,398评论 0 4
  • 很多故事,你都不会在最开始的时候爱上它。有时候甚至非但不会让你喜欢,反而会让你放弃开始。每一个故事都是一种人生。无...
    南北向向阅读 356评论 0 1