Trade-off bias-variance

Machine Learning dengan Model Berbasis Pohon di R

Sandro Raabe

Data Scientist

Hyperparameter

  • Dipilih oleh pemodel
  • mis. tree_depth
  • Cek dokumentasi!
?decision_tree

beberapa hyperparameter

Machine Learning dengan Model Berbasis Pohon di R

Model sederhana

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

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

Model kompleks

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

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

pohon kedalaman 2

pohon kedalaman 30

Machine Learning dengan Model Berbasis Pohon di R

Model kompleks - overfitting - varians tinggi

Prediksi pada training: bagus!

galat kecil pada training

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

Prediksi pada test: meleset jauh!

galat besar pada test

mae(test_results, 
    estimate = .pred,
    truth = final_grade)
# A tibble: 1 x 3
  .metric  .estimate
1 mae          0.947
Machine Learning dengan Model Berbasis Pohon di R

Model sederhana - underfitting - bias tinggi

Galat besar pada training dan 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
Machine Learning dengan Model Berbasis Pohon di R

Trade-off bias-varians

trade-off bias-variance

 

  • Model sederhana -> bias tinggi
  • Model kompleks -> varians tinggi
  • Ada trade-off antara bias dan varians
  • Bangun model di titik optimal
Machine Learning dengan Model Berbasis Pohon di R

Mendeteksi overfitting

Out-of-sample/CV:

collect_metrics(cv_fits)


# A tibble: 1 x 3
  .metric    mean     n 
1 mae       2.432     5
  • Galat CV tinggi
  • Overfit / varians tinggi
  • Kurangi kompleksitas!

In-sample:

mae(training_pred, 
    estimate = .pred, 
    truth = final_grade)
# A tibble: 1 x 2
  .metric  .estimate
1 mae          0.228
  • Galat training kecil
Machine Learning dengan Model Berbasis Pohon di R

Mendeteksi underfitting

In-sample:

mae(training_pred, estimate = .pred, truth = final_grade)
# A tibble: 1 x 2
  .metric .estimate
  <chr>       <dbl>
1 mae         2.432
  • Galat in-sample/training besar
  • Underfit / bias tinggi
  • Tingkatkan kompleksitas!
Machine Learning dengan Model Berbasis Pohon di R

Mari kompromi!

Machine Learning dengan Model Berbasis Pohon di R

Preparing Video For Download...