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

В этом сообщении блога мы рассмотрим 7 этапов процесса машинного обучения, как объяснил Юфэн Дж. в этом замечательном видео, которое является частью видеороликов Google Cloud AI Adventures, размещенных на YouTube.

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



7 шагов машинного обучения

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

Сбор данных

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

Для простоты мы будем принимать во внимание только 2 характеристики, а именно цвет каждого фрукта и текстуру его внешней поверхности, т.е. шероховатость она или гладкость. Мы также можем использовать онлайн-репозитории, такие как Kaggle, UCI и т. Д., Которые содержат предварительно обработанные наборы данных.

Подготовка данных

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

Выбор модели

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

Обучение

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

Оценка

После того, как мы обучили нашу модель, мы должны определить, делает ли она правильные прогнозы или нет. Как упоминалось ранее, мы разделили наш набор данных на обучающий набор и тестовый набор. Теперь мы используем наш тестовый набор, который содержит невидимые точки данных, чтобы оценить нашу модель. Метрики, по которым мы оцениваем нашу модель, должны быть четко определены. Если мы собираемся использовать несколько разных моделей, то эта предопределенная метрика позволит нам выбрать одну модель вместо другой.
Хорошее практическое правило, которому следует следовать при разделении набора данных, - обеспечить разделение 80/20 или 70/30 на обучающий набор и тестовый набор соответственно.

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

Настройка параметров

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

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

Прогноз

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

Резюме

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

  • Сбор данных
  • Подготовка данных
  • Выбор модели
  • Обучение
  • Оценка
  • Настройка параметров
  • Прогноз

Спасибо, что остались, и следите за новостями!