Diferențe matematice între GBM, XGBoost, LightGBM, CatBoost
Există mai multe implementări ale familiei de modele GBDT, cum ar fi:
- GBM
- XGBoost
- LightGBM
- Catboost.
Care sunt diferențele matematică între aceste diferite implementări?
Catboost pare să depășească alte implementări chiar și folosind doar setările implicite pe baza acestui benchmark, dar este încă foarte lent.
Presupunerea mea este că catboost nu folosește variabile dummified, astfel încât greutatea atribuită fiecărei variabile (categorice) este mai echilibrată decât alte implementări, deci variabilele cu cardinalitate ridicată nu au mai multă greutate decât altele. Permite categoriilor slabi (cardinalitate scăzută) să intre în anumiți copaci, rezultând o performanță mai bună. În afară de asta, nu am altă explicație.
Doriți să consultați acest document în limba engleză de la echipa Yandex cu privire la unicitatea matematică a CATBoost.
Am citit-o pe scurt, iar printre puținele lucruri pe care am putut să le dau seama rapid a fost faptul că nu folosesc reziduurile obținute pe TREN pentru a face TRAIN, deoarece aceste reziduuri creează o părtinire optimistă cu privire la calitatea învățării. ( Actualizați: această noutate oferă o modalitate de a combate supraadaptarea, motiv pentru care algoritmul a funcționat mai bine în comparație cu analogii săi, cu excepția diferitelor modalități de preprocesare a variabilelor categorice).
Îmi pare rău că nu ți-am dat un răspuns precis și complet.
Diferențe matematice între GBM și XGBoost
În primul rând, vă sugerez să citiți un articol al lui Friedman despre mașina de consolidare a gradientului aplicată modelelor de regresor liniar, clasificatorilor și copacilor de decizie în special. https://statweb.stanford.edu/