Ultralytics YOLO27: Đăng ký vào danh sách chờ.
Cấp phép YOLO
Quay lại Bảng thuật ngữ Ultralytics

LightGBM

LightGBM là framework gradient boosting phát triển cây quyết định theo từng lá từ histogram đặc trưng để huấn luyện nhanh trên các dataset dạng bảng lớn.

LightGBM (Light Gradient Boosting Machine) là framework gradient boosting mã nguồn mở, huấn luyện các ensemble gồm decision tree trên dữ liệu dạng bảng, được xây dựng để đạt tốc độ cao và dùng ít bộ nhớ trên các dataset lớn. Microsoft phát hành framework này vào năm 2016 và mô tả các thuật toán trong bài báo NeurIPS 2017 LightGBM: Cây quyết định Gradient Boosting hiệu quả cao. Tháng 3 năm 2026, repository chính thức được chuyển sang tổ chức GitHub lightgbm-org dưới quyền các maintainer cũ. LightGBM xử lý classification, regression và ranking từ Python, R, C++ và command line; framework này xuất hiện trong nhiều lời giải chiến thắng tại các cuộc thi machine learning. Với các bảng dữ liệu cỡ vừa, khoảng 10,000 hàng, những tree ensemble như LightGBM vẫn thường vượt trội hơn deep learning.

Cách LightGBM hoạt động#

Gradient boosting xây dựng từng cây một. Mỗi cây mới được khớp với gradient của hàm loss theo dự đoán của ensemble hiện tại; với sai số bình phương, các gradient này chính là residual, nên cây mới sửa các lỗi mà những cây trước đó còn để lại. Dự đoán của model là tổng đầu ra của tất cả cây, mỗi đầu ra được nhân với một learning rate. Bước tốn kém nhất là tìm phép chia tốt nhất cho từng node; LightGBM tăng tốc bước này bằng bốn kỹ thuật:

  • Phép chia dựa trên histogram: Trước khi huấn luyện, LightGBM chia mỗi feature liên tục thành tối đa 255 bin (max_bin). Việc tìm phép chia quét qua ranh giới các bin thay vì từng giá trị đã sắp xếp; sau một lần chia, histogram của nhánh con nhỏ hơn được tạo từ dữ liệu, vì histogram của nhánh lớn hơn bằng histogram của nút cha trừ đi histogram của nhánh nhỏ hơn.
  • Phát triển theo lá: LightGBM luôn chia lá có phép chia tốt nhất giúp giảm loss nhiều nhất, cho đến khi cây có num_leaves lá (mặc định là 31), thay vì chia mọi node ở cùng một độ sâu trước khi đi sâu hơn. Với cùng số lá, cách này đạt loss thấp hơn phát triển theo tầng, đồng thời tạo ra các cây sâu và lệch có thể overfit trên dataset nhỏ.
  • Lấy mẫu một phía dựa trên gradient (GOSS): Các hàng có gradient lớn là những hàng mà model vẫn dự đoán kém. Với data_sample_strategy="goss", LightGBM giữ lại 20% số hàng có gradient lớn nhất, lấy mẫu ngẫu nhiên thêm 10% từ phần còn lại và tăng trọng số của mẫu đó để phân phối dữ liệu gần với ban đầu.
  • Gộp feature độc quyền (EFB): Các feature thưa hiếm khi đồng thời khác 0, chẳng hạn các cột one-hot, được gộp thành một feature duy nhất, giúp giảm số histogram cần tạo.

Mỗi cây được phát triển bằng cách lặp lại quá trình tìm phép chia cho đến khi hết ngân sách lá hoặc không còn phép chia nào hữu ích; boosting lặp lại quy trình này ở mỗi vòng:

LightGBM cũng chia trực tiếp các feature phân loại được mã hóa bằng số nguyên khi chúng được liệt kê trong categorical_feature, nhóm các category tại mỗi lần chia mà không cần one-hot encoding, đồng thời xử lý giá trị bị thiếu theo mặc định. Việc huấn luyện chạy trên CPU, trên GPU (device_type="gpu" hoặc "cuda"), và trên nhiều máy bằng các learner phân tán.

Huấn luyện và tinh chỉnh LightGBM#

