Đánh đổi độ chệch–phương sai

Machine Learning với Mô hình Dựa trên Cây trong R

Sandro Raabe

Data Scientist

Siêu tham số

  • Do người xây dựng mô hình chọn
  • ví dụ: tree_depth
  • Xem tài liệu!
?decision_tree

nhiều siêu tham số

Machine Learning với Mô hình Dựa trên Cây trong R

Mô hình đơn giản

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

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

Mô hình phức tạp

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

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

cây độ sâu 2

cây độ sâu 30

Machine Learning với Mô hình Dựa trên Cây trong R

Mô hình phức tạp - quá khớp - phương sai cao

Dự đoán trên tập huấn luyện: rất tốt!

lỗi nhỏ trên tập huấn luyện

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

Dự đoán trên tập kiểm tra: lệch xa!

lỗi lớn trên tập kiểm tra

mae(test_results, 
    estimate = .pred,
    truth = final_grade)
# A tibble: 1 x 3
  .metric  .estimate
1 mae          0.947
Machine Learning với Mô hình Dựa trên Cây trong R

Mô hình đơn giản - underfitting - độ chệch cao

Lỗi lớn trên cả tập huấn luyện và kiểm tra:

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 với Mô hình Dựa trên Cây trong R

Đánh đổi độ chệch–phương sai

đánh đổi độ chệch–phương sai

 

  • Mô hình đơn giản -> độ chệch cao
  • Mô hình phức tạp -> phương sai cao
  • Có đánh đổi giữa chệch và phương sai
  • Xây quanh điểm cân bằng tối ưu
Machine Learning với Mô hình Dựa trên Cây trong R

Phát hiện quá khớp

Ngoài mẫu/CV:

collect_metrics(cv_fits)


# A tibble: 1 x 3
  .metric    mean     n 
1 mae       2.432     5
  • Lỗi CV cao
  • Quá khớp / phương sai cao
  • Giảm độ phức tạp!

Trong mẫu:

mae(training_pred, 
    estimate = .pred, 
    truth = final_grade)
# A tibble: 1 x 2
  .metric  .estimate
1 mae          0.228
  • Lỗi huấn luyện nhỏ
Machine Learning với Mô hình Dựa trên Cây trong R

Phát hiện thiếu khớp

Trong mẫu:

mae(training_pred, estimate = .pred, truth = final_grade)
# A tibble: 1 x 2
  .metric .estimate
  <chr>       <dbl>
1 mae         2.432
  • Lỗi trong mẫu/huấn luyện lớn
  • Thiếu khớp / độ chệch cao
  • Tăng độ phức tạp!
Machine Learning với Mô hình Dựa trên Cây trong R

Hãy đánh đổi!

Machine Learning với Mô hình Dựa trên Cây trong R

Preparing Video For Download...