LightGBM (GBT)
Description
The LightGBM policy utilizes the LightGBM framework, a highly efficient gradient boosting implementation. It builds an ensemble of decision trees sequentially, where each new tree corrects errors made by the previous ones. It's optimized for speed and memory usage, handles large datasets well, and supports various objectives, including classification, regression, and specialized learning-to-rank objectives like LambdaRank (implementing LambdaMART).
Policy Type: lightgbm
Supports: scoring_policy
Configuration Example (LambdaMART for Ranking)
scoring_policy_lightgbm_lambdarank.yaml
policy_configs:
scoring_policy:
policy_type: lightgbm
# Core Parameters
objective: "lambdarank" # Key for LTR: "binary", "regression", "lambdarank", "rank_xendcg"
n_estimators: 1000 # Number of trees (boosting rounds)
learning_rate: 0.05 # Step size shrinkage
# Tree Structure Parameters
max_depth: 8 # Max tree depth (-1 for no limit)
num_leaves: 31 # Max leaves per tree (consider tuning based on data)
min_child_weight: 1e-3 # Minimum sum of instance weight (hessian) needed in a child
# Regularization & Sampling Parameters
colsample_bytree: 0.8 # Fraction of features considered per tree
subsample: 0.8 # Fraction of data sampled per boosting iteration (bagging)
subsample_freq: 5 # Frequency for bagging (0 means disabled)
# Other Parameters
calibrate: false # Calibrate output probabilities (usually for binary objective)
References
- Ke, G., et al. (2017). LightGBM: A Highly Efficient Gradient Boosting Decision Tree. NeurIPS.
- Burges, C. J. C. (2010). From RankNet to LambdaRank to LambdaMART: An Overview. Microsoft Research Technical Report. (LambdaMART explanation).