Ajustarea hiperparametrilor

Câștigarea unei competiții Kaggle în Python

Yauhen Babakhin

Kaggle Grandmaster

Iterații

Model RMSE validare RMSE LB public Poziție LB public
Medie simplă 9.986 9.409 1449 / 1500
Medie de grup 9.978 9.407 1411 / 1500
Gradient Boosting 5.996 4.595 1109 / 1500
Adăugare caracteristică oră 5.553 4.352 1068 / 1500
Adăugare caracteristică distanță 5.268 4.103 1006 / 1500
... ... ... ...
Câștigarea unei competiții Kaggle în Python

Iterații

Model RMSE validare RMSE LB public Poziție LB public
Medie simplă 9.986 9.409 1449 / 1500
Medie de grup 9.978
Gradient Boosting 5.996 4.595 1109 / 1500
Adăugare caracteristică oră 5.553
Adăugare caracteristică distanță 5.268 4.103 1006 / 1500
... ... ... ...
Câștigarea unei competiții Kaggle în Python

Optimizarea hiperparametrilor

 

Tip de competiție Inginerie de caracteristici Optimizarea hiperparametrilor
Machine Learning clasic +++ +
Deep Learning - +++
Câștigarea unei competiții Kaggle în Python

Regresia Ridge

 

Regresia liniară prin cele mai mici pătrate

$$Loss = \sum_{i=1}^{N}{(y_i - \hat{y}_i)^2} \to \min$$

Câștigarea unei competiții Kaggle în Python

Regresia Ridge

 

Regresia liniară prin cele mai mici pătrate

$$Loss = \sum_{i=1}^{N}{(y_i - \hat{y}_i)^2} \to \min$$

Regresia Ridge

$$Loss = \sum_{i=1}^{N}{(y_i - \hat{y}_i)^2 + \alpha\sum_{j=1}^{K}{{w_j}^2}} \to \min$$

Câștigarea unei competiții Kaggle în Python

Strategii de optimizare a hiperparametrilor

 

  • Căutare în grilă. Se alege o grilă predefinită de valori
  • Căutare aleatorie. Se alege spațiul de căutare al valorilor
  • Optimizare bayesiană. Se alege spațiul de căutare al valorilor

schemă căutare în grilă

schemă căutare aleatorie

Câștigarea unei competiții Kaggle în Python

Căutare în grilă

# Possible alpha values
alpha_grid = [0.01, 0.1, 1, 10]

from sklearn.linear_model import Ridge results = {} # For each value in the grid for candidate_alpha in alpha_grid:
# Create a model with a specific alpha value ridge_regression = Ridge(alpha=candidate_alpha)
# Find the validation score for this model
# Save the results for each alpha value results[candidate_alpha] = validation_score
Câștigarea unei competiții Kaggle în Python

Să exersăm!

Câștigarea unei competiții Kaggle în Python

Preparing Video For Download...