Пошаговое руководство, вдохновленное рамками PhD

Таблица содержания

  1. Вступление
  2. Итак, почему так важен фреймворк?
  3. Жизненный цикл машинного обучения

Вступление

У вас есть идея проекта, но вы не знаете, с чего начать? Или, может быть, у вас есть набор данных и вы хотите построить модель машинного обучения, но не знаете, как к ней подойти?

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

Итак, почему так важен фреймворк?

Фреймворк в машинном обучении важен по ряду причин:

  • Он создает стандартизированный процесс, помогающий направлять анализ и моделирование данных.
  • Это позволяет другим понять, как подходили к проблеме, и исправить старые проекты.
  • Это заставляет глубже задуматься о проблеме, которую они пытаются решить. Сюда входят такие вещи, как переменная, которая будет измеряться, каковы ограничения и потенциальные проблемы, которые могут возникнуть.
  • Это побуждает к более тщательной работе, повышая легитимность выводов и / или конечного результата.

Имея это в виду, давайте поговорим о фреймворке!

Жизненный цикл машинного обучения

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

1. Планирование

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

Планирование включает следующую задачу:

  • Укажите проблему, которую вы пытаетесь решить. Это может показаться простым шагом, но вы будете удивлены, узнав, как часто люди пытаются найти решение проблемы, которой не существует, или проблемы, которая на самом деле не является проблемой.
  • Определите бизнес-цель, которую вы пытаетесь достичь, чтобы решить проблему. Цель должна быть измеримой. «Быть ​​лучшей компанией в мире» - это не измеримая цель, а что-то вроде «Уменьшить количество мошеннических транзакций».
  • Определите целевую переменную, если применимо, и потенциальные переменные функции, на которые вы, возможно, захотите посмотреть. Например, если цель состоит в том, чтобы уменьшить количество мошеннических транзакций, вам, скорее всего, понадобятся помеченные данные как мошеннических, так и не мошеннических транзакций. Вам также могут потребоваться такие функции, как время транзакции, идентификатор учетной записи и идентификатор пользователя.
  • Учитывайте любые ограничения, непредвиденные обстоятельства и риски. Это включает, помимо прочего, такие вещи, как ограничения ресурсов (нехватка капитала, сотрудников или времени), ограничения инфраструктуры (например, отсутствие вычислительной мощности для обучения сложной нейронной сети) и ограничения данных (неструктурированные данные, отсутствие точки данных, неинтерпретируемые данные и т. д.)
  • Определите свои показатели успеха. Как вы узнаете, что добились успеха в достижении своей цели? Будет ли это успехом, если ваша модель машинного обучения точна на 90%? А как насчет 85%? Является ли точность наиболее подходящей метрикой для решения вашей бизнес-задачи? Прочтите мою статью о нескольких показателях, которые специалисты по данным используют для оценки своих моделей.

Если вы выполнили этот шаг и уверены в проекте, вы можете перейти к следующему шагу.

2. Данные

Этот шаг направлен на получение, изучение и очистку ваших данных. В частности, он включает в себя следующие задачи:

  • Соберите и объедините данные, которые вы указали на этапе планирования. Если вы получаете данные из нескольких источников, вам нужно будет объединить данные в единую таблицу.
  • Измените свои данные. Это влечет за собой очистку и преобразование ваших данных, чтобы сделать их более подходящими для EDA и моделирования. Некоторые вещи, которые вы захотите проверить, включают недостающие значения, повторяющиеся данные и шум.
  • Проведите исследовательский анализ данных (EDA). Этот шаг, также известный как исследование данных, по сути является завершенным, чтобы вы могли лучше понять свой набор данных. Если вы хотите узнать больше об EDA, вы можете прочитать мое руководство по проведению исследовательского анализа данных.

3. Моделирование

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

  • Выберите свою модель. Выбор модели в конечном итоге зависит от проблемы, которую вы пытаетесь решить. Например, проблема регрессии или классификации требует различных методов моделирования. Если вы хотите узнать о различных моделях машинного обучения, ознакомьтесь с моей статьей Все модели машинного обучения, объяснение за 6 минут.
  • Обучите свою модель. После того, как вы выбрали модель и разбили набор данных, вы можете обучать модель с помощью данных обучения.
  • Оцените свою модель. Когда вы почувствуете, что ваша модель завершена, вы можете оценить ее, используя данные тестирования на основе заранее определенных показателей успеха, которые вы выбрали.

4. Производство

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

  • Развертывание модели. Развертывание модели машинного обучения, известное как развертывание модели, просто означает интеграцию модели машинного обучения и ее интеграцию в существующую производственную среду, где она может принимать входные данные и возвращать выходные данные.
  • Мониторинг модели. Мониторинг модели - это операционный этап в жизненном цикле машинного обучения, который наступает после развертывания модели и включает в себя «мониторинг» ваших моделей машинного обучения на предмет ошибок, сбоев и задержек, но, что наиболее важно, , чтобы гарантировать, что ваша модель поддерживает заданный желаемый уровень производительности.

Спасибо за прочтение!

Теренс Шин

Основатель ShinTwin | Подключимся к LinkedIn | Портфолио проектов находится здесь.