Нужна ли нормализация признаков для моделей BERT и деревьев решений
Что проверяют
Понимаете ли вы, откуда вообще берётся требование масштабировать признаки. Это вопрос на механику алгоритмов: нормализация нужна там, где модель считает расстояния или обучается градиентным спуском с общим шагом, и не нужна там, где решение принимается по порогам.
Как отвечать
Разделить два случая.
Деревья и ансамбли над ними, включая случайный лес и градиентный бустинг, сравнивают значение признака с порогом. Любое монотонное преобразование (масштабирование, сдвиг, логарифм) даёт то же самое разбиение, поэтому нормализация им не нужна и качество не поднимет. Число деревьев тут ничего не меняет: для ансамбля правило ровно то же.
BERT на вход принимает не числовые признаки, а идентификаторы токенов, которые превращаются в обучаемые векторные представления. Нормализовать просто нечего. Нормализация внутри модели есть, это LayerNorm в каждом блоке, но она часть архитектуры, а не подготовка данных. Оговорка важная: если табличные признаки конкатенируются с векторами в одной нейросети, вот их масштабировать обязательно, иначе признак с большим разбросом перетянет градиенты на себя.
Закончить тем, где масштабирование действительно критично: метрические методы, метод опорных векторов, линейные модели с регуляризацией, снижение размерности, любые нейросети на табличных данных.
Где спотыкаются
Заучивают правило «одному дереву не нужно, ансамблю нужно». Ансамбль деревьев остаётся деревьями, требования к данным не меняются, и такой ответ сразу показывает, что механика разбиения не понята.
Второе: объясняют случай BERT словами «векторы уже нормализованы». Причина не в этом: признаков в привычном смысле там нет вовсе, а за стабильность обучения отвечает нормализация слоёв внутри модели.
Третье: путают нормализацию признаков с нормализацией текста. У модели есть своя подготовка входа, токенизация и обработка регистра в зависимости от чекпоинта, но это не масштабирование, и смешивать два понятия в ответе нельзя.