Gradient Boosting Machines Là Gì?

Gradient Boosting Machines (GBM) là một thuật toán học máy kết hợp nhiều cây quyết định (decision tree) yếu lại với nhau thành một mô hình mạnh. Cách nó hoạt động giống như việc một đội học cùng sửa lỗi sai – mỗi thành viên mới vào đội sẽ tập trung sửa những lỗi mà người trước chưa làm được.
Khác với Random Forest – nơi mỗi cây hoạt động độc lập rồi bỏ phiếu, GBM xây dựng cây theo tuần tự. Cây sau cố gắng sửa lỗi của cây trước. Cứ thế, độ chính xác tăng dần qua từng vòng.
GBM Hoạt Động Như Thế Nào?
Quá trình gradient boosting gồm 3 bước chính, lặp đi lặp lại:
Bước 1: Mô hình bắt đầu với một dự đoán đơn giản – thường là giá trị trung bình của tất cả dữ liệu. Chẳng hạn bạn đoán giá nhà, bước đầu tiên chỉ đưa ra một con số chung cho mọi căn.
Bước 2: Tính sai số (residual) giữa dự đoán và giá trị thực. Sai số này chính là “gradient” – hướng mà mô hình cần đi để cải thiện. Một cây quyết định mới được xây dựng để dự đoán chính sai số này.
Bước 3: Cập nhật dự đoán bằng cách cộng kết quả của cây mới vào mô hình hiện tại, nhân với một hệ số học (learning rate). Hệ số này nhỏ để tránh học quá nhanh rồi overfit.
Quá trình trên lặp lại vài trăm lần, mỗi lần thêm một cây mới sửa lỗi của tổ hợp cây trước đó. Kết quả cuối cùng là tổng của tất cả các cây.
Sự Khác Biệt Giữa GBM Và Random Forest
Nhiều người hay nhầm hai thuật toán này vì đều dùng cây quyết định. Nhưng cách chúng hoạt động hoàn toàn khác:
Random Forest: Xây nhiều cây song song, mỗi cây độc lập. Kết quả cuối là trung bình (bỏ phiếu). Đơn giản, ít overfit, nhưng mỗi cây không học từ lỗi của nhau.
GBM: Xây cây tuần tự, mỗi cây học từ sai số của tổ hợp cây trước. Thông thường chính xác hơn Random Forest, nhưng dễ overfit hơn và cần điều chỉnh tham số cẩn thận.
Một cách dễ nhớ: Random Forest như một hội đồng chuyên gia độc lập cùng cho ý kiến. GBM như một nhóm học sinh轮流 giải bài – người sau sửa lỗi người trước.
Tại Sao GBM Lại Mạnh Đến Vậy?
Sức mạnh của GBM nằm ở cơ chế boosting – biến nhiều mô hình yếu thành một mô hình mạnh. Mỗi cây quyết định đơn lẻ thường chỉ hơi tốt hơn đoán ngẫu nhiên (gọi là weak learner). Nhưng khi kết hàng trăm cây qua gradient boosting, mô hình cuối cùng đạt độ chính xác rất cao.
GBM cũng xử lý tốt nhiều loại dữ liệu khác nhau: bảng số, category, text đã vector hóa. Nó không yêu cầu chuẩn hóa dữ liệu (scaling) như neural network, nên ít công đoạn tiền xử lý hơn.
Đặc biệt, GBM có khả năng chọn lọc đặc trưng (feature importance) tự nhiên. Sau khi train, bạn biết ngay biến nào quan trọng nhất – điều rất hữu ích cho phân tích dữ liệu.
Các Phiên Bản GBM Phổ Biến
GBM gốc khá chậm và khó tinh chỉnh. Nên cộng đồng mã nguồn mở đã tạo ra nhiều phiên bản tối ưu:
XGBoost: Phiên bản nổi tiếng nhất, tối ưu tốc độ và bộ nhớ. Thắng vô số cuộc thi Kaggle. Hỗ trợ GPU, distributed computing, regularization tích hợp sẵn.
LightGBM: Microsoft phát triển, tốc độ train nhanh hơn XGBoost đáng kể trên dataset lớn. Sử dụng kỹ thuật histogram-based splitting và leaf-wise growth.
CatBoost: Yandex phát triển, xử lý biến category cực tốt mà không cần one-hot encoding thủ công. Giảm overfit tốt nhờ ordered boosting.
HistGradientBoosting: Tích hợp sẵn trong scikit-learn từ bản 0.21, lấy cảm hứng từ LightGBM. Đủ nhanh cho hầu hết ứng dụng, không cần cài thêm thư viện.
GBM Phù Hợp Với Bài Toán Nào?
GBM tỏa sáng nhất với dữ liệu dạng bảng (tabular data) – đúng kiểu dữ liệu bạn thấy trong Excel hay SQL. Các bài toán điển hình:
Dự đoán giá: Bất động sản, giá sản phẩm, dự báo doanh số. GBM nắm bắt quan hệ phi tuyến giữa các biến rất tốt.
Phân loại khách hàng: Dự đoán khách nào sẽ rời bỏ (churn), ai sẽ mua thêm (upsell), điểm tín dụng (credit scoring).
Phát hiện gian lận: Giao dịch bất thường, click tặc quảng cáo, bảo hiểm giả. GBM nhận diện pattern bất thường hiệu quả.
Cuộc thi Kaggle: Trước khi deep learning lên ngôi, GBM (đặc biệt XGBoost) là thuật toán “mặc định” cho hầu hết cuộc thi dữ liệu bảng. Ngay cả nay, nó vẫn cạnh tranh ngang ngửa với neural network trên dữ liệu tabular.
Hạn Chế Cần Lưu Ý
GBM không phải viên đạn bạc. Một số điểm yếu:
Dễ overfit: Nếu để số cây quá nhiều hoặc learning rate quá cao, mô hình sẽ học cả nhiễu. Cần kết hợp early stopping và regularization.
Train tuần tự: Không thể song song hóa hoàn toàn như Random Forest (vì cây sau phụ thuộc cây trước). XGBoost và LightGBM đã giải quyết một phần, nhưng vẫn chậm hơn một số thuật toán khác.
Không tốt với dữ liệu phi cấu trúc: Ảnh, video, âm thanh – đây là sân chơi của neural network. GBM không thích hợp cho các bài toán này.
Nhiều tham số: Số cây, learning rate, độ sâu cây, subsample… Điều chỉnh sai là giảm độ chính xác ngay. Cần grid search hoặc Bayesian optimization.
Lời Kết
Gradient Boosting Machines là một trong những thuật toán học máy有成 nhất từ trước đến nay. Nó cân bằng giữa độ chính xác cao và khả năng giải thích tốt – điều mà neural network thường khó làm được. Nếu bạn làm việc với dữ liệu bảng, GBM (hoặc XGBoost, LightGBM) nên là một trong những thuật ngữ đầu tiên bạn chọn thử.
Trong thời đại deep learning, GBM vẫn giữ vị trí vững chắc. Không phải lúc nào cũng cần neural network. Đôi khi, một ensemble cây quyết định đơn giản lại cho kết quả tốt hơn, nhanh hơn, và dễ hiểu hơn.
Thuật ngữ liên quan
- Adam Optimizer Là Gì? Giải Thích Dễ Hiểu Về Bộ Tối Ưu Hàng Đầu Deep Learning
- Backpropagation Là Gì? Giải Thích Dễ Hiểu Cho Người Mới
- Batch Normalization Là Gì? Giải Thích Dễ Hiểu Cho Người Mới
- Batch Normalization Là Gì? Giải Thích Dễ Hiểu Cho Người Mới
- Batch Size Là Gì? Giải Thích Dễ Hiểu Cho Người Mới
Xem toàn bộ thư viện thuật ngữ AI & SEO A-Z.