6 шагов к успешному проекту машинного обучения

от проверки концепции до производства и между ними

Введение

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

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

  • Инициация проекта
  • Исследование данных
  • Обработка данных
  • Разработка модели
  • Оценка модели
  • Развертывание модели

1. Инициация проекта: идея, требования и сбор данных

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

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

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

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

2. Исследование данных

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

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

  • Есть ли зависимость между возрастом и зарплатой у мужчин? Если да (и может быть), то как это влияет на женщин, работающих в подобных компаниях?
  • Что происходит, когда вы сравниваете одну переменную с другой? Они вообще как-то влияют друг на друга?

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

3. Обработка данных и выбор функций

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

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

  • Удаление ненужных функций из набора данных
  • Заполнение пропущенных значений
  • уменьшение размера набора данных и набора функций
  • Преобразование категориальных переменных в числовые переменные (или наоборот)
  • Нормализация точек данных

4. Разработка модели

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

При выборе алгоритма вы можете учитывать:

  • Размер данных: насколько велики данные? Его нужно обрабатывать быстро или медленно? Требуется ли вашему алгоритму много данных для обучения или он может учиться на ограниченных точках данных?
  • Тип проблемы: какие проблемы может решить этот алгоритм? Существуют ли особые потребности в обработке данных для данного алгоритма? Насколько хорошо модель реагирует на недостающие данные?
  • Доступность: существуют ли существующие библиотеки или пакеты для данного алгоритма?

5. Оценка модели

После обучения модели важно оценить модель и понять, как интерпретировать результаты, прежде чем развертывать ее.

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

6. Развертывание модели

Теперь, когда у вас есть готовая первая модель, последний шаг — развертывание модели в рабочей среде. Это один из самых важных шагов в машинном обучении, потому что он позволяет вам использовать ваши данные для реальных приложений или даже зарабатывать на этом деньги!

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

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

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

Заключение

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

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

Спасибо за прочтение. Если у вас есть какие-либо отзывы, пожалуйста, свяжитесь с нами, прокомментировав эту публикацию, отправив мне сообщение в LinkedIn или отправив мне электронное письмо (shmkapadia[at]gmail.com)

Если вам понравилась эта статья, прочитайте другие мои статьи о НЛП