Boosting là gì?

Gradient Boosting Cực Mạnh với XGBoost

Sergey Fogelson

Head of Data Science, TelevisaUnivision

Tổng quan về Boosting

  • Không phải một thuật toán Machine Learning cụ thể
  • Khái niệm có thể áp dụng cho một tập mô hình Machine Learning
    • "Meta-algorithm"
  • Meta-algorithm dạng ensemble dùng để biến nhiều weak learner thành một strong learner
Gradient Boosting Cực Mạnh với XGBoost

Weak learner và strong learner

  • Weak learner: thuật toán ML chỉ tốt hơn ngẫu nhiên một chút
    • Ví dụ: Cây quyết định dự đoán chỉ nhỉnh hơn 50%
  • Boosting biến một tập weak learner thành một strong learner
  • Strong learner: bất kỳ thuật toán nào có thể tinh chỉnh để đạt hiệu năng tốt
Gradient Boosting Cực Mạnh với XGBoost

Boosting được thực hiện như thế nào

  • Học lặp dần một tập mô hình yếu trên các tập con của dữ liệu
  • Gán trọng số cho từng dự đoán yếu theo hiệu năng của weak learner đó
  • Kết hợp các dự đoán đã trọng số để thu được một dự đoán duy nhất
  • ... tốt hơn nhiều so với từng dự đoán riêng lẻ!
Gradient Boosting Cực Mạnh với XGBoost

Ví dụ về Boosting

1 https://xgboost.readthedocs.io/en/latest/model.html
Gradient Boosting Cực Mạnh với XGBoost

Đánh giá mô hình bằng cross-validation

  • Cross-validation: phương pháp vững để ước lượng hiệu năng mô hình trên dữ liệu chưa thấy
  • Tạo nhiều lần chia train/test không chồng lặp trên dữ liệu huấn luyện
  • Báo cáo hiệu năng trung bình trên tập test qua tất cả các lần chia
Gradient Boosting Cực Mạnh với XGBoost

Cross-validation trong ví dụ XGBoost

import xgboost as xgb
import pandas as pd

churn_data = pd.read_csv("classification_data.csv")
churn_dmatrix = xgb.DMatrix(data=churn_data.iloc[:,:-1], label=churn_data.month_5_still_here)
params={"objective":"binary:logistic","max_depth":4}
cv_results = xgb.cv(dtrain=churn_dmatrix, params=params, nfold=4, num_boost_round=10, metrics="error", as_pandas=True)
print("Accuracy: %f" %((1-cv_results["test-error-mean"]).iloc[-1]))
Accuracy: 0.88315
Gradient Boosting Cực Mạnh với XGBoost

Cùng luyện tập nào!

Gradient Boosting Cực Mạnh với XGBoost

Preparing Video For Download...