Parametri vs. hiperparametri

Ajustarea hiperparametrilor în R

Dr. Shirin Elsinghorst

Senior Data Scientist

Despre mine

Ajustarea hiperparametrilor în R

"Hiper"parametri vs. parametrii modelului

  • Să analizăm un set de date exemplu:
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
  • Și vom construi un model liniar simplu.
Ajustarea hiperparametrilor în R

Să începem simplu: parametrii modelului liniar

# 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 *
Ajustarea hiperparametrilor în R

Să începem simplu: parametrii modelului liniar

  • Parametrii modelului sunt determinați (găsiți) în timpul antrenării.
  • Ei reprezintă rezultatul antrenării.

  • Într-un model liniar, dorim să găsim coeficienții.

linear_model$coefficients
(Intercept) fractal_dimension_mean 
   167.5972              -926.3866 
  • Îi putem considera panta și intersecția cu axa y a modelului.
Ajustarea hiperparametrilor în R

Coeficienți într-un model liniar

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

Ajustarea hiperparametrilor în R

Parametrii modelului vs. hiperparametri într-un model liniar

  • Reamintire: parametrii modelului sunt determinați (găsiți) în timpul antrenării; ei reprezintă rezultatul antrenării.

  • Hiperparametrii se setează înainte de antrenare.

  • Ei specifică CUM trebuie să se desfășoare antrenarea.
args(lm)
help(lm)
?lm

linear_model <- lm(perimeter_worst ~ fractal_dimension_mean,
                   data = breast_cancer_data,
                   method = "qr")
Ajustarea hiperparametrilor în R

Parametri vs. hiperparametri în machine learning

În modelul liniar:

  • Coeficienții au fost determinați în timpul antrenării.

 

  • method a fost o opțiune setată înainte de antrenare.

În machine learning putem avea:

  • Ponderi și biasuri ale rețelelor neuronale optimizate în timpul antrenării => parametrii modelului.
  • Opțiuni precum rata de învățare, weight decay și numărul de arbori într-un model Random Forest => hiperparametri.
Ajustarea hiperparametrilor în R

De ce să ajustăm hiperparametrii?

  • Jucătorii din fantasy football ~ Hiperparametri
  • Pozițiile jucătorilor ~ Valorile hiperparametrilor
  • Găsirea celei mai bune combinații de jucători și poziții ~ Găsirea celei mai bune combinații de hiperparametri

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

Ajustarea hiperparametrilor în R

Vamos praticar!

Ajustarea hiperparametrilor în R

Preparing Video For Download...