Parametrar vs hyperparametrar

Hyperparameterjustering i R

Dr. Shirin Elsinghorst

Senior Data Scientist

Om mig

Hyperparameterjustering i R

"Hyper"parametrar vs modellparametrar

  • Vi tittar på en exempeldatamängd:
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
  • Sedan bygger vi en enkel linjär modell.
Hyperparameterjustering i R

Vi börjar enkelt: modellparametrar i en linjär modell

# 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 *
Hyperparameterjustering i R

Vi börjar enkelt: modellparametrar i en linjär modell

  • Modellparametrar anpassas (dvs. hittas) under träning.
  • De är resultatet av modellanpassning eller träning.

  • I en linjär modell vill vi hitta koefficienterna.

linear_model$coefficients
(Intercept) fractal_dimension_mean 
   167.5972              -926.3866 
  • Vi kan se dem som modellens lutning och y-skärningspunkt.
Hyperparameterjustering i R

Koefficienter i en linjär modell

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

Hyperparameterjustering i R

Modellparametrar vs hyperparametrar i en linjär modell

  • Kom ihåg: modellparametrar anpassas (dvs. hittas) under träning och är resultatet av modellanpassning eller träning.

  • Hyperparametrar anges innan träningen startar.

  • De styr HUR träningen ska gå till.
args(lm)
help(lm)
?lm

linear_model <- lm(perimeter_worst ~ fractal_dimension_mean,
                   data = breast_cancer_data,
                   method = "qr")
Hyperparameterjustering i R

Parametrar vs hyperparametrar inom maskininlärning

I vår linjära modell:

  • Koefficienterna hittades under anpassningen.

 

  • method var ett alternativ att ange innan anpassningen.

Inom maskininlärning kan vi ha:

  • Vikter och bias i neurala nätverk som optimeras under träning => modellparametrar.
  • Alternativ som inlärningshastighet, viktminskning och antal träd i en Random Forest-modell som kan justeras => hyperparametrar.
Hyperparameterjustering i R

Varför justera hyperparametrar?

  • Fantasyfotbollsspelare ~ Hyperparametrar
  • Spelarnas positioner ~ Hyperparametervärden
  • Hitta den bästa kombinationen av spelare och positioner ~ Hitta den bästa kombinationen av hyperparametrar

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

Hyperparameterjustering i R

Nu kör vi en övning!

Hyperparameterjustering i R

Preparing Video For Download...