Peningkatan Gradien untuk Regresi Linier - mengapa tidak bekerja?

35

Saat belajar tentang Peningkatan Gradien, saya belum pernah mendengar tentang kendala mengenai sifat-sifat "classifier lemah" yang digunakan metode untuk membangun dan membuat model ansambel. Namun, saya tidak bisa membayangkan aplikasi GB yang menggunakan regresi linier, dan sebenarnya ketika saya telah melakukan beberapa tes - tidak berhasil. Saya sedang menguji pendekatan yang paling standar dengan gradien jumlah residu kuadrat dan menambahkan model-model berikutnya bersama-sama.

Masalah yang jelas adalah bahwa residu dari model pertama diisi sedemikian rupa sehingga benar-benar tidak ada garis regresi yang cocok lagi. Pengamatan saya yang lain adalah bahwa sejumlah model regresi linier berikutnya dapat direpresentasikan sebagai model regresi tunggal juga (menambahkan semua intersep dan koefisien yang sesuai) jadi saya tidak dapat membayangkan bagaimana hal itu dapat meningkatkan model. Pengamatan terakhir adalah bahwa regresi linier (pendekatan paling umum) menggunakan jumlah residu kuadrat sebagai fungsi kerugian - sama dengan yang digunakan GB.

Saya juga berpikir tentang menurunkan tingkat pembelajaran atau hanya menggunakan subset prediktor untuk setiap iterasi, tapi itu masih bisa diringkas menjadi representasi model tunggal pada akhirnya, jadi saya kira itu tidak akan membawa perbaikan.

Apa yang kulewatkan di sini? Apakah regresi linier entah bagaimana tidak sesuai untuk digunakan dengan Gradient Boosting? Apakah karena regresi linier menggunakan jumlah residu kuadrat sebagai fungsi kerugian? Apakah ada kendala khusus pada prediktor yang lemah sehingga dapat diterapkan pada Peningkatan Gradien?

Matek
sumber
Secara intuitif saya cenderung berpikir bahwa Anda tidak boleh menggunakan classifier karena jumlah classifiernya sama. misalnya jumlah fungsi linier adalah fungsi linier.
user18764
Saya tahu ini sudah tua, tetapi pemahaman saya adalah langkah meningkatkan meminimalkan fungsi kerugian antara residual saat ini dan pelajar dasar (yang dalam kasus Anda adalah regresi linier) dikalikan dengan tingkat pembelajaran. Jadi sementara pembelajar dasar meminimalkan mse, fungsi kerugian yang digunakan oleh booster bisa jadi MAPE yang sama?
David Waterworth

Jawaban:

35

Apa yang kulewatkan di sini?

Saya tidak berpikir Anda benar-benar kehilangan apapun!

Pengamatan lain adalah bahwa sejumlah model regresi linier berikutnya dapat direpresentasikan sebagai model regresi tunggal juga (menambahkan semua intersep dan koefisien yang sesuai) jadi saya tidak bisa membayangkan bagaimana hal itu dapat meningkatkan model. Pengamatan terakhir adalah bahwa regresi linier (pendekatan paling umum) menggunakan jumlah residu kuadrat sebagai fungsi kerugian - sama dengan yang digunakan GB.

Tampak bagi saya bahwa Anda memaku di sana, dan memberikan sketsa singkat bukti bahwa regresi linier hanya mengalahkan meningkatkan regresi linier dalam pengaturan ini.

Agar bertele-tele, kedua metode ini berusaha menyelesaikan masalah optimisasi berikut

β^=Argminβ(y-Xβ)t(y-Xβ)

Regresi linier hanya mengamati bahwa Anda dapat menyelesaikannya secara langsung, dengan menemukan solusi untuk persamaan linear

XtXβ=Xty

β

β1,β2,...

Xβ1+Xβ2++Xβn=X(β1+β2++βn)

Setiap langkah ini dipilih untuk mengurangi jumlah kesalahan kuadrat. Tapi kita bisa menemukan jumlah minimum kesalahan kuadrat yang mungkin dalam bentuk fungsional ini dengan hanya melakukan regresi linier penuh untuk memulai.

Kemungkinan pembelaan untuk meningkatkan dalam situasi ini dapat berupa regularisasi implisit yang disediakannya. Mungkin (saya belum bermain dengan ini) Anda bisa menggunakan fitur penghentian awal dari penguat gradien, bersama dengan validasi silang, untuk menghentikan singkat dari regresi linier penuh. Ini akan memberikan regularisasi untuk regresi Anda, dan mungkin membantu overfitting. Ini tidak terlalu praktis, karena seseorang memiliki opsi yang sangat efisien dan dipahami dengan baik seperti regresi ridge dan jaring elastis dalam pengaturan ini.

Meningkatkan bersinar ketika tidak ada bentuk fungsional singkat di sekitar. Meningkatkan pohon keputusan memungkinkan bentuk fungsional dari regressor / classifier berevolusi secara perlahan agar sesuai dengan data, seringkali menghasilkan bentuk kompleks yang tidak dapat diimpikan oleh tangan dan mata. Ketika bentuk fungsional sederhana yang diinginkan, meningkatkan tidak akan membantu Anda menemukan itu (atau setidaknya mungkin cara yang agak tidak efisien untuk menemukannya).

Matthew Drury
sumber
2
β
Itu jawaban yang sangat bagus dan jelas. Terima kasih atas konfirmasi / penjelasan Matthew!
Matek
"Meningkatkan bersinar ketika tidak ada bentuk fungsional pendek di sekitar." Ini adalah jawaban yang saya cari. Jadi, hanya ingin mengkonfirmasi, maksud Anda jawaban pertanyaan saya adalah ya, tetapi tidak ada yang menggunakan model linier sebagai pelajar dasar ?, stats.stackexchange.com/questions/231286/…
Haitao Du
5

Matriks proyeksi kuadrat terkecil diberikan oleh

X(XTX)1XT

y^

y^=X(XTX)1XTy

Katakanlah Anda cocok dengan regresi dan selanjutnya Anda menghitung residu Anda

e=yy^=yX(XTX)1XTy

y^2

y^2=X(XTX)-1XTe=X(XTX)-1XT(y-X(XTX)-1XTy)=X(XTX)-1XTy-X(XTX)-1XTX(XTX)-1XTy=X(XTX)-1XTy-X(XTX)-1XTy=0

y^

Ini berarti pendekatan sederhana untuk menyesuaikan regresi dan kemudian menyesuaikan regresi baru pada residu dari regresi pertama tidak akan menghasilkan sesuatu yang masuk akal karena X sama sekali tidak berkorelasi dengan e.

Saya menulis ini karena Anda mengatakan tidak ada benar-benar baris baru yang sesuai dengan derivasi di atas.

kirtap
sumber