m@ksim.pro
К списку статей
Данные 2 мин чтения

Почему подготовка признаков всё ещё важна в эпоху глубокого обучения

Глубокое обучение автоматизирует извлечение признаков - но не отменяет необходимость думать о том, какие данные вы подаёте на вход модели.

Один из популярных нарративов про глубокое обучение звучит так: нейросети сами находят признаки в данных, поэтому ручной feature engineering уходит в прошлое. Просто дайте модели сырые данные и достаточно примеров.

Для части задач - компьютерное зрение, обработка текстов - это действительно изменило подход. Но для большинства прикладных задач, с которыми работают компании, история другая.

Где автоматическое извлечение признаков работает

Глубокие нейросети хорошо справляются с задачами, где входные данные имеют богатую структуру, которую сложно сформулировать правилами: изображения, аудио, текст. Там, где "признак" - это абстракция высокого уровня над пикселями или токенами, и где есть достаточно данных для обучения.

В этих доменах модель действительно учится строить иерархические представления из сырых входных данных.

Где ручная подготовка признаков по-прежнему важна

Большинство прикладных задач в бизнесе - это не изображения и не текст. Это таблицы: транзакции, события, временные ряды, CRM-данные.

Для табличных данных глубокие сети не показывают систематического преимущества перед более простыми методами - градиентным бустингом, например. А хорошо подготовленные признаки остаются ключевым фактором качества.

Что значит "хорошо подготовленные признаки" на практике:

  • агрегации за разные периоды времени: активность за последние 7 дней, 30 дней, 90 дней;
  • разности и темпы изменений: как изменился показатель по сравнению с предыдущим периодом;
  • признаки из временных паттернов: день недели, сезонность, время с последнего события;
  • кросс-признаки: взаимодействие между переменными, которое не очевидно по отдельности.

Эти признаки не "выучиваются" автоматически. Их создают люди, которые понимают предметную область.

Что важнее модели

Я регулярно наблюдаю ситуацию: команда тратит время на подбор архитектуры модели, в то время как значительный прирост качества можно получить от лучшей подготовки данных и продуманных признаков.

Хороший признак, основанный на понимании бизнес-процесса, часто даёт больше, чем переход от одной модели к другой. Особенно когда данных немного - а в большинстве реальных задач их именно немного.

Это не означает, что модель не важна. Это означает, что качество входных данных и признаков - часто более высокоприоритетный рычаг.

Где искать улучшения

Несколько вопросов, которые помогают найти нереализованный потенциал в признаках:

  1. Есть ли в бизнес-процессе временные паттерны, которые сейчас не представлены в признаках?
  2. Используем ли мы только "моментальные снимки" или также историю изменений?
  3. Есть ли признаки, которые понятны экспертам в предметной области, но которых нет в модели?
  4. Правильно ли обрабатываются пропуски - или они просто заполняются средним?
  5. Проверяли ли мы, насколько каждый признак действительно влияет на результат?

Автоматическое обучение представлений - реальное достижение. Но думать о том, какие данные идут на вход, никто не отменял.

К списку статей
Контакт

Если эта статья отозвалась - напишите. Я отвечаю лично.

Telegram