Hutan acak

Hutan acak (RF) adalah ansambel pohon keputusan yang setiap pohon keputusannya dilatih dengan derau acak tertentu. Random forest adalah bentuk ensemble pohon keputusan yang paling populer. Unit ini membahas beberapa teknik untuk membuat pohon keputusan independen guna meningkatkan peluang pembuatan hutan acak yang efektif.

Pengemasan

Bagging (bootstrap aggregating) berarti melatih setiap pohon keputusan pada subset acak dari contoh dalam set pelatihan. Dengan kata lain, setiap pohon keputusan di hutan acak dilatih pada subset yang berbeda dari contoh.

Pengelompokan adalah hal yang aneh. Setiap hierarki keputusan dilatih dengan jumlah contoh yang sama seperti dalam set pelatihan asli. Misalnya, jika set pelatihan asli berisi 60 contoh, setiap pohon keputusan akan dilatih dengan 60 contoh. Namun, bagging hanya melatih setiap hierarki keputusan pada subset (biasanya, 67%) contoh tersebut. Jadi, beberapa dari 40 contoh dalam subset tersebut harus digunakan kembali saat melatih pohon keputusan tertentu. Penggunaan kembali ini disebut pelatihan "dengan penggantian".

Misalnya, Tabel 6 menunjukkan cara bagging dapat mendistribusikan enam contoh di tiga pohon keputusan. Perhatikan catatan berikut:

  • Setiap pohon keputusan dilatih dengan total enam contoh.
  • Setiap pohon keputusan dilatih dengan kumpulan contoh yang berbeda.
  • Setiap pohon keputusan menggunakan kembali contoh tertentu. Misalnya, contoh #4 digunakan dua kali dalam melatih pohon keputusan 1; oleh karena itu, bobot yang dipelajari dari contoh #4 secara efektif dilipatgandakan di pohon keputusan 1.

Tabel 6. Menggabungkan enam contoh pelatihan di tiga pohon keputusan. Setiap angka menunjukkan frekuensi contoh pelatihan tertentu (#1-6) diulang dalam set data pelatihan dari pohon keputusan tertentu (1-3).

contoh pelatihan
#1 #2 #3 #4 #5 #6
set data asli 1 1 1 1 1 1
decision tree 1 1 1 0 2 1 1
decision tree 2 3 0 1 0 2 0
decision tree 3 0 1 3 1 0 1

Dalam bagging, setiap hierarki keputusan hampir selalu dilatih dengan total jumlah contoh dalam set pelatihan asli. Melatih setiap pohon keputusan dengan lebih banyak atau lebih sedikit contoh cenderung menurunkan kualitas random forest.

Meskipun tidak ada dalam makalah hutan acak asli, pengambilan contoh terkadang dilakukan "tanpa penggantian"; yaitu, contoh pelatihan tidak boleh ada lebih dari sekali dalam set pelatihan pohon keputusan. Misalnya, dalam tabel sebelumnya, semua nilai akan berupa 0 atau 1.

Kode YDF
Anda dapat mengaktifkan pelatihan tanpa penggantian dengan penetapan berikut di YDF: bootstrap_training_dataset=False

Sampling atribut

Pengambilan sampel atribut berarti bahwa alih-alih mencari kondisi terbaik di semua fitur yang tersedia, hanya sebagian fitur acak yang diuji di setiap node. Kumpulan fitur yang diuji diambil sampelnya secara acak di setiap node pohon keputusan.

Hierarki keputusan berikut mengilustrasikan pengambilan sampel atribut / fitur. Di sini, pohon keputusan dilatih pada 5 fitur (f1-f5). Node biru mewakili fitur yang diuji, sedangkan node putih tidak diuji. Kondisi dibuat dari fitur yang paling banyak diuji (diwakili dengan garis batas merah).

Tiga node, yang semuanya menampilkan lima fitur. Node root dan salah satu node turunannya menguji tiga dari lima fitur. Node turunan lainnya
menguji dua dari lima fitur.

Gambar 21. Pengambilan sampel atribut.

 

Rasio sampling atribut adalah hyperparameter regularisasi yang penting. Gambar sebelumnya menggunakan rasio ~⅗. Banyak implementasi random forest menguji, secara default, 1/3 fitur untuk regresi dan sqrt(jumlah fitur) untuk klasifikasi.

Di TF-DF, hyperparameter berikut mengontrol sampling atribut:

  • num_candidate_attributes
  • num_candidate_attributes_ratio

Misalnya, jika num_candidate_attributes_ratio=0.5, setengah dari fitur akan diuji di setiap node.

Menonaktifkan regularisasi pohon keputusan

Setiap pohon keputusan di hutan acak dilatih tanpa pemangkasan. (Lihat Overfitting dan pemangkasan). Hal ini menghasilkan hierarki yang terlalu rumit dengan kualitas prediktif yang buruk. Alih-alih meregulasi setiap hierarki, hierarki digabungkan untuk menghasilkan prediksi keseluruhan yang lebih akurat.

Kami memperkirakan akurasi pelatihan dan pengujian random forest akan berbeda. Akurasi pelatihan hutan acak umumnya jauh lebih tinggi (terkadang sama dengan 100%). Namun, akurasi pelatihan yang sangat tinggi di random forest adalah normal dan tidak menunjukkan bahwa random forest mengalami overfitting.

Dua sumber keacakan (bagging dan sampling atribut) memastikan independensi relatif antara hierarki keputusan. Independensi ini memperbaiki overfitting dari setiap pohon keputusan. Akibatnya, ensemble tidak mengalami overfitting. Kita akan mengilustrasikan efek non-intuitif ini di unit berikutnya.

Random forest murni dilatih tanpa kedalaman maksimum atau jumlah minimum pengamatan per daun. Dalam praktiknya, membatasi kedalaman maksimum dan jumlah minimum pengamatan per daun akan bermanfaat. Secara default, banyak random forest menggunakan default berikut:

  • kedalaman maksimum ~16
  • jumlah minimum pengamatan per daun ~5.

Anda dapat menyesuaikan hyperparameter ini.

Kode YDF
Tuner YDF adalah cara mudah untuk menyesuaikan hyperparameter. Lihat tutorial Penyesuaian YDF untuk mengetahui detail selengkapnya.

Kejelasan derau

Mengapa derau acak akan meningkatkan kualitas hutan acak? Untuk mengilustrasikan manfaat derau acak, Gambar 22 menunjukkan prediksi pohon keputusan klasik (dipangkas) dan hutan acak yang dilatih pada beberapa contoh masalah dua dimensi sederhana dengan pola elips.

Pola elipsis sangat sulit dipelajari oleh algoritma pohon keputusan dan hutan keputusan dengan kondisi yang sejajar dengan sumbu, sehingga pola ini menjadi contoh yang baik. Perhatikan bahwa pohon keputusan yang dipangkas tidak dapat mendapatkan kualitas prediksi yang sama dengan random forest.

Tiga ilustrasi. Ilustrasi pertama, yang diberi label Ground Truth, adalah
elips yang sempurna. Ilustrasi kedua, berlabel Hierarki keputusan yang dipangkas,
berada di antara elips dan persegi panjang. Ilustrasi ketiga,
berlabel Random forest, tidak sepenuhnya berbentuk elips, tetapi jauh lebih dekat dengan
elips daripada ilustrasi berlabel Pruned decision
tree.

Gambar 22. Kebenaran dasar vs. prediksi yang dihasilkan oleh satu hierarki keputusan yang dipangkas dan prediksi yang dihasilkan oleh random forest.

Plot berikutnya menunjukkan prediksi tiga pohon keputusan pertama yang tidak dipangkas dari hutan acak; yaitu, semua pohon keputusan dilatih dengan kombinasi dari:

  • pengelompokan
  • pengambilan sampel atribut
  • menonaktifkan pemangkasan

Perhatikan bahwa setiap prediksi dari ketiga pohon keputusan ini lebih buruk daripada prediksi pohon keputusan yang dipangkas pada gambar sebelumnya. Namun, karena error dari setiap pohon keputusan hanya berkorelasi secara lemah, ketiga pohon keputusan digabungkan dalam ensemble untuk membuat prediksi yang efektif.

Tiga elips yang sangat berisik.

Gambar 23. Tiga pohon keputusan yang tidak dipangkas yang akan membuat ensemble yang efektif.

Karena pohon keputusan random forest tidak dipangkas, pelatihan random forest tidak memerlukan set data validasi. Dalam praktiknya, dan terutama pada set data kecil, model harus dilatih dengan semua data yang tersedia.

Saat melatih hutan acak, seiring dengan penambahan lebih banyak pohon keputusan, error hampir selalu berkurang; yaitu, kualitas model hampir selalu meningkat. Ya, menambahkan lebih banyak hierarki keputusan hampir selalu mengurangi error random forest. Dengan kata lain, menambahkan lebih banyak hierarki keputusan tidak dapat menyebabkan random forest mengalami overfitting. Pada titik tertentu, model hanya berhenti meningkat. Leo Breiman pernah berkata, "Random Forest tidak mengalami overfitting, karena lebih banyak pohon ditambahkan".

Misalnya, plot berikut menunjukkan evaluasi pengujian model random forest saat lebih banyak hierarki keputusan ditambahkan. Akurasi meningkat dengan cepat hingga mencapai puncak sekitar 0,865. Namun, menambahkan lebih banyak pohon keputusan tidak akan menurunkan akurasi; dengan kata lain,model tidak akan mengalami overfitting. Perilaku ini (sebagian besar) selalu benar dan tidak bergantung pada hyperparameter.

Plot akurasi vs. jumlah pohon keputusan yang dijelaskan di paragraf
sebelumnya.

Gambar 24. Akurasi tetap konstan seiring dengan bertambahnya pohon keputusan yang ditambahkan ke random forest.