LightGBM - 架構



LightGBM 按葉子節點(leaf-wise)方式分裂樹,而其他 Boosting 演算法則按層級(level-wise)方式構建樹。它會選擇它認為會導致損失函式最大下降的葉子節點進行分裂。Leaf-wise 方式根據葉子節點對全域性損失的貢獻進行分裂,而不是特定分支上的損失,因此它有時比 level-wise 方式“更快”地學習到錯誤更低的樹。

下圖顯示了一個假設的二叉 leaf-wise 樹與一個假設的二叉 level-wise 樹的分裂順序。有趣的是,leaf-wise 樹可以有多種排序,而 level-wise 樹始終具有相同的順序。

Leaf-wise 樹的生長

Leaf-wise 樹透過向能夠消除大部分錯誤的葉子節點(分支末端)新增分支來生長。可以將其理解為以關注模型犯錯最多區域的方式來發展樹,僅在需要時新增分支。

這種方法使樹在最重要的部分變得更深、更具體,這通常會產生更準確的模型,但它也可能導致更復雜的樹。

Leaf-wise Tree

Level-wise 樹的生長

Level-wise 樹透過在所有層級上均勻地擴充套件新的分支(葉子)來生長。可以將其理解為一棵樹一次生長一層分支。它首先在第 1 層新增分支,然後推進到第 2 層,依此類推。

這保持並減少了樹的複雜度,但它可能並不總是最佳選擇,因為它沒有關注需要更多細節的區域。

Level-wise Tree

LightGBM 架構的關鍵元件

LightGBM 的架構旨在最佳化效能、記憶體效率和模型一致性。以下是快速概述 -

  • Leaf-Wise 樹的生長:LightGBM 透過首先擴充套件最重要的部分來生長樹,從而產生更深、更準確的樹,並具有更少的整體樹。

  • 基於直方圖的學習:它透過將資料分類到箱(桶)中來加速訓練,從而減少查詢最佳分裂所需的時間和記憶體。

  • 基於梯度的單邊取樣 (GOSS):GOSS 只選擇最重要的資料點來加速訓練,同時保持準確性。

  • 獨佔特徵捆綁 (EFB):EFB 將很少出現的特徵組合在一起以節省記憶體並加速計算,這使得它對於具有大量特徵的資料非常有用。

  • 並行和 GPU 處理:LightGBM 可以透過使用多個 CPU 核心或 GPU 來更快地訓練模型,主要針對大型資料集。

LightGBM 的設計使用 leaf-wise 樹的生長、基於直方圖的學習、GOSS 和 EFB 方法來最大化效能和記憶體使用,同時保持高準確性。它的並行和 GPU 處理能力使其非常適合高效地完成大規模機器學習任務。

廣告

© . All rights reserved.