Paramètres et hyperparamètres

Ajustement d'hyperparamètres en R

Dr. Shirin Elsinghorst

Senior Data Scientist

À propos de moi

Ajustement d'hyperparamètres en R

« Hyper »paramètres vs paramètres du modèle

  • Voyons un exemple d'ensemble de données :
head(breast_cancer_data)
# A tibble: 6 x 11
  diagnosis concavity_mean symmetry_mean fractal_dimension perimeter_se smoothness_se
  <chr>              <dbl>         <dbl>             <dbl>        <dbl>         <dbl>
1 M                 0.300          0.242            0.0787         8.59       0.00640
2 M                 0.0869         0.181            0.0567         3.40       0.00522
3 M                 0.197          0.207            0.0600         4.58       0.00615
4 M                 0.241          0.260            0.0974         3.44       0.00911
  • Puis construisons un modèle linéaire simple.
Ajustement d'hyperparamètres en R

Commençons simple : paramètres d'un modèle linéaire

# Create linear model
linear_model <- lm(perimeter_worst ~ fractal_dimension_mean, data = breast_cancer_data)
# Get coefficients
summary(linear_model)$coefficients
                       Estimate Std. Error t value Pr(>|t|)    
(Intercept)              167.60      25.91   6.469  3.9e-09 ***
fractal_dimension_mean  -926.39     392.86  -2.358   0.0204 *
Ajustement d'hyperparamètres en R

Commençons simple : paramètres d'un modèle linéaire

  • Les paramètres du modèle sont ajustés (c.-à-d. trouvés) pendant l'entraînement.
  • Ils sont le résultat de l'ajustement ou de l'entraînement.

  • Dans un modèle linéaire, on cherche les coefficients.

linear_model$coefficients
(Intercept) fractal_dimension_mean 
   167.5972              -926.3866 
  • On peut les voir comme la pente et l'ordonnée à l'origine du modèle.
Ajustement d'hyperparamètres en R

Coefficients dans un modèle linéaire

ggp <- ggplot(data = breast_cancer_data, 
              aes(x = fractal_dimension_mean, y = perimeter_worst)) +
        geom_point(color = "grey")

ggp + geom_abline(slope = linear_model$coefficients[2], intercept = linear_model$coefficients[1])

Ajustement d'hyperparamètres en R

Paramètres du modèle vs hyperparamètres dans un modèle linéaire

  • Rappel : les paramètres du modèle sont ajustés (trouvés) pendant l'entraînement ; ils sont le résultat de l'ajustement ou de l'entraînement.

  • Les hyperparamètres sont définis avant l'entraînement.

  • Ils précisent COMMENT se déroule l'entraînement.
args(lm)
help(lm)
?lm

linear_model <- lm(perimeter_worst ~ fractal_dimension_mean,
                   data = breast_cancer_data,
                   method = "qr")
Ajustement d'hyperparamètres en R

Paramètres vs hyperparamètres en machine learning

Dans notre modèle linéaire :

  • Les coefficients sont trouvés lors de l'ajustement.

 

  • method est une option à définir avant l'ajustement.

En machine learning, on peut avoir :

  • Les poids et biais des réseaux de neurones optimisés à l'entraînement ⇒ paramètres du modèle.
  • Des options comme le taux d'apprentissage, la pénalisation des poids et le nombre d'arbres d'une Forêt aléatoire à régler ⇒ hyperparamètres.
Ajustement d'hyperparamètres en R

Pourquoi ajuster les hyperparamètres ?

  • Joueurs de football fictif ~ Hyperparamètres
  • Postes des joueurs ~ Valeurs d'hyperparamètres
  • Trouver la meilleure combinaison joueurs-postes ~ Trouver la meilleure combinaison d'hyperparamètres

https://pixabay.com/photo-1493087/

Ajustement d'hyperparamètres en R

Passons à la pratique !

Ajustement d'hyperparamètres en R

Preparing Video For Download...