Почему классические бустинги часто лучше нейросетей на табличных данных, хотя трансформеры доминируют в текстах и изображениях?
По мотивам обзорных статей c arxiv
⭐️ Deep Neural Networks and Tabular Data: A Survey (2022) авторы выделяет несколько причин, включая даже стагнацию deep learning методов (где прорыв):
• Различие в природе данных играет ключевую роль:
- Табличные данные – гомогенные (однородные)
- Тексты и изображения – гетерогенные (разнородные)
Основные причины:
• Плохое качество данных и зависимость от препроцессинга. Пропуски, выбросы, несбалансированность выборок, противоречивые или разнородные распределения. Если деревья из коробки неплохо справляются с этим, то для сеток каждую проблему приходится решать вручную, зачастую уникально для каждой задачи. Например, одни только категориальные признаки можно заэнкодить большим количеством способов. Без предобработки (например, квантильного-нормального нормирования) качество сетей сильно снижается, а с ним теряется часть исходной информации что тоже не есть хорошо.
• Отсутствие или нелинейная связь признаков, т.е. явная корреляция не ожидается. Для изображений важна локальная связь соседних пикселей (используются свертки), для текста – порядок слов. В табличных данных такой структуры часто нет.
• Критичная важность признаков. Для табличек – нормально, когда изменение одного признака полностью меняет результат модели. А для картинок необходимо все-таки изменение большего региона пикселей, например, чтобы собака стала кошкой на фотографии. Это не проблема даже для decision tree. Авторы статьи предполагают, что проблема будут митигированы через хитрые регуляризации.
• Время обучения и необходимость GPU. Для задач на табличных данных GPU часто недоступны (они заняты обучением LLM). Даже если они есть, обучение сетей может быть на 2–4 порядка медленнее. Например, в одной задаче бустинг обучался за 1 минуту, а TabR (новая нейросеть от Яндекса) – более 10 часов. Хотя там проблема в неудачном использовании KNN в retrieval-модуле.
⭐️ A Closer Look at Deep Learning on Tabular Data тут авторы пошли во все тяжкие, построив бенчмарк на 300 датасетах. Почти в 200 из 300 деревья выигрывают, особенно Catboost. При этом авторы отмечают что, в небольших датасетах, TabR (сетка от Яндекса, которую упоминал ранее), оказывается сильнее. Общий вывод чем сложнее и специфичнее постановка задачи (например, при переходе из бинарной классификации к мультикласс - привет py-boost), чем больше вероятность что сетки выстрелят
Как общий итог сетки могут быть полезны в условиях скорее супер большего кол-ва данных, особенно если есть неструктурированные данные. Отдельная история когда есть последовательность данных, такие как транзакции пользователей и здесь сетки могут лучше учесть зависимости, https://arxiv.org/pdf/1911.02496 пример. Слышал про тезис что сетки могут помочь в задаче построении признаков, которые для бустингов придется делать самому. Так или иначе бустинги всегда должны быть в бейзлайне
Post #49
719
- 👍 8
- 🔥 6
- 🤔 2