Машинное обучение (МО) предполагает обучение компьютерной системы делать прогнозы на основе незнакомых данных. Это достигается за счет использования наблюдений системы во время обучения с использованием набора помеченных или немаркированных обучающих данных. Какой бы разнообразной ни была тема машинного обучения, в большинстве проектов машинного обучения есть много общего. В данной статье будут рассмотрены шаги, которые обычно встречаются в каждом проекте машинного обучения.
Машинное обучение формализует задачу изучения шаблонов на основе существующих данных. Независимо от качества входных данных, процесс всегда дает модель. Однако производительность модели при применении к новым, невидимым данным зависит от качества используемых обучающих данных. Таким образом, консенсус утверждает, что первые два шага в процессе машинного обучения являются наиболее важными, поскольку недостаточность обучающих данных приведет к созданию неадекватной модели на выходе.
Первым шагом в процессе машинного обучения является сбор данных. Образцы данных поступают из различных источников, включая вводимые пользователем данные, значения датчиков или данные, собранные в Интернете, и это лишь некоторые из них. Не существует стандартизированного решения для сбора и предварительной обработки данных, поскольку данные могут поступать из множества неограниченных источников и иметь различное использование для хранения. Однако после того, как данные собраны и сохранены, разработчики предпринимают шаги, чтобы обеспечить их приемлемое качество.
Изначально не должно быть пропущенных значений данных. Если выборка данных содержит пустую информацию, ее можно полностью удалить из набора данных или заменить отсутствующее значение либо заполнителем, либо средним значением. Дополнительные этапы предварительной обработки включают нормализацию значений, удаление специальных символов и преобразование текста в числовые данные.
Данные, используемые для обучения моделей машинного обучения, часто имеют высокую размерность и обычно представляются в виде таблицы. Каждый столбец таблицы соответствует переменной, часто называемой атрибутом, а каждая строка представляет одну выборку данных.
Этот пример содержит пять образцов с тремя переменными (вкус, цвет, калории) и одной выходной меткой (тип). Реальные наборы данных значительно велики и содержат сотни или даже тысячи образцов и столбцов. В контексте небольшого примера набора данных можно определить переменную, которая может точно предсказать тип пищи. Здесь калорийность продукта является идеальным индикатором для прогнозирования того, является ли продукт хлебом или сладостью, поскольку все, что превышает 400 калорий, можно классифицировать как торт. Напротив, переменная цвета неоднозначна из-за недостаточности данных для определения того, классифицируется ли темный пищевой продукт как торт.
Некоторые атрибуты больше других подходят для определения выходной метки выборки данных. Поэтому большинство приложений машинного обучения направлены на выявление наиболее полезных функций для определения результатов при классификации новых наблюдений. Это сводит к минимуму размерность данных, позволяя алгоритмам машинного обучения быть более эффективными в процессе обучения. Этап извлечения признаков может существенно повлиять на результат работы конкретных алгоритмов. Например, при использовании деревьев решений оптимизация определяет разницу между простыми маленькими деревьями и сложными большими деревьями.
Подобно оптимизации и предварительной обработке набора данных, не существует единого типа модели, оптимального для всех приложений. Поэтому вы должны тщательно оценить свои данные, чтобы определить, какую модель лучше всего использовать. У вас есть возможность выбирать из целого ряда алгоритмов, включая деревья решений, KNN, байесовские сети и нейронные сети, и это лишь некоторые из них. У каждого алгоритма есть преимущества и недостатки, причем некоторые требуют большего количества шагов предварительной обработки, чем другие. Например, алгоритмы с учетом расстояния, такие как KNN, часто требуют нормализации данных и удаления выбросов. С другой стороны, такие алгоритмы, как нейронные сети, могут не сталкиваться с такими резкими различиями значений в наборе данных, и нормализация может быть необязательной. Более того, некоторые алгоритмы ленивы в обучении, то есть не требуют обучения. Напротив, усердным ученикам требуется время на обучение, хотя для вывода обычно требуется меньше времени. Точный процесс обучения отличается от одного алгоритма к другому, и вы можете захотеть использовать несколько алгоритмов в ансамблевом обучении.
После того как модель обучена и готова делать прогнозы, необходимо оценить, насколько хорошо компьютер может делать прогнозы на основе ранее невидимых данных. Вы можете выбрать один из множества методов оценки производительности модели.
Как только модель достигнет оптимальной производительности, она будет готова к использованию в реальных условиях. Здесь алгоритм получает данные из реальной жизни и самостоятельно генерирует решения или помогает пользователям в процессе принятия решений. На этом этапе непрерывная переоценка модели имеет решающее значение, поскольку окружающий мир меняется и представляет новые сценарии, невидимые во время первоначального обучения. Периодическое переобучение модели имеет важное значение, особенно когда среда вокруг устройства претерпевает значительные изменения.
Если взглянуть на концепцию со стороны, машинное обучение может показаться сложным для понимания. Однако важно помнить, что по своей сути эта концепция описывает исключительно алгоритмы и методы, используемые для принятия решений на основе статистики и закономерностей, полученных из больших наборов данных. Существует несколько общих шагов, которым следует практически каждый проект машинного обучения. Это сбор данных, предварительная обработка, извлечение признаков, выбор модели, обучение, оценка и развертывание.
Во время сбора и предварительной обработки данных инженеры обеспечивают соответствие данных определенным стандартам качества. Извлечение признаков упорядочивает данные и выявляет наиболее важные атрибуты. В процессе выбора и обучения модели вы выбираете алгоритм, который соответствует вашим данным, а затем выполняете его при обучении модели. Далее вы можете оценить, насколько хорошо алгоритм работает с данными, и внести необходимые корректировки в реализацию или параметры. Наконец, развертывание выпускает модель машинного обучения в реальный мир для создания прогнозов на основе реальных входных данных.
© digitrode.ru