Parametri vs iperparametri

Ottimizzazione degli iperparametri in R

Dr. Shirin Elsinghorst

Senior Data Scientist

Su di me

Ottimizzazione degli iperparametri in R

Iperparametri vs parametri del modello

  • Vediamo un esempio di insieme di dati:
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
  • E costruiamo un semplice modello lineare.
Ottimizzazione degli iperparametri in R

Partiamo semplice: parametri del modello in un modello lineare

# 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 *
Ottimizzazione degli iperparametri in R

Partiamo semplice: parametri del modello in un modello lineare

  • I parametri del modello vengono stimati (cioè trovati) durante l'addestramento.
  • Sono il risultato del fitting/addestramento.

  • In un modello lineare vogliamo trovare i coefficienti.

linear_model$coefficients
(Intercept) fractal_dimension_mean 
   167.5972              -926.3866 
  • Possiamo pensarli come pendenza e intercetta del modello.
Ottimizzazione degli iperparametri in R

Coefficienti in un modello lineare

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])

Ottimizzazione degli iperparametri in R

Parametri del modello vs iperparametri in un modello lineare

  • Ricorda: i parametri del modello vengono stimati (cioè trovati) durante l'addestramento; sono il risultato del fitting/addestramento.

  • Gli iperparametri vengono impostati prima dell'addestramento.

  • Specificano COME deve avvenire l'addestramento.
args(lm)
help(lm)
?lm

linear_model <- lm(perimeter_worst ~ fractal_dimension_mean,
                   data = breast_cancer_data,
                   method = "qr")
Ottimizzazione degli iperparametri in R

Parametri vs iperparametri nel machine learning

Nel nostro modello lineare:

  • I coefficienti sono stati trovati durante il fitting.

 

  • method era un'opzione da impostare prima del fitting.

Nel machine learning potremmo avere:

  • Pesi e bias delle reti neurali ottimizzati durante l'addestramento => parametri del modello.
  • Opzioni come learning rate, weight decay e numero di alberi in un modello Random Forest che si possono regolare => iperparametri.
Ottimizzazione degli iperparametri in R

Perché ottimizzare gli iperparametri?

  • Giocatori del fantacalcio ~ Iperparametri
  • Ruoli dei giocatori ~ Valori degli iperparametri
  • Trovare la combinazione migliore di giocatori e ruoli ~ Trovare la migliore combinazione di iperparametri

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

Ottimizzazione degli iperparametri in R

Esercitiamoci!

Ottimizzazione degli iperparametri in R

Preparing Video For Download...