Strojenie hiperparametrów

Zwycięstwo w konkursie Kaggle w Pythonie

Yauhen Babakhin

Kaggle Grandmaster

Iteracje

Model Walidacja RMSE Public LB RMSE Pozycja Public LB
Prosta średnia 9.986 9.409 1449 / 1500
Średnia grupowa 9.978 9.407 1411 / 1500
Gradient Boosting 5.996 4.595 1109 / 1500
Dodaj cechę godziny 5.553 4.352 1068 / 1500
Dodaj cechę odległości 5.268 4.103 1006 / 1500
... ... ... ...
Zwycięstwo w konkursie Kaggle w Pythonie

Iteracje

Model Walidacja RMSE Public LB RMSE Pozycja Public LB
Prosta średnia 9.986 9.409 1449 / 1500
Średnia grupowa 9.978
Gradient Boosting 5.996 4.595 1109 / 1500
Dodaj cechę godziny 5.553
Dodaj cechę odległości 5.268 4.103 1006 / 1500
... ... ... ...
Zwycięstwo w konkursie Kaggle w Pythonie

Optymalizacja hiperparametrów

 

Typ konkursu Inżynieria cech Optymalizacja hiperparametrów
Klasyczne uczenie maszynowe +++ +
Głębokie uczenie - +++
Zwycięstwo w konkursie Kaggle w Pythonie

Regresja grzbietowa

 

Metoda najmniejszych kwadratów

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

Zwycięstwo w konkursie Kaggle w Pythonie

Regresja grzbietowa

 

Metoda najmniejszych kwadratów

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

Regresja grzbietowa

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

Zwycięstwo w konkursie Kaggle w Pythonie

Strategie optymalizacji hiperparametrów

 

  • Przeszukiwanie siatki. Wybór predefiniowanej siatki wartości hiperparametrów
  • Przeszukiwanie losowe. Wybór przestrzeni poszukiwań wartości hiperparametrów
  • Optymalizacja bayesowska. Wybór przestrzeni poszukiwań wartości hiperparametrów

schemat przeszukiwania siatki

schemat przeszukiwania losowego

Zwycięstwo w konkursie Kaggle w Pythonie

Przeszukiwanie siatki

# 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
Zwycięstwo w konkursie Kaggle w Pythonie

Czas na ćwiczenia!

Zwycięstwo w konkursie Kaggle w Pythonie

Preparing Video For Download...