Bagaimana cara memilih jumlah pohon dalam model regresi yang dikuatkan secara umum?

11

Apakah ada strategi untuk memilih jumlah pohon dalam GBM? Secara khusus, ntreesargumen dalam R's gbmfungsi.

Saya tidak mengerti mengapa Anda tidak harus menetapkan ntreesnilai wajar tertinggi. Saya perhatikan bahwa jumlah pohon yang lebih besar jelas mengurangi variabilitas hasil dari beberapa GBM. Saya tidak berpikir bahwa jumlah pohon yang tinggi akan menyebabkan overfitting.

Adakah pikiran?

wcampbell
sumber

Jawaban:

3

Ini adalah GBM:

" Aku tidak berpikir bahwa ... " telah menjadi bagian pertama yang berbahaya dari banyak kalimat.

Cukup baik tidak ada artinya tanpa ukuran kebaikan, sebuah rubrik.

Apa ukuran kebaikan untuk metode lain apa pun?

  • Perbedaan antara model dan data (sse, ...)
  • Divergence of Error dalam set ketidaksepakatan (kesalahan pelatihan vs kesalahan tes)
  • Parameter menghitung rasio jumlah sampel (kebanyakan orang menyukai 5 sampel per parameter atau 30 sampel per parameter)
  • Validasi silang (metode ensembel pada divergensi tes kesalahan)

Seperti jaringan saraf, atau spline, Anda dapat melakukan interpolasi linier secara bertahap pada data dan mendapatkan model yang tidak dapat digeneralisasi. Anda perlu melepaskan sebagian dari "kesalahan rendah" dengan imbalan penerapan umum - generalisasi.

Lebih banyak tautan:

EngrStudent
sumber
2

Saya memang menemukan beberapa wawasan tentang masalah: http://cran.r-project.org/web/packages/dismo/vignettes/brt.pdf

The gbm.stepfungsi dapat digunakan untuk menentukan jumlah optimal pohon. Saya masih tidak yakin apa yang menyebabkan penyimpangan model meningkat setelah sejumlah pohon, jadi saya masih bersedia menerima tanggapan yang menjawab bagian pertanyaan ini!

wcampbell
sumber
2
Overfitting menyebabkan peningkatan. Sebagian besar metode yang baik membuat set ketidaksepakatan, dan menggunakannya untuk menguji model, tetapi tidak untuk memperbarui model. Ini memungkinkan deteksi onset pakaian berlebih.
EngrStudent
0

Ini adalah panduan untuk meningkatkan pohon regresi dari Elith et al .: http://onlinelibrary.wiley.com/doi/10.1111/j.1365-2656.2008.01390.x/full Sangat membantu!

Anda setidaknya harus menggunakan 1000 pohon. Sejauh yang saya mengerti, Anda harus menggunakan kombinasi tingkat belajar, kompleksitas pohon dan jumlah pohon yang mencapai kesalahan prediksi minumum. Nilai yang lebih kecil dari tingkat pembelajaran menyebabkan risiko pelatihan yang lebih besar untuk jumlah iterasi yang sama, sementara setiap iterasi mengurangi risiko pelatihan. Jika jumlah pohon cukup besar, risikonya dapat dibuat kecil semaunya (lihat: Hastie et al., 2001, "Elemen Pembelajaran Statistik, Penambangan Data, Inferensi dan Prediksi" ).

V.Vetter
sumber
Memang benar bahwa Elith et al. sarankan sebagai aturan praktis untuk menggunakan 1000 pohon. Namun, ini didasarkan pada analisis rinci stabilitas prediktif untuk dataset tertentu yang digunakan dalam makalah ini. Tampaknya tidak mungkin bahwa nomor yang sama akan berfungsi untuk set data yang memungkinkan. Mungkin Anda bisa sedikit memperluas jawaban Anda dengan memberikan beberapa rincian tentang analisis yang mereka lakukan, khususnya di Lampiran S1.
DeltaIV
0

Seperti biasa dalam beberapa algoritma pembelajaran mesin, Meningkatkan tunduk pada pertukaran Bias-varians mengenai jumlah pohon. Secara longgar, trade-off ini memberi tahu Anda bahwa: (i) model lemah cenderung memiliki bias tinggi dan varians rendah: mereka terlalu kaku untuk menangkap variabilitas dalam set data pelatihan, sehingga tidak akan berkinerja baik di set tes baik (tes tinggi kesalahan) (ii) model yang sangat kuat cenderung memiliki bias rendah dan varians tinggi: mereka terlalu fleksibel dan mereka mengalahkan set pelatihan, sehingga dalam set tes (karena titik data berbeda dari set pelatihan) mereka juga tidak akan berkinerja baik (kesalahan uji tinggi)

Konsep Boosting tree adalah memulai dengan pohon dangkal (model lemah) dan terus menambahkan lebih banyak pohon dangkal yang mencoba untuk memperbaiki kelemahan pohon sebelumnya. Saat Anda melakukan proses ini, kesalahan pengujian cenderung turun (karena model keseluruhan menjadi lebih fleksibel / kuat). Namun, jika Anda menambahkan terlalu banyak dari pohon-pohon itu, Anda mulai overfitting data pelatihan dan karenanya kesalahan pengujian meningkat. Validasi silang membantu menemukan sweet spot

Frederico Lopes
sumber