ML learn Flashcards
List xgboost benefits
L1l2 reg prevents overfitting on high dimensional space
Missing values handling
Cross-validation
Allow early stopping
Option to look at the learning graph to choose different checkpoint
Multiple cpu optimised
Goes to deep trees -> allows more optimised trees for inference
Allow multiple objective functions
Easy interface (python)
XGBoost init
Data and a differentiable loss function
XGBoost step 1
Init the model with a constant value : F0=argmin (gamma) SUM i=1..n (yi, gamma)
XGBoost step 2 headline
m=1 to M
XGBoost step 2 a
compute r_im = [diff(L(yi, F(xi))/diff(F(xi))] when F(xi)=F_m-1(xi) for i=1..n
XGBoost 2 b
Fit a regression tree to the $r_{im}$ values and create terminal regions $R_{jm}$, for $j = 1, \dots, J_m$
XGBoost 2 c
For $j = 1, \dots, J_m$, compute
[
\gamma_{jm} = \arg\min_\gamma \sum_{x_i \in R_{jm}} L(y_i, F_{m-1}(x_i) + \gamma)
]
XGBoost 2 d
Update
[
F_m(x) = F_{m-1}(x) + \nu \sum_{j=1}^{J_m} \gamma_{jm} \mathbb{I}(x \in R_{jm})
]
XGBoost 3
Output Fm(x)
XGBoost start - explain in words what is the initial prediction
The value that minimises the loss function over the observations
XGBoost - explain in words how to refine the prediction over the previous prediciton
Add a tree that minimises the errors of the previous predictions
XGBoost - explain in words how to add the new tree prediction that minimises the errors of the previous prediction
Scale the tree with the learning rate