Руководство, которое поможет вам в процессе разработки машинного обучения.

Проекты машинного обучения сложны, и для снижения рисков важно понимать процесс. Рисков может быть много, от решения несуществующей проблемы до построения модели, которая не соответствует какому-то требованию.

Существует множество сред для работы, которые могут помочь вам на протяжении всего процесса разработки машинного обучения. Для проектов данных наиболее распространенным является CRISP-DM (межотраслевой стандартный процесс интеллектуального анализа данных), и вы можете использовать его в какой-либо гибкой структуре, такой как Канбан или Спринты, для организации этих этапов в более мелкие задачи. Нет правильного или неправильного, но то, что работает для вас. Поэтому вы должны изучить его сильные и слабые стороны и протестировать его, адаптировать, пока вы не будете удовлетворены процессом.

Первым шагом является Бизнес-понимание. На этом этапе вам необходимо:

  • Понять проблему
  • Понимание текущего бизнес-процесса
  • Кто является заинтересованными сторонами?
  • Каковы требования?
  • Каковы ограничения?
  • Как это будет реализовано или использовано? Какой формат модели следует построить, например, API, таблицу или MVP с Excel? Ввод логического вывода будет пакетным или потоковым?
  • Какие данные связаны с проблемой и могут быть использованы для ее решения?
  • Оцените, является ли машинное обучение лучшим подходом, иногда это не так, как я упоминал в своей предыдущей статье: Когда использовать машинное обучение.
  • Каковы ключевые показатели для оценки модели? Есть ли у нас базовый уровень?

Понимание всех этих вопросов поможет вам достичь большей зрелости проекта перед его началом и поможет вам в процессе принятия решений во время разработки модели.

Затем вам нужно понять данные:

  • Какие данные вам нужны?
  • Где они? В базе данных? Таблицу Эксель?
  • Все это доступно? Если нет, то есть ли способ получить его?
  • С каким форматом данных вы имеете дело? Таблица, изображение, аудио, видео или текст?
  • Как происходит процесс получения данных? Как данные поступают до вас? Какие преобразования происходят по ходу?

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

На этапе Подготовка данных вы преобразуете данные в полезную версию для подачи модели:

  • С какими функциями вы хотите поэкспериментировать?
  • Что вы будете делать с выбросами? Убрать или заполнить их какой-то стратегией?
  • С какими преобразованиями предварительной обработки вы хотите поэкспериментировать? Как вы будете преобразовывать категориальные, числовые, изображения и так далее?

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

Кроме того, вы уже знаете показатель для оценки модели, выбранной на этапе понимания бизнеса, поэтому вы можете сравнить все эти эксперименты. Для этого важно отслеживать отслеживание всех экспериментов, какие переменные вы использовали в каждом из них. Кроме того, чтобы выбрать наилучшую модель, важно проанализировать не только ключевую метрику, определенную в начале проекта, но и общий результат, чтобы увидеть, делает ли он то, что вы хотите, поэтому анализ ошибок и объяснимость имеют значение. Вы должны быть в состоянии ответить: почему кто-то должен доверять этой модели?

Если у вас достаточно хорошая модель, то есть она лучше базовой и соответствует всем бизнес-требованиям, и у вас есть одобрение заинтересованных сторон, вы можете развернуть ее, то есть сделать ее доступной для бизнес-реализации. Замечательно, что в Бизнес-понимании вы уже определили, в каком формате вы будете поставлять модель, верно?

Вы также можете разработать стратегии развертывания, чтобы сначала протестировать модель, например A/B-тестирование или теневое развертывание. Если производительность модели в производственной среде по-прежнему высока, вы можете полностью реализовать ее. Обычно производительность в производственной среде хуже, чем у нас при оценке модели, поскольку производственная среда является более неопределенной средой.

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

Поскольку поведение может меняться со временем, также рекомендуется продолжать мониторинг производительности модели и разрабатывать стратегии для непрерывного переобучения. Например, covid 19 изменил распорядок дня людей, и это может повлиять на развернутую модель, сместив данные, так что модель больше не работает. Вы должны быть в состоянии определить его как можно скорее и ответить на него.

Надеюсь, вам понравилось читать эту статью, и этот процесс поможет вам разработать более совершенные и удобные модели машинного обучения. Если вам понравилось, подпишитесь на меня, чтобы получать дополнительные советы и материалы по машинному обучению.