Bias-Variance-Trade-off

Maschinelles Lernen mit baumbasierten Modellen in R

Sandro Raabe

Data Scientist

Hyperparameter

  • Vom Modellierer gewählt
  • z. B. tree_depth
  • Doku prüfen!
?decision_tree

mehrere Hyperparameter

Maschinelles Lernen mit baumbasierten Modellen in R

Einfaches Modell

simple_spec <- decision_tree(tree_depth = 2) %>% 
    set_mode("regression")

simple_spec %>% fit(final_grade ~ .,
                    data = training_data)

Komplexes Modell

complex_spec <- decision_tree(tree_depth = 15) %>% 
    set_mode("regression")

complex_spec %>% fit(final_grade ~ .,
                     data = training_data)

Baum mit Tiefe 2

Baum mit Tiefe 30

Maschinelles Lernen mit baumbasierten Modellen in R

Komplexes Modell – Overfitting – hohe Varianz

Vorhersagen auf dem Trainingssatz: sehr gut!

kleine Fehler im Trainingssatz

mae(train_results, 
    estimate = .pred,
    truth = final_grade)
# A tibble: 1 x 3
  .metric  .estimate
1 mae          0.204

Vorhersagen auf dem Testsatz: weit daneben!

große Fehler im Testsatz

mae(test_results, 
    estimate = .pred,
    truth = final_grade)
# A tibble: 1 x 3
  .metric  .estimate
1 mae          0.947
Maschinelles Lernen mit baumbasierten Modellen in R

Einfaches Modell – Underfitting – hoher Bias

Große Fehler im Training und Test:

bind_rows(training = mae(train_results, estimate = .pred, truth = final_grade),
          test     = mae(test_results,  estimate = .pred, truth = final_grade),
          .id = "dataset")
# A tibble: 2 x 4
  dataset    .metric  .estimate
  <chr>      <chr>        <dbl>
1 training   mae          0.754
2 test       mae          0.844
Maschinelles Lernen mit baumbasierten Modellen in R

Der Bias-Variance-Trade-off

Bias-Variance-Trade-off

 

  • Einfache Modelle -> hoher Bias
  • Komplexe Modelle -> hohe Varianz
  • Abwägung zwischen Bias und Varianz
  • Modelle um den „Sweet Spot" bauen
Maschinelles Lernen mit baumbasierten Modellen in R

Overfitting erkennen

Out-of-sample/CV:

collect_metrics(cv_fits)


# A tibble: 1 x 3
  .metric    mean     n 
1 mae       2.432     5
  • Hoher CV-Fehler
  • Overfitting / hohe Varianz
  • Komplexität reduzieren!

In-sample:

mae(training_pred, 
    estimate = .pred, 
    truth = final_grade)
# A tibble: 1 x 2
  .metric  .estimate
1 mae          0.228
  • Kleiner Trainingsfehler
Maschinelles Lernen mit baumbasierten Modellen in R

Underfitting erkennen

In-sample:

mae(training_pred, estimate = .pred, truth = final_grade)
# A tibble: 1 x 2
  .metric .estimate
  <chr>       <dbl>
1 mae         2.432
  • Großer In-sample/Trainingsfehler
  • Underfitting / hoher Bias
  • Komplexität erhöhen!
Maschinelles Lernen mit baumbasierten Modellen in R

Lass uns abwägen!

Maschinelles Lernen mit baumbasierten Modellen in R

Preparing Video For Download...