Ajuste de hiperparâmetros

Vencendo uma competição do Kaggle em Python

Yauhen Babakhin

Kaggle Grandmaster

Iterações

Modelo RMSE de validação RMSE da LB pública Posição na LB pública
Média simples 9,986 9,409 1449 / 1500
Média por grupo 9,978 9,407 1411 / 1500
Gradient Boosting 5,996 4,595 1109 / 1500
Adicionar hora 5,553 4,352 1068 / 1500
Adicionar distância 5,268 4,103 1006 / 1500
... ... ... ...
Vencendo uma competição do Kaggle em Python

Iterações

Modelo RMSE de validação RMSE da LB pública Posição na LB pública
Média simples 9,986 9,409 1449 / 1500
Média por grupo 9,978
Gradient Boosting 5,996 4,595 1109 / 1500
Adicionar hora 5,553
Adicionar distância 5,268 4,103 1006 / 1500
... ... ... ...
Vencendo uma competição do Kaggle em Python

Otimização de hiperparâmetros

 

Tipo de competição Engenharia de atributos Otimização de hiperparâmetros
ML clássico +++ +
Deep Learning - +++
Vencendo uma competição do Kaggle em Python

Regressão Ridge

 

Regressão linear por mínimos quadrados

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

Vencendo uma competição do Kaggle em Python

Regressão Ridge

 

Regressão linear por mínimos quadrados

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

Regressão Ridge

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

Vencendo uma competição do Kaggle em Python

Estratégias de otimização de hiperparâmetros

 

  • Grid search. Escolha uma grade pré-definida de valores de hiperparâmetros
  • Random search. Defina o espaço de busca de valores de hiperparâmetros
  • Otimização Bayesiana. Defina o espaço de busca de valores de hiperparâmetros

esquema de grid search

esquema de random search

Vencendo uma competição do Kaggle em Python

Grid search

# 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
Vencendo uma competição do Kaggle em Python

Vamos praticar!

Vencendo uma competição do Kaggle em Python

Preparing Video For Download...