Існує кілька реалізацій моделей сімейства GBDT, таких як:
- GBM
- XGBoost
- СвітлоGBM
- Catboost.
Які відмінності математика між цими різними реалізаціями?
Здається, Catboost перевершує інші реалізації, навіть використовуючи лише параметри за замовчуванням згідно з цим тестом, але він все ще дуже повільний.
Я припускаю, що catboost не використовує змінені змінні, тому вага, наданий кожній (категоріальній) змінній, є більш збалансованим у порівнянні з іншими реалізаціями, тому змінні з високою кардинальністю не мають більшої ваги, ніж інші. Дозволяє слабким категоріям (з низьким рівнем потужності) проникати в деякі дерева, отже, краща продуктивність. Крім цього, я не маю подальших пояснень.
Ви хочете переглянути цю статтю англійською мовою від команди Яндекса про математичну особливість CATBoost.
Я прочитав це коротко, і серед деяких речей, які мені вдалося швидко зрозуміти, був той факт, що вони не використовують залишки, отримані в ПОЇЗД ТРЕНУВАТИСЯ, оскільки ці залишки створюють оптимістичний ухил у якості навчання. ( Оновлення: ця новинка пропонує спосіб боротьби із переобладнанням, що є однією з причин, чому алгоритм працює краще порівняно з аналогами, а також різноманітні способи попередньої обробки категоріальних змінних).
Вибачте, що не дав вам конкретної та повної відповіді.
Математичні відмінності між 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 .h
Хоча ви не можете знайти цю корисну функцію втрати L1 в XGBoost, ви можете спробувати порівняти реалізацію Яндекса з деякими спеціальними функціями втрат, написаними для XGB.
- Крім того, CATBoost чудово працює з категоріальними функціями, тоді як XGBoost приймає лише цифрові входи.
Вони пропонують різноманітні способи подання категоріальних характеристик для моделювання навчання на додаток до використання старого та добре відомого єдиного підходу. Зменшення розмірів вхідного простору без втрати великої кількості інформації є однією з можливих причин, чому пристосована модель менш оснащена.
Я закінчив. Я не використовую LightGBM, тому не можу пролити на нього світло.
- Які відмінності між ібупрофеном та парацетамолом - краще зі здоров’ям
- Відмінності між ефірною олією та ароматичною есенцією
- Чи знаєте ви різницю між казеїном та сироватковим білком
- Які відмінності між класичним йогуртом та грецьким йогуртом?
- Різниця між втратою запаху та смаку через COVID-19 та спричиненою застудою