Parameter vs. Hyperparameter

Hyperparameter-Tuning in R

Dr. Shirin Elsinghorst

Senior Data Scientist

Über mich

Hyperparameter-Tuning in R

„Hyper"-Parameter vs. Modellparameter

  • Schau dir ein Beispiel-Datensatz an:
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
  • Und baue ein einfaches lineares Modell.
Hyperparameter-Tuning in R

Starten wir einfach: Modellparameter in einem linearen 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 *
Hyperparameter-Tuning in R

Starten wir einfach: Modellparameter in einem linearen Modell

  • Modell-Parameter werden während des Trainings angepasst (also gefunden).
  • Sie sind das Ergebnis des Fitten bzw. Trainings.

  • Im linearen Modell suchen wir die Koeffizienten.

linear_model$coefficients
(Intercept) fractal_dimension_mean 
   167.5972              -926.3866 
  • Denk an Steigung und y-Achsenabschnitt unseres Modells.
Hyperparameter-Tuning in R

Koeffizienten in einem linearen 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])

Hyperparameter-Tuning in R

Modellparameter vs. Hyperparameter im linearen Modell

  • Erinnerung: Modell-Parameter werden während des Trainings angepasst; sie sind das Ergebnis des Fitten bzw. Trainings.

  • Hyperparameter werden vor dem Training festgelegt.

  • Sie bestimmen, wie das Training ablaufen soll.
args(lm)
help(lm)
?lm

linear_model <- lm(perimeter_worst ~ fractal_dimension_mean,
                   data = breast_cancer_data,
                   method = "qr")
Hyperparameter-Tuning in R

Parameter vs. Hyperparameter im maschinellen Lernen

In unserem linearen Modell:

  • Koeffizienten wurden beim Fitting gefunden.

 

  • method war eine Option, die vorher gesetzt wurde.

Im maschinellen Lernen gibt es z. B.:

  • Gewichte und Biases neuronaler Netze, die im Training optimiert werden => Modell-Parameter.
  • Optionen wie Lernrate, Weight Decay und Anzahl der Bäume in einem Random-Forest-Modell, die man abstimmen kann => Hyperparameter.
Hyperparameter-Tuning in R

Warum Hyperparameter tunen?

  • Fantasy-Football-Spieler ~ Hyperparameter
  • Positionen der Football-Spieler ~ Hyperparameter-werte
  • Die beste Kombination aus Spielern und Positionen finden ~ Die beste Kombination von Hyperparametern finden

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

Hyperparameter-Tuning in R

Lass uns üben!

Hyperparameter-Tuning in R

Preparing Video For Download...