Параметри проти гіперпараметрів

Налаштування гіперпараметрів у R

Dr. Shirin Elsinghorst

Senior Data Scientist

Про мене

Налаштування гіперпараметрів у R

«Гіпер»параметри vs параметри моделі

  • Розгляньмо приклад набору даних:
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
  • І збудуємо просту лінійну модель.
Налаштування гіперпараметрів у R

Почнімо з простого: параметри моделі в лінійній моделі

# 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 *
Налаштування гіперпараметрів у R

Почнімо з простого: параметри моделі в лінійній моделі

  • Параметри моделі підганяються (тобто знаходяться) під час навчання.
  • Це результат навчання або підгонки моделі.

  • У лінійній моделі ми шукаємо коефіцієнти.

linear_model$coefficients
(Intercept) fractal_dimension_mean 
   167.5972              -926.3866 
  • Їх можна уявити як нахил і перетин із віссю y нашої моделі.
Налаштування гіперпараметрів у R

Коефіцієнти в лінійній моделі

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

Налаштування гіперпараметрів у R

Параметри моделі vs гіперпараметри в лінійній моделі

  • Пам'ятайте: параметри моделі підганяються (знаходяться) під час навчання; це результат підгонки або навчання.

  • Гіперпараметри задаються до навчання.

  • Вони визначають, ЯК має відбуватися навчання.
args(lm)
help(lm)
?lm

linear_model <- lm(perimeter_worst ~ fractal_dimension_mean,
                   data = breast_cancer_data,
                   method = "qr")
Налаштування гіперпараметрів у R

Параметри vs гіперпараметри в машинному навчанні

У нашій лінійній моделі:

  • Коефіцієнти було знайдено під час підгонки.

 

  • method — це опція, яку задають до підгонки.

У машинному навчанні маємо, наприклад:

  • Ваги й зсуви нейромереж, що оптимізуються під час навчання => параметри моделі.
  • Опції на кшталт швидкості навчання, згасання ваг і кількості дерев у Random Forest, які можна налаштовувати => гіперпараметри.
Налаштування гіперпараметрів у R

Навіщо налаштовувати гіперпараметри?

  • Гравці фентезі-футболу ~ Гіперпараметри
  • Позиції футболістів ~ Значення гіперпараметрів
  • Знайти найкращу комбінацію гравців і позицій ~ Знайти найкращу комбінацію гіперпараметрів

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

Налаштування гіперпараметрів у R

Давайте потренуємось!

Налаштування гіперпараметрів у R

Preparing Video For Download...