data_for_ML

Научите компьютер учиться: какие данные нужны в Machine Learning?

Каждая школа хороша настолько, насколько хороши её преподаватели и учебники. В случае Machine Learning вы и готовите «образовательные материалы», и руководите самим процессом. Сегодня мы расскажем, как подобрать нужные данные для ML-модели и какие подводные камни вас ждут на этом пути. Это обзорный материал без погружения в технические подробности, которые входят в наш курс Python для анализа данных.

Начнём с того, что при создании интеллектуальной системы вам понадобится три разных набора данных:

  1. Тренировочный (training set) — 60% от всего массива данных, поможет вам научить модель выполнять необходимые операции. Включает в себя как вводную информацию, так и ожидаемые результаты.
  2. Оценочный (validation set) — 20%, используется для точной настройки системы после каждой новой итерации.
  3. Тестовый (test set) — 20%, обеспечивает «боевую» проверку.

Механика работы с данными при обучении ML-системы

Очевидно, что главная задача дата-сайентиста — это вовсе не собрать данные в базу, а правильно сформировать эти наборы. Ошибка маркировки может в итоге обнулить результаты всей работы. Например, если тестовый сет будет близок по содержанию к тренировочному, функциональность модели окажется ограниченной, поскольку аналитическое ядро «привыкнет» к определённым вводным. В реальных условиях, где разброс вариантов гораздо шире, она работать не сможет.

Все сеты по умолчанию содержат неточности, которые могут привести ML-модель к искаженным результатам. Хороший пример таких ошибок — громкий скандал, который разразился в США в начале этого года. Как выяснилось, аналитическая система у полицейских предполагала, что чернокожие американцы априори склонны к преступлениям. Причина заключалась в недостаточной выверке исходных данных.

Чтобы избежать подобных ловушек, у дата-сайентиста есть целый набор всевозможных проверок. Он следит, чтобы тренировочный сет не был слишком широким, но и не тяготел к частным случаям явлений (вроде преобладания чернокожих граждан над другими группами тюремного населения). Разнообразие данных (data diversity) — один из ключевых показателей, который позволит оценить качество собранных сетов. Это предполагает использование информации как из внешних, так и внутренних источников. При этом эксперт науки о данных должен отсеять лишние материалы, которые замедлят алгоритм и не создадут дополнительной ценности. Критерий прост: следует соотнести, насколько те или иные данные будут полезны для основной функции системы, а не для дополнительных опций из категории «а вот здорово было бы ещё…».

Когда сбор данных завершён, их нужно подготовить для «скармливания» модели. Эту работу можно разделить на следующие этапы:

  1. Интеграция форматов. Подготовьте все доступные файлы к работе с системой: например, если это показатели продаж, то сконвертируйте всё в одну валюту, унифицируйте термины и оформите всё на одном языке.
  2. Очистка. Заполните пустые значения, избавьтесь от лишних символов и прочего мусора.
  3. Выделение признаков (Feature Extraction). Определите характеристики, которые станут ключевыми для обучения вашей модели и сделайте упор на них, чтобы не перегружать интеллектуальную систему ненужными расчётами.

Значительной части работы можно избежать, если у компании-заказчика уже налажен автоматический сбор необходимых данных. В противном случае проект должен начинаться с выстраивания этих процессов — при создании ML-системы недопустимы компромиссы по качеству источников. В идеале новая информация для актуализации модели должна собираться автоматически в течение жизненного цикла корпоративных продуктов и услуг. Например, некоторые эксперты полагают, что недавний флешмоб Facebook, в ходе которого пользователи выкладывали фотографии «Сейчас — 10 лет назад», был организован для обучения систем видеораспознавания.

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

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

текст: Помогаев Дмитрий

Поделиться: