Motivasi di balik langkah-langkah algoritma hutan acak

11

Metode yang saya kenal untuk membangun hutan acak adalah sebagai berikut: (dari http://www.stat.berkeley.edu/~breiman/RandomForests/cc_home.htm )

Untuk membangun pohon di hutan kami:

  1. Bootstrap sampel ukuran N di mana N adalah ukuran set pelatihan kami. Gunakan contoh bootstrap ini sebagai set pelatihan untuk pohon ini.
  2. Di setiap simpul pohon pilih secara acak m dari fitur M kami. Pilih yang terbaik dari fitur m ini untuk dibagi. (di mana m adalah parameter Hutan Acak kami)
  3. Tumbuhkan setiap pohon sejauh mungkin - yaitu tanpa pemangkasan.

Walaupun algoritma ini masuk akal pada tingkat prosedural dan tentu saja menghasilkan hasil yang baik, saya tidak jelas apa motivasi teoretis di balik langkah 1, 2, dan 3. Bisakah seseorang menjelaskan apa yang memotivasi seseorang untuk datang dengan prosedur ini dan mengapa itu bekerja dengan baik?

Misalnya: mengapa kita perlu melakukan langkah 1? Sepertinya kita bukan bootstrap untuk tujuan pengurangan varians yang biasa.

tSema
sumber

Jawaban:

9

Metode ensemble (seperti hutan acak) memerlukan beberapa elemen variasi dalam kumpulan data tempat pengklasifikasi basis individu dikembangkan (jika tidak, hutan acak akan berakhir dengan hutan pohon yang terlalu mirip). Karena pohon keputusan sangat sensitif terhadap pengamatan dalam set pelatihan, memvariasikan pengamatan (menggunakan bootstrap), saya kira, merupakan pendekatan alami untuk mendapatkan keragaman yang diperlukan. Alternatif yang jelas adalah memvariasikan fitur yang digunakan, misalnya melatih setiap pohon pada subset dari fitur asli. Menggunakan sampel bootstrap juga memungkinkan kami untuk memperkirakan tingkat kesalahan out-of-bag (OOB) dan pentingnya variabel.

2 pada dasarnya adalah cara lain untuk menyuntikkan keacakan ke dalam hutan. Ini juga berdampak pada pengurangan korelasi di antara pohon-pohon (dengan menggunakan nilai produksi rendah), dengan trade-off (berpotensi) memperburuk daya prediksi. Menggunakan nilai mtry yang terlalu besar akan menyebabkan pohon menjadi semakin mirip satu sama lain (dan pada akhirnya Anda berakhir dengan mengantongi)

Saya percaya bahwa alasan untuk tidak memangkas lebih karena fakta bahwa itu tidak perlu daripada yang lain. Dengan satu pohon keputusan Anda biasanya akan memangkasnya karena sangat rentan terhadap overfitting. Namun, dengan menggunakan sampel bootstrap dan menumbuhkan banyak pohon, hutan acak dapat menumbuhkan pohon yang kuat secara individual, tetapi tidak saling berkorelasi satu sama lain. Pada dasarnya, masing-masing pohon overfit tetapi asalkan kesalahannya tidak berkorelasi, hutan harus cukup akurat.

Alasan kerjanya dengan baik mirip dengan teorema juri Condorcet (dan logika di balik metode seperti meningkatkan). Pada dasarnya Anda memiliki banyak pelajar yang lemah yang hanya perlu melakukan sedikit lebih baik daripada menebak secara acak. Jika ini benar, Anda dapat terus menambahkan peserta didik yang lemah, dan dalam batas tersebut Anda akan mendapatkan prediksi sempurna dari ansambel Anda. Jelas ini dibatasi karena kesalahan peserta didik menjadi berkorelasi, yang mencegah peningkatan kinerja ansambel.

SimonCB765
sumber
Jawaban yang bagus, dan hubungan dengan teorema juri Condorcet masuk akal. Namun secara formal, alasan itu bekerja dengan baik adalah karena ketidaksetaraan jensen!
JEquihua