---
title: "輕量梯度提升機（LightGBM）"
slug: lightgbm
language: zh-TW
source: https://aiterms.tw/terms/lightgbm
updated_at: 2026-07-30
tags: [機器學習, 梯度提升, LightGBM, 大規模資料, 類別特徵]
ipas_term: false
---

# 輕量梯度提升機（LightGBM）

微軟開發的高效梯度提升實現，採用葉子生長策略和直方圖優化，訓練速度和記憶體效率通常。

## 完整說明

LightGBM（Light Gradient Boosting Machine，輕量梯度提升機）由微軟於 2016 年開源，是梯度提升在大規模資料上的優化方案。相比 XGBoost 的層級樹生長，LightGBM 採用葉子優先（Leaf-wise）的生長策略，只展開使損失下降最多的葉子，結合直方圖優化和類別特徵自動處理，使訓練速度快 20 倍、記憶體佔用少一半，特別適合百萬級以上的超大資料集。

## 常見問題

### LightGBM 為什麼用葉子優先而不是層級優先？

葉子優先的核心優勢是效率：它每次只展開使損失下降最多的一個葉子，而層級優先必須展開同層的所有節點。想象在每層都有 1000 個節點的樹中，層級優先要遍歷 1000 個候選分裂點；葉子優先只在最優的幾個葉子上進行分裂。結果是用更少的樹達到相同精度，訓練速度大幅提升。缺點是樹的結構不均衡，可能更容易過擬合（因為深度不受限），所以 LightGBM 對防過擬合的參數調優要求更高。XGBoost 選層級優先是出於「穩定性和可控性」的工程考量，LightGBM 選葉子優先是出於「大規模資料上的效率」的產品定位。

### LightGBM 直方圖優化會不會影響精度？

會有輕微影響，但通常不大。直方圖優化的損失來自於分段化：若一個特徵的最優分裂點恰好在某個 Bin 的邊界，精確計算和直方圖計算會給出略有不同的結果。但在大多數真實資料上，這種差異可以忽略不計，因為：第一，通常用 256 個 Bins，分段很細；第二，整體 Boosting 過程會補償小的精度損失；第三，直方圖優化帶來的速度提升（訓練時間少一個數量級）通常遠超過精度的輕微損失。在實驗中，XGBoost 和 LightGBM 的最終性能通常不相上下，甚至在大資料上 LightGBM 因為能訓練更多迭代輪次反而精度更好。

### LightGBM 的類別特徵原生支持是怎麼工作的？

LightGBM 在分裂時，對於類別特徵會自動搜尋最優的類別分組：例如一個有 10 個類別的特徵，LightGBM 會嘗試各種分組方式（如類別 {A, C, E} 走左、其他走右），找出使損失下降最多的分組。這個搜索過程利用了排序技巧加速，不是暴力枚舉。這種原生支持比 One-Hot 編碼優勢在於：第一，保留了類別的自然結構（不會把類別變成高維向量）；第二，節省記憶體（若有 100 個類別，One-Hot 會變成 100 維，LightGBM 保持 1 維）；第三，能學到複雜的類別分組（One-Hot 後分類器只能線性組合各類別）。在有大量類別特徵的真實資料上（如用戶行為、地理位置等），這個優勢非常明顯。

---

來源：https://aiterms.tw/terms/lightgbm
快查頁：https://aiterms.tw/terms/lightgbm
最後更新：2026/07/30
深度解說：https://aiterms.tw/learning/what-is-lightgbm