Има няколко реализации на семейството модели GBDT, като например:

  • GBM
  • XGBoost
  • LightGBM
  • Catboost.

Какви са разликите математика между тези различни изпълнения?

Catboost изглежда превъзхожда останалите внедрения, дори използвайки само параметрите си по подразбиране според този бенчмарк, но все още е много бавен.

Предполагам, че catboost не използва фиксирани променливи, така че теглото, придадено на всяка (категорична) променлива, е по-балансирано в сравнение с останалите изпълнения, така че променливите с висока кардиналност нямат по-голяма тежест от останалите. Позволява на слабите категории (с ниска степен на мощност) да влязат в някои дървета, което води до по-добро представяне. Освен това нямам допълнителни обяснения.

Искате да видите тази статия на английски от екипа на Yandex за математическата особеност на CATBoost.

Прочетох го накратко и сред някои неща, които успях бързо да разбера, беше фактът, че те не използват остатъците, получени в ВЛАК към TRAIN, тъй като тези остатъци създават оптимистично пристрастие в качеството на обучение. ( Подобряване на: тази новост предлага начин за борба с пренастройването, което е една от причините алгоритъмът да се представи по-добре в сравнение с аналозите си, както и различни начини за предварителна обработка на категориалните променливи).

Извинете, че не ви дадох конкретен и пълен отговор.

Математически разлики между GBM, XGBoost

Първо, предлагам ви да прочетете статия от Фридман за машина за повишаване на градиента, приложена по-специално към линейни регресорни модели, класификатори и дървета за вземане на решения. https://statweb.stanford.edu/

Тук не бих навлизал в подробности. Това е просто добро четиво, обхващащо различни видове загуби (L) и в допълнение към концепцията за променлива важност. Разбира се, това е исторически документ за изпълнение на метода на спускане в пространството на функциите (модели на ниско ниво) вместо параметри за постигане на минимизиране на загубите.

Ще намерите математическа винетка за модела XGBoost от Tianqi Chen et al. Сега става интересно. Няколко математически отклонения от този модел от класическия GBM на Фридман са:

  • Регулирани (наказани) параметри (и ние помним, че параметрите в армировката са функцията, дърветата или линейните модели): L1 и L2 са налични.

математически

  • Използване на втори производни за ускоряване на процеса (ако се използва преди, поправете ме).

В този момент: потърсете тук изпълнение на квантилна загуба в CATBoost, което е полезно и осигурява както първата, така и втората производна: https://github.com/catboost/catboost/blob/master/catboost/libs/something/error_functions .ч

Въпреки че не можете да намерите тази полезна функция за загуба на L1 в XGBoost, можете да опитате да сравните внедряването на Yandex с някои от персонализираните функции за загуби, написани за XGB.

  • Също така CATBoost работи отлично с категорични функции, докато XGBoost приема само цифрови входове.

Те предлагат разнообразие от начини за подаване на категорични характеристики за моделиране на обучение в допълнение към използването на стария и добре познат единен подход. Намаляването на размерите на входното пространство без загуба на много информация е една от възможните причини монтираният модел да е по-малко оборудван.

Свърших. Не използвам LightGBM, така че не мога да хвърля светлина върху него.