Các class LGBMClassifier, LGBMRegressor và LGBMRanker theo phong cách scikit-learn đáp ứng hầu hết trường hợp sử dụng. Vì cây phát triển theo lá có thể rất sâu, các tham số chính để chống overfit là num_leaves, min_child_samples (mặc định 20 hàng mỗi lá) và max_depth, cùng với learning rate và số lượng cây; các giá trị này thường được xác định bằng tinh chỉnh hyperparameter hoặc early stopping trên validation set. Lợi ích của histogram và phát triển theo lá thể hiện rõ khi so với gradient boosting chia chính xác cổ điển của scikit-learn trên bảng dữ liệu tổng hợp gồm 20,000 hàng và 40 feature:

import time

import lightgbm as lgb
from sklearn.datasets import make_classification
from sklearn.ensemble import GradientBoostingClassifier
from sklearn.model_selection import train_test_split

X, y = make_classification(n_samples=20_000, n_features=40, n_informative=15, random_state=0)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)

# 200 trees each: exact split search vs. LightGBM's histograms and leaf-wise growth
for model in (GradientBoostingClassifier(n_estimators=200), lgb.LGBMClassifier(n_estimators=200, verbose=-1)):
    start = time.perf_counter()
    model.fit(X_train, y_train)
    seconds = time.perf_counter() - start
    print(f"{type(model).__name__}: {seconds:.1f} s, accuracy {model.score(X_test, y_test):.3f}")

Trên CPU Apple M5 Pro, LightGBM phát triển 200 cây, mỗi cây tối đa 31 lá, trong chưa đầy một giây; trong khi scikit-learn cần khoảng 20 giây để tạo 200 cây chia chính xác có độ sâu 3. Các cây lớn hơn của LightGBM đạt độ chính xác kiểm thử 0.956, so với 0.901. Model đã huấn luyện có thể được lưu dưới dạng text hoặc JSON; onnxmltools chuyển đổi model sang ONNX để triển khai inference bên ngoài Python.

  • XGBoost: Thư viện gradient boosting đã phổ biến hóa boosting có regularization, bậc hai vào năm 2014. Theo mặc định, thư viện phát triển các cây giới hạn độ sâu (max_depth=6), hỗ trợ phát triển theo lá bằng grow_policy="lossguide" và mặc định sử dụng phương pháp tìm phép chia bằng histogram từ phiên bản 2.0; do đó, hiện nay hai thư viện chia sẻ hầu hết kỹ thuật.
  • CatBoost: Thư viện boosting của Yandex, phát hành năm 2017, xây dựng các cây đối xứng và mã hóa feature phân loại bằng thống kê target có thứ tự để hạn chế rò rỉ target.
  • Random forest: Huấn luyện độc lập các cây sâu trên những mẫu bootstrap rồi lấy trung bình dự đoán của chúng, qua đó giảm variance.
  • HistGradientBoosting: HistGradientBoostingClassifier và HistGradientBoostingRegressor của scikit-learn là các triển khai lấy cảm hứng từ LightGBM, cũng chia feature thành các bin histogram theo cùng cách.
  • Foundation model dạng bảng: Các Transformer pretrained như TabPFN dự đoán trên bảng dữ liệu nhỏ chỉ bằng một lượt forward, không cần huấn luyện riêng cho từng dataset.

Ứng dụng thực tế#

  • Gian lận và rủi ro tín dụng: Ngân hàng chấm điểm giao dịch và đơn vay dựa trên lịch sử tài khoản, đơn vị bán hàng, số tiền và feature thời điểm; khả năng inference nhanh của LightGBM phù hợp với các quyết định theo từng giao dịch.
  • Dự báo nhu cầu: Nhà bán lẻ dự đoán doanh số theo sản phẩm và cửa hàng dựa trên doanh số trễ, giá, khuyến mãi và feature lịch. Lưu lượng khách là một đầu vào phổ biến: đếm đối tượng bằng Ultralytics YOLO26 theo dõi những người đi qua một đường trong video cửa hàng và báo cáo số lượt vào, ra theo từng class; tổng số theo giờ trở thành feature cho dự báo nhân sự bằng LightGBM.
  • Ranking trong tìm kiếm và đề xuất: LGBMRanker mặc định huấn luyện với objective LambdaRank, sắp xếp tài liệu hoặc sản phẩm trong từng nhóm truy vấn để tối ưu normalized discounted cumulative gain (NDCG).

Khám phá các giải pháp

Thị giác máy tính trong thể thao

Thị giác máy tính trong thể thao

Khám phá cách Ultralytics YOLO thúc đẩy thị giác máy tính trong thể thao với khả năng theo dõi cầu thủ và bóng, phân tích hiệu suất, cung cấp thông tin chuyên sâu cho huấn luyện và hỗ trợ phục hồi cho vận động viên.
Tìm hiểu thêm
Thị giác máy tính cho ảnh hàng không

Thị giác máy tính cho ảnh hàng không

Chuyển hình ảnh từ drone và ảnh hàng không thành thông tin chuyên sâu theo thời gian thực cho nông nghiệp, nuôi trồng thủy sản, bảo tồn và phân tích không gian địa lý với Ultralytics YOLO.
Tìm hiểu thêm
Thị giác máy tính trong hàng không vũ trụ

Thị giác máy tính trong hàng không vũ trụ

Ứng dụng computer vision trong ngành hàng không vũ trụ với Ultralytics YOLO cho kiểm tra máy bay, phát hiện dị vật trên đường băng (FOD), vận hành mặt đất tại sân bay và phát hiện lỗi vật liệu composite.
Tìm hiểu thêm
Computer vision trong lĩnh vực an ninh

Computer vision trong lĩnh vực an ninh

Bảo vệ mọi địa điểm bằng model Ultralytics YOLO. Vision AI hỗ trợ giám sát vành đai, phát hiện mối đe dọa, nhận dạng biển số và an toàn nơi làm việc.
Tìm hiểu thêm
Computer vision trong robotics

Computer vision trong robotics

Tăng cường năng lực cho máy móc thông minh bằng model Ultralytics YOLO. Vision AI trong lĩnh vực robotics hỗ trợ điều hướng tự động, nhận thức, theo dõi đối tượng và điều khiển theo thời gian thực.
Tìm hiểu thêm
Thị giác máy tính trong logistics

Thị giác máy tính trong logistics

Tinh giản hoạt động logistics với các model Ultralytics YOLO. Vision AI hỗ trợ kiểm tra kiện hàng, phân loại, theo dõi phương tiện và giám sát an toàn kho hàng theo thời gian thực.
Tìm hiểu thêm
Thị giác máy tính trong bán lẻ

Thị giác máy tính trong bán lẻ

Định hình lại hoạt động bán lẻ với các model Ultralytics YOLO. Vision AI hỗ trợ theo dõi hàng tồn kho, giám sát kệ hàng, quản lý hàng chờ và phân tích khách hàng thông minh hơn.
Tìm hiểu thêm
Thị giác máy tính trong chăm sóc sức khỏe

Thị giác máy tính trong chăm sóc sức khỏe

Xây dựng các giải pháp chăm sóc sức khỏe với model Ultralytics YOLO. Vision AI trong chăm sóc sức khỏe hỗ trợ xử lý hình ảnh y tế nhanh hơn, chẩn đoán thông minh hơn và theo dõi bệnh nhân.
Tìm hiểu thêm
Thị giác máy tính trong sản xuất

Thị giác máy tính trong sản xuất

Tối ưu hóa sản xuất bằng các model Ultralytics YOLO. Vision AI thúc đẩy kiểm soát chất lượng, phát hiện lỗi, tuân thủ PPE và tự động hóa dây chuyền lắp ráp.
Tìm hiểu thêm
Thị giác máy tính trong ngành ô tô

Thị giác máy tính trong ngành ô tô

Ứng dụng thị giác máy tính trong ngành ô tô với các model Ultralytics YOLO. Vision AI nâng cao an toàn giao thông, hỗ trợ người lái và tự động hóa phương tiện để tạo nên những tuyến đường thông minh hơn.
Tìm hiểu thêm
Thị giác máy tính trong nông nghiệp

Thị giác máy tính trong nông nghiệp

Ứng dụng AI thị giác vào nông nghiệp thông minh với các model Ultralytics YOLO. Hỗ trợ giám sát cây trồng, theo dõi vật nuôi và canh tác chính xác để nâng cao năng suất một cách thông minh hơn.
Tìm hiểu thêm

Hãy cùng nhau kiến tạo tương lai của AI!

Bắt đầu hành trình hướng đến tương lai của machine learning