Apa sajakah pedoman yang berguna untuk parameter GBM?

31

Apa saja pedoman yang berguna untuk parameter pengujian (yaitu kedalaman interaksi, anak kecil, laju sampel, dll.) Menggunakan GBM?

Katakanlah saya memiliki 70-100 fitur, populasi 200.000 dan saya berniat menguji kedalaman interaksi 3 dan 4. Jelas saya perlu melakukan beberapa pengujian untuk melihat kombinasi parameter apa yang terbaik di luar sampel. Ada saran tentang cara mendekati desain tes ini?

Ram Ahluwalia
sumber

Jawaban:

34

Paket caret dapat membantu Anda mengoptimalkan pilihan parameter untuk masalah Anda. Sketsa caretTrain menunjukkan cara menyetel parameter gbm menggunakan validasi silang berulang 10 kali lipat - tersedia pendekatan optimasi lain yang semuanya dapat berjalan secara paralel menggunakan paket foreach. Gunakan vignette("caretTrain", package="caret")untuk membaca dokumen.

Paket ini mendukung penyetelan shrinkage,, n.treesdan interaction.depthparameter untuk model gbm, meskipun Anda dapat menambahkan sendiri.

Untuk heuristik, ini adalah pendekatan awal saya:

shrinkage: Sekecil yang Anda punya waktu (manual gbm memiliki lebih banyak tentang ini, tetapi secara umum Anda tidak bisa salah dengan nilai yang lebih kecil). Kumpulan data Anda kecil sehingga saya mungkin mulai dengan 1e-3

n.trees: Saya biasanya menumbuhkan model awal menambahkan lebih banyak dan lebih banyak pohon sampai gbm.perfmengatakan saya memiliki cukup (sebenarnya, biasanya 1,2 kali lipat dari nilai itu) dan kemudian menggunakannya sebagai panduan untuk analisis lebih lanjut.

interaction.depth: Anda sudah memiliki gagasan tentang ini. Coba nilai yang lebih kecil juga. Nilai maksimum adalah lantai (sqrt (NCOL (data)).

n.minobsinnode: Saya merasa sangat penting untuk menyempurnakan variabel ini. Anda tidak menginginkannya terlalu kecil sehingga algoritma tersebut menemukan terlalu banyak fitur palsu.

Allan Engelhardt
sumber