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,993評論 19 139
  • 一.樸素貝葉斯 1.分類理論 樸素貝葉斯是一種基于貝葉斯定理和特征條件獨立性假設的多分類的機器學習方法,所...
    wlj1107閱讀 3,160評論 0 5
  • 第9章 樹回歸 樹回歸 概述 我們本章介紹 CART(Classification And Regression ...
    Joyyx閱讀 1,150評論 0 3
  • 前幾天寫幾篇有關于GitHub的文章,收到不少關注,讓我這個一直玩單機版簡書的人,受寵若驚,有人問我GitHub不...
    水書閱讀 1,401評論 0 4
  • 很多故事,你都不會在最開始的時候愛上它。有時候甚至非但不會讓你喜歡,反而會讓你放棄開始。每一個故事都是一種人生。無...
    南北向向閱讀 356評論 0 1