Apakah AdaBoost kurang atau lebih rentan terhadap overfitting?


20

Saya telah membaca berbagai (tampaknya) pernyataan yang bertentangan apakah AdaBoost (atau teknik meningkatkan lainnya) kurang atau lebih cenderung overfitting dibandingkan dengan metode pembelajaran lainnya.

Apakah ada alasan bagus untuk memercayai yang satu atau yang lain? Jika itu tergantung, apa itu tergantung? Apa alasan bahwa AdaBoost kurang / lebih rentan terhadap overfitting?


1
Intuisi saya adalah bahwa itu lebih rentan terhadap overfitting daripada hutan acak. Namun, algoritma ini dirancang untuk menghindari overfitting, dan biasanya tidak menjadi masalah. Saya tidak punya referensi untuk mendukung hal ini, tetapi Anda dapat menggunakan caretpaket untuk memvalidasi silang adaboost, dan saya telah menemukan bahwa biasanya generalisasi dengan baik.
Zach

Jawaban:


17

Seperti yang Anda katakan banyak yang telah dibahas tentang masalah ini, dan ada beberapa teori yang cukup berat yang harus saya akui bahwa saya harus mengakui bahwa saya tidak pernah sepenuhnya mengerti. Dalam pengalaman praktis saya, AdaBoost cukup kuat untuk overfitting, dan LPBoost (Linear Programming Boosting) bahkan lebih (karena fungsi objektif memerlukan kombinasi yang jarang dari peserta didik yang lemah, yang merupakan bentuk kontrol kapasitas). Faktor utama yang mempengaruhinya adalah:

  • "Kekuatan" pembelajar "lemah": Jika Anda menggunakan pembelajar lemah yang sangat sederhana, seperti tunggul keputusan (pohon keputusan 1 tingkat), maka algoritmenya jauh lebih rentan terhadap overfitting. Setiap kali saya mencoba menggunakan pelajar lemah yang lebih rumit (seperti pohon keputusan atau bahkan pesawat terbang) saya menemukan bahwa overfitting terjadi jauh lebih cepat

  • Tingkat kebisingan dalam data: AdaBoost sangat rentan terhadap overfitting pada dataset bising. Dalam pengaturan ini bentuk yang diregulasi (RegBoost, AdaBoostReg, LPBoost, QPBoost) lebih disukai

  • Dimensi data: Kita tahu bahwa secara umum, kita mengalami overfitting lebih banyak di ruang dimensi tinggi ("kutukan dimensi"), dan AdaBoost juga dapat menderita dalam hal itu, karena itu hanyalah kombinasi linear dari pengklasifikasian yang dengan sendirinya dari masalah. Apakah itu sama rawannya dengan pengklasifikasi lain sulit ditentukan.

Tentu saja Anda dapat menggunakan metode heuristik seperti set validasi atau k


9

Saya setuju dengan sebagian besar poin yang disebutkan dalam komentar tdc. Namun, saya harus menambahkan dan memperbaiki beberapa hal.

  • Seperti yang ditunjukkan dalam L2Boost oleh Peter Bühlmann, ketika jumlah pembelajar yang lemah (putaran peningkatan) meningkat, bias menyatu secara eksponensial cepat sementara variansnya meningkat dengan besaran geometris yang semakin berkurang yang berarti: Ini cocok jauh lebih lambat daripada kebanyakan metode lain.
  • Itu salah disebutkan dalam komentar Zach bahwa itu lebih baik daripada hutan acak dalam hal pakaian. Ini sepenuhnya salah. Bahkan, menurut teori (lihat kertas hutan acak asli oleh Breiman), Random Forest benar-benar kebal terhadap overfitting selama pengklasifikasi lemah tidak sesuai dengan data.
  • Tidak seperti apa yang disebutkan dalam komentar tdc, sebagian besar metode peningkatan sangat sensitif terhadap kebisingan pelabelan dan dapat dengan mudah menyesuaikan dengan adanya pelabelan kebisingan.
  • Dalam dataset di mana tingkat kesalahan Bayes jauh dari 0 (yaitu, fitur tidak cukup diskriminatif) metode meningkatkan dapat dengan mudah overfit, juga. Karena mereka mencoba untuk mengurangi kesalahan pelatihan menjadi nol sementara pada kenyataannya bahkan penggolong optimal, yaitu, Bayes classifier dapat mencapai ke katakanlah tingkat kesalahan 40%.
  • akhirnya, dan ini belum dipublikasikan di mana (sepengetahuan saya) ada semacam overfitting di mana kesalahan generalisasi tidak meningkat karena putaran meningkatkan meningkat tetapi tidak menurun juga. Ini berarti algoritme telah terjebak dalam optima lokal. Dalam situasi ini, kesalahan pelatihan terus menurun sementara kesalahan tes hampir konstan. Sejauh ini, kami tidak pernah menganggap fenomena ini sebagai indikasi overfitting tetapi saya percaya ini adalah tanda overfitting dan dengan menggunakan pelajar yang lemah dan kompleks, (aneh!) Kita mungkin malah menentangnya (Poin terakhir ini harus dipertimbangkan dengan hati-hati : D)

1
Perlu ditambahkan ke jawaban ini bahwa saya mungkin mengalami overfitting jenis yang terakhir hari ini, dengan AdaBoost dan Random Forest. Dalam cross-validation, kesalahan out-of-fold terkonvergensi menjadi konstan dengan hanya 20 estimator basis, dan kemudian memantul di sekitar konstanta itu dengan varian yang tinggi. Kecurigaan saya persis sama: algoritma serakah terjebak dalam semacam optimal lokal. Ini bukan konfirmasi tentang apa yang terjadi tetapi senang mengetahui orang lain memiliki pemikiran yang sama.
shadowtalker

@ssdecontrol Bisakah Anda membagikan apa yang Anda lakukan? Saya ingin mereproduksi hasil untuk memiliki pemahaman yang lebih baik
saurabh agarwal

@saurabhagarwal Saya pikir saya sedang mengerjakan proyek Kaggle Titanic
shadowtalker
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.