Dediğiniz gibi, bu konuda çok tartışıldı ve onunla birlikte gittiğim ve asla tam olarak anlamadığımı itiraf etmem gereken oldukça ağır bir teori var. Benim pratik deneyimime göre AdaBoost aşırı takmaya karşı oldukça sağlam ve LPBoost (Doğrusal Programlama Artırımı) daha da fazla (çünkü nesnel işlev, bir kapasite kontrolü biçimi olan zayıf öğrenicilerin seyrek bir kombinasyonunu gerektiriyor). Onu etkileyen ana faktörler:
"Zayıf" öğrencilerin "gücü": Karar kütükleri (1 seviyeli karar ağaçları) gibi çok basit zayıf öğreniciler kullanırsanız, algoritmalar aşırı sığmaya daha az eğilimlidir. Ne zaman daha karmaşık zayıf öğreniciler (karar ağaçları ve hatta hiper uçaklar gibi) kullanmayı denediğimde, aşırı sığmanın çok daha hızlı gerçekleştiğini gördüm
Verilerdeki gürültü seviyesi: AdaBoost özellikle gürültülü veri setlerinde aşırı donmaya eğilimlidir. Bu ayarda düzenli formlar (RegBoost, AdaBoostReg, LPBoost, QPBoost) tercih edilir
Verilerin boyutsallığı: Genel olarak, yüksek boyutlu alanlarda ("boyutsallığın laneti") daha fazla takma deneyimi yaşadığımızı biliyoruz ve AdaBoost da sadece acı çeken sınıflandırıcıların doğrusal bir kombinasyonu olduğu için bu açıdan da acı çekebilir. sorundan. Diğer sınıflandırıcılar kadar eğilimli olup olmadığını belirlemek zordur.
Elbette , durdurma parametresini (veya farklı varyantlardaki diğer parametreleri) diğer herhangi bir sınıflandırıcı için yaptığınız gibi ayarlamak için doğrulama setleri veya -katlı çapraz doğrulama gibi sezgisel yöntemleri kullanabilirsiniz .k
caret
paketi uyarlamayı çapraz doğrulamak için kullanabilirsiniz ve genellikle iyi bir şekilde genelleştirildiğini gördüm.