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
caret
paket untuk memvalidasi silang adaboost, dan saya telah menemukan bahwa biasanya generalisasi dengan baik.