Parâmetros vs hiperparâmetros

Ajuste de hiperparâmetros em R

Dr. Shirin Elsinghorst

Senior Data Scientist

Sobre mim

Ajuste de hiperparâmetros em R

"Hiper"parâmetros vs parâmetros do modelo

  • Vamos ver um exemplo de conjunto de dados:
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 construir um modelo linear simples.
Ajuste de hiperparâmetros em R

Começando simples: parâmetros em um modelo linear

# 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 *
Ajuste de hiperparâmetros em R

Começando simples: parâmetros em um modelo linear

  • Os parâmetros do modelo são ajustados (ou seja, encontrados) durante o treino.
  • Eles são o resultado do ajuste/treinamento.

  • Em um modelo linear, queremos encontrar os coeficientes.

linear_model$coefficients
(Intercept) fractal_dimension_mean 
   167.5972              -926.3866 
  • Podemos pensar neles como a inclinação e o intercepto em y do modelo.
Ajuste de hiperparâmetros em R

Coeficientes em um modelo linear

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

Ajuste de hiperparâmetros em R

Parâmetros vs hiperparâmetros em um modelo linear

  • Lembre: parâmetros do modelo são ajustados (ou seja, encontrados) durante o treino; eles são o resultado do ajuste/treinamento.

  • Hiperparâmetros são definidos antes do treino.

  • Eles especificam COMO o treinamento deve acontecer.
args(lm)
help(lm)
?lm

linear_model <- lm(perimeter_worst ~ fractal_dimension_mean,
                   data = breast_cancer_data,
                   method = "qr")
Ajuste de hiperparâmetros em R

Parâmetros vs hiperparâmetros em machine learning

No nosso modelo linear:

  • Os coeficientes foram encontrados no ajuste.

 

  • method foi uma opção para definir antes do ajuste.

Em machine learning podemos ter:

  • Pesos e vieses de redes neurais otimizados no treino => parâmetros do modelo.
  • Opções como taxa de aprendizado, weight decay e número de árvores em um Random Forest que podem ser ajustadas => hiperparâmetros.
Ajuste de hiperparâmetros em R

Por que ajustar hiperparâmetros?

  • Jogadores de fantasy football ~ Hiperparâmetros
  • Posições dos jogadores ~ Valores dos hiperparâmetros
  • Encontrar a melhor combinação de jogadores e posições ~ Encontrar a melhor combinação de hiperparâmetros

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

Ajuste de hiperparâmetros em R

Vamos praticar!

Ajuste de hiperparâmetros em R

Preparing Video For Download...