Жизненный цикл модели машинного обучения
Жизненный цикл модели машинного обучения – это многоэтапный процесс, в течении которого исследователи, инженеры и разработчики обучают, разрабатывают и обслуживают модель машинного обучения.Модель машинного обучения принципиально отличается от традиционной разработки программного обеспечения и требует своего собственного уникального процесса: жизненного цикла разработки ML. Модель машинного обучения — это приложение искусственного интеллекта (ИИ), которое дает возможность автоматически учиться и совершенствоваться на основе собственного опыта без явного участия человека. Основная цель модели заключается в том, чтобы компания смогла использовать преимущества алгоритмов искусственного интеллекта и машинного обучения для получения дополнительных конкурентных преимуществ.
В данном конспекте жизненный цикл модели машинного обучения будет рассмотрен на примере модели, которая предсказывает превышает ли доход человека 50 тысяч долларов.
Исследование
На этом этапе необходимо вместе с заказчиком сформулировать проблемы бизнеса, которые будет решать модель. Также, требуется сформулируйте вопросы, которые определяют бизнес-цели, на которых могут сосредоточиться методы науки о данных. Главная задача этого этапа — понять основные бизнес-переменные, которые будет прогнозировать модель. Такие переменные называются ключевыми показателями модели. После этого необходимо определить какие метрики будут использоваться, чтобы определить успешность проекта. Примеры метрик: продолжительность пребывания товара на складе, количество материала, которое экономится в процессе производства и количество абонентов, которые остались у своего оператора. Далее требуется понять ключевые показатели модели, ставя и уточняя "острые" вопросы: релевантные, конкретные и однозначные. Машинное обучение — это работа с именами и числами для получения ответов на такие вопросы. В основном модели машинного обучения отвечают на следующие вопросы:
- Сколько? (регрессия)
- К какой категории относится объект? (классификация)
- К какой группе относится объект? (кластеризация)
- Является ли действия данного пользователя странными? (обнаружение аномалий)
- Что похожее предложить пользователю? (рекомендация)
После необходимо сформировать команду проекта, распределить роли и обязанности между его участниками; создать расширенный поэтапный план проекта, который будет дополняться по мере поступления новой информации. Команда проекта состоит Последняя задача данного этапа заключается в поиске метрики успешности модели. Например, может потребоваться спрогнозировать количество абонентов, которые хотели уйти от своего оператора, но в итоге остались у него. К моменту завершения проекта требуется чтобы модель уменьшила отток абонентов на X%. С помощью этих данных можно составить рекламные предложения для минимизации оттока. Метрики должны быть составлены в соответствии с принципами SMART.
Сбор и подготовка данных
На данном этапе осуществляется сбор и подготовка всех необходимых данных для использования в модели. Основные задача данного этапа состоит в том, чтобы получить обработанные, высококачественный набор данных, чья связь с целевыми переменными закономерна. Сбор и подготовка данных состоят из 3 стадий: сбор данных, нормализация данных и моделирование данных.
Сбор данных
Сбор данных — это процесс сбора информации по интересующим переменным в установленной систематической форме, которая позволяет отвечать на поставленные вопросы исследования, проверять гипотезы и оценивать результаты. Правильный сбор данных имеет важное значение для обеспечения целостности исследований. Как выбор подходящих инструментов сбора данных, так и четко разграниченные инструкции по их правильному использованию снижают вероятность возникновения ошибок. Прогнозирующие модели хороши только для данных, из которых они построены, поэтому правильная практика сбора данных имеет решающее значение для разработки высокопроизводительных моделей. Данные должны быть безошибочными и содержать релевантную информацию.
Нормализация данных
Cледующий шаг в процессе подготовки — это то место, где аналитики и инженеры данных обычно проводят большую часть своего времени: очистка и нормализация грязных данных. Часто это требует от них принимать решения на основе данных, которые они не совсем понимают, например, что делать с отсутствующими или неполными данными, а также с выбросами. Что еще хуже - эти данные нелегко соотнести с соответствующей единицей анализа: вашим клиентом. Например, чтобы предсказать, уйдет ли один клиент (а не сегмент или целая аудитория), нельзя полагаться на разрозненные данные из разрозненных источников. Ваш специалист по данным подготовит и объединит все данные из этих источников в формат, который могут интерпретировать модели ML.
Моделирование данных
Следующим этапом проекта машинного обучения является моделирование данных, которые мы хотим использовать для прогнозирования. Моделирование данных — это сложный процесс создания логического представления структуры данных. Правильно сконструированная модель данных должна быть адекватна предметной области, т.е. соответствовать всем пользовательским представлениям данных. Моделирование также включает в себя смешивание и агрегирование веб данных, данных из мобильных приложений, оффлайн данных и др. Для модели, рассматриваемой в данном конспекте, инженеры объединяют разнородные данные в цельный набор данных. Например, у них есть уже готовые данные по признакам, и они объединяют их в один набор данных.
Разработка модели
На данном этапе осуществляется разработка модели и решаются две основные задачи: конструирование признаков, и поиск модели, которая лучше остальных решает поставленную задачу, на основе имеющихся метрик.
Конструирование признаков
Конструирование признаков состоит из учета, статистической обработки и преобразования данных для создания признаков, используемых в модели. Чтобы понять лежащие в основе модели механизмы, целесообразно оценить связь между компонентами и понять, как алгоритмы машинного обучения будут использовать эти компоненты. На данном этапе нужно творческое сочетание опыта и информации, полученной на этапе исследования данных. В конструирование признаков необходимо найти баланс. Важно найти и учесть информативные переменные, не создавая при этом лишние несвязанные признаки. Информативные признаки улучшают результат модели, а не информативные — добавляют в модель ненужный шум. При создании признаков необходимо учитывать все новые данные, полученные во время обучения модели.
Обучение модели
В зависимости от типа вопроса, на который вы ищете ответ, можно использовать разные алгоритмы моделирования. Процесс обучения модели машинного обучения состоит из следующих шагов: С помощью кросс-валидации разделите набор данных случайным образом на два набора данных: для обучения и для тестирования. Обучите модель с помощью тренировочного набора данных. Оцените набор данных для обучения и тестирования. Используйте ансамбль конкурирующих алгоритмов машинного обучения, а также связанные с ними параметры настройки (перебор гиперпараметров), которые определяют ответы на поставленный вопрос по имеющимся данным. Выясните, какой алгоритм наиболее точно решает поставленную задачу, сравнивая метрики для все возможных вариантов.
Развертывание
Развертывание моделей машинного обучения или простое внедрение моделей в производство означает доступность ваших моделей для других ваших бизнес-систем. Развертывая модели, другие системы могут отправлять им данные и получать их прогнозы, которые, в свою очередь, заполняются в системах компании. Благодаря развертыванию модели машинного обучения компания сможет в полной мере воспользоваться созданной моделью машинного обучения.