Merekonsiliasi boosted regression trees (BRT), generalized boosted model (GBM), dan gradient boosting machine (GBM)

9

Pertanyaan:

  1. Apa perbedaan antara pohon regresi yang dikuatkan (BRT) dan model yang dikembangkan secara umum (GBM)? Bisakah mereka digunakan secara bergantian? Apakah satu bentuk khusus dari yang lain?
  2. Mengapa Ridgeway menggunakan frasa "Generalized Boosted Regression Models" (GBM), untuk menggambarkan apa yang sebelumnya diusulkan Friedman sebagai "Gradient Boosting Machine" (GBM)? Kedua akronim ini identik, menggambarkan hal yang sama, tetapi diturunkan dari frasa yang berbeda.

Latar Belakang:

Saya mengalami kesulitan menentukan perbedaan istilah BRT dan GBM. Dari apa yang saya mengerti keduanya adalah istilah untuk menggambarkan pohon klasifikasi dan regresi yang memiliki stochasticity dimasukkan melalui beberapa jenis meningkatkan (misalnya bagging, bootstrap, cross-validation). Juga, dari apa yang saya kumpulkan, istilah GBM pertama kali diciptakan oleh Friedman (2001) dalam makalahnya "Perkiraan fungsi serakah: mesin peningkat gradien". Ridgeway kemudian mengimplementasikan prosedur yang dijelaskan oleh Friedman pada tahun 2006 dalam paketnya "Generalized Boosted Regression Models" (GBM). Di bidang saya (ekologi) Elith et al. (2008) adalah yang pertama menunjukkan gbmpaket Ridgeway untuk pemodelan distribusi spesies. Namun, penulis dalam Elith et al. gunakan istilah "boosted regression tree" (BRT) untuk menggambarkan Friedman dan Ridgeway '

Saya bingung apakah istilah ini dapat digunakan secara bergantian? Agak membingungkan bahwa seorang penulis akan menggunakan akronim yang sama (dari frasa yang berbeda) untuk menggambarkan teori yang sama dengan yang diusulkan oleh penulis sebelumnya. Juga membingungkan bahwa penulis ketiga menggunakan istilah yang sama sekali berbeda ketika menggambarkan teori ini dalam istilah ekologis.

Yang terbaik yang dapat saya temukan adalah bahwa BRT adalah bentuk spesifik GBM di mana distribusinya adalah binomial, tetapi saya tidak yakin akan hal ini.

Elith et al. mendefinisikan pohon regresi yang dikuatkan seperti ini ... "Pohon regresi yang diperkuat menggabungkan kekuatan dari dua algoritma: pohon regresi (model yang menghubungkan respons dengan prediktornya dengan pemisahan biner rekursif) dan peningkatan (metode adaptif untuk menggabungkan banyak model sederhana untuk memberikan kinerja prediksi yang lebih baik "Model BRT akhir dapat dipahami sebagai model regresi aditif di mana istilah individu adalah pohon sederhana, dipasang dalam mode maju, stagewise" (Elith et al. 2008).

GNG
sumber
1
Saya tidak bisa masuk ke dalam kepala penulis dan memberitahu Anda, tetapi tampaknya masuk akal bahwa nama mengatakan semuanya. Boosting adalah metode yang menggunakan urutan peserta didik yang lemah. Metode klasik akan menjadi 'pohon kecil' seperti tunggul. Jika Anda meningkatkan model pohon regresi, Anda mendapatkan pohon regresi didorong. A priori, seseorang dapat meningkatkan metode lain, termasuk metode kategorikal, dan mengembalikan sesuatu yang disebut mesin peningkat gradien yang bukan pohon regresi yang dikuatkan.
meh
Saya tidak ingat detailnya, tetapi satu buku yang saya baca menunjukkan bagaimana jika seseorang menggunakan tunggul pohon, hasilnya sangat mirip gam.
meh

Jawaban:

15

Seperti @aginensky disebutkan dalam utas komentar, tidak mungkin masuk dalam kepala penulis, tetapi BRT kemungkinan besar hanyalah deskripsi yang lebih jelas tentang gbmproses pemodelan yang, maafkan saya karena telah menyatakan pohon klasifikasi dan regresi yang jelas dan ditingkatkan. Dan karena Anda telah bertanya tentang meningkatkan, gradien, dan pohon regresi, berikut adalah penjelasan bahasa Inggris saya yang jelas tentang istilah tersebut. FYI, CV bukanlah metode peningkatan, melainkan metode untuk membantu mengidentifikasi parameter model yang optimal melalui pengambilan sampel berulang. Lihat di sini untuk beberapa penjelasan yang bagus tentang proses ini.

Meningkatkan adalah jenis metode ensemble . Metode ensemble merujuk pada kumpulan metode yang digunakan untuk membuat prediksi akhir dengan menggabungkan prediksi dari sejumlah model individual. Meningkatkan, mengantongi, dan menumpuk adalah beberapa metode ensemble yang diimplementasikan secara luas. Penumpukan melibatkan pemasangan sejumlah model berbeda secara individual (dari struktur apa pun yang Anda pilih sendiri) dan kemudian menggabungkannya dalam model linier tunggal. Ini dilakukan dengan menyesuaikan prediksi masing-masing model terhadap variabel dependen. LOOCV SSE biasanya digunakan untuk menentukan koefisien regresi dan setiap model diperlakukan sebagai fungsi dasar (menurut saya, ini sangat, sangat mirip dengan GAM). Begitu pula mengantongimelibatkan pemasangan sejumlah model yang sama-terstruktur untuk sampel bootstrap. Dengan risiko sekali lagi menyatakan yang sudah jelas, menumpuk dan mengantongi adalah metode ansambel paralel.

Meningkatkan , bagaimanapun, adalah metode berurutan. Friedman dan Ridgeway sama-sama menggambarkan proses algoritmik dalam makalah mereka sehingga saya tidak akan menyisipkannya di sini hanya pada detik ini, tetapi versi bahasa Inggris yang sederhana (dan agak disederhanakan) adalah bahwa Anda menyesuaikan satu model dengan yang lain, dengan masing-masing model berikutnya berusaha untuk meminimalkan residual yang dibobot oleh kesalahan model sebelumnya (parameter susut adalah bobot yang dialokasikan untuk kesalahan residual masing-masing prediksi dari iterasi sebelumnya dan semakin kecil Anda mampu untuk memilikinya, semakin baik). Dalam pengertian abstrak, Anda dapat berpikir meningkatkan sebagai proses pembelajaran yang sangat mirip manusia di mana kami menerapkan pengalaman masa lalu untuk iterasi baru dari tugas yang harus kami lakukan.

Sekarang, bagian gradien dari semuanya berasal dari metode yang digunakan untuk menentukan jumlah optimal model (disebut sebagai iterasi dalam gbmdokumentasi) yang akan digunakan untuk prediksi untuk menghindari overfitting. Fungsi-fungsi kehilangan pelatihan GBM (hitam) dan kesalahan CV (hijau)

Seperti yang dapat Anda lihat dari visual di atas (ini adalah aplikasi klasifikasi, tetapi yang sama berlaku untuk regresi) kesalahan CV turun cukup tajam pada awalnya karena algoritma memilih model-model yang akan menyebabkan penurunan terbesar dalam kesalahan CV sebelum mendatar dan memanjat kembali lagi ketika ansambel mulai berpakaian. Angka iterasi optimal adalah yang sesuai dengan titik belok fungsi kesalahan CV (gradien fungsi sama dengan 0), yang dengan mudah digambarkan oleh garis putus-putus biru.

gbmImplementasi Ridgeway menggunakan pohon klasifikasi dan regresi dan sementara saya tidak bisa mengklaim membaca pikirannya, saya akan membayangkan bahwa kecepatan dan kemudahan (untuk tidak mengatakan ketangguhan mereka terhadap data shenanigans) dengan mana pohon dapat cocok memiliki efek yang cukup signifikan pada pilihan teknik pemodelannya. Yang sedang berkata, sementara saya mungkin salah, saya tidak bisa membayangkan alasan teoretis mengapa hampir semua teknik pemodelan lainnya tidak bisa diterapkan. Sekali lagi, saya tidak bisa mengklaim tahu pikiran Ridgeway, tetapi saya membayangkan bagian umum darigbmNama mengacu pada banyak aplikasi potensial. Paket tersebut dapat digunakan untuk melakukan regresi (linier, Poisson, dan kuantil), binomial (menggunakan sejumlah fungsi kerugian yang berbeda) dan klasifikasi multinomial, dan analisis survival (atau setidaknya perhitungan fungsi bahaya jika distribusi coxph merupakan indikasi).

Makalah Elith tampaknya samar-samar akrab (saya pikir saya menabraknya musim panas lalu sambil melihat ke metode visualisasi yang ramah gbm) dan, jika ingatannya benar, ia menampilkan perpanjangan gbmperpustakaan, yang berfokus pada penyetelan model otomatis untuk regresi (seperti dalam distribusi gaussian (bukan binomial) aplikasi dan peningkatan pembuatan plot. Saya membayangkan nomenklatur RBT ada untuk membantu memperjelas sifat teknik pemodelan, sedangkan GBM lebih umum.

Semoga ini bisa membantu membereskan beberapa hal.

habu
sumber