Обучение модели машинного обучения: полное руководство для бизнеса
Опубликовано: 2024-02-06В 2016 году Microsoft запустила чат-бота с искусственным интеллектом по имени Тэй. Предполагалось, что он погрузится в разговоры в Твиттере в реальном времени, освоит жаргон и станет умнее с каждым новым чатом.
Однако эксперимент провалился, поскольку злонамеренные пользователи быстро воспользовались навыками обучения чат-бота. Через несколько часов после запуска Tay начал публиковать оскорбительные и неуместные твиты, отражая негативную лексику, которую он узнал от пользователей.
Твиты Тэя стали вирусными, привлекая большое внимание и нанося ущерб репутации Microsoft. Инцидент подчеркнул потенциальную опасность развертывания моделей машинного обучения (ML) в реальных неконтролируемых средах. Компании пришлось принести публичные извинения и закрыть Tay, признав недостатки ее конструкции.
Перенесемся в сегодняшний день, и вот мы здесь, углубляясь в важность правильного обучения модели ML — того самого, что могло бы спасти Microsoft от этой пиар-шторма.
Итак, пристегнитесь! Вот руководство по обучению модели машинного обучения от компании ITRex, занимающейся разработкой машинного обучения.
Обучение модели машинного обучения: как разные подходы к машинному обучению влияют на процесс обучения
Начнем с этого: не существует универсального подхода к машинному обучению. Способ обучения модели машинного обучения зависит от характера ваших данных и результатов, к которым вы стремитесь.
Давайте кратко рассмотрим четыре ключевых подхода к машинному обучению и посмотрим, как каждый из них влияет на процесс обучения.
Контролируемое обучение
При контролируемом обучении алгоритм обучается на помеченном наборе данных, обучаясь сопоставлять входные данные с правильными выходными данными. Инженер проводит модель через ряд решенных проблем, прежде чем модель сможет самостоятельно решать новые.
Пример. Рассмотрим модель обучения с учителем, задачей которой является классификация изображений кошек и собак. Размеченный набор данных включает изображения, помеченные соответствующими метками (кошка или собака). Модель уточняет свои параметры, чтобы точно предсказать метки новых, невидимых изображений.
Обучение без присмотра
Здесь, наоборот, алгоритм погружается в неразмеченные данные и самостоятельно ищет закономерности и связи. Он группирует схожие точки данных и обнаруживает скрытые структуры.
Пример. Подумайте об обучении модели машинного обучения кластеризации клиентов в наборе данных электронной коммерции. Модель анализирует данные о клиентах и выделяет отдельные кластеры клиентов на основе их покупательского поведения.
Полуконтролируемое обучение
Обучение с полуконтролем — это золотая середина, сочетающая в себе элементы как контролируемого, так и неконтролируемого обучения. Благодаря небольшому объему размеченных данных и большему пулу неразмеченных данных алгоритм обеспечивает баланс. Это прагматичный выбор, когда полностью размеченных наборов данных мало.
Пример. Представьте себе сценарий медицинского диагноза, в котором помеченные данные (случаи с известными исходами) ограничены. Обучение с полуконтролем позволит использовать комбинацию размеченных данных о пациентах и более крупный пул неразмеченных данных о пациентах, расширяя диагностические возможности.
Обучение с подкреплением
Обучение с подкреплением — это алгоритмический эквивалент метода проб и ошибок. Модель взаимодействует с окружающей средой, принимая решения и получая обратную связь в виде вознаграждений или наказаний. Со временем компания совершенствует свою стратегию, чтобы максимизировать совокупное вознаграждение.
Пример: рассмотрите возможность обучения модели машинного обучения для автономного дрона. Дрон учится ориентироваться в окружающей среде, получая награды за успешную навигацию и штрафы за столкновения. Со временем компания совершенствует свою политику, чтобы сделать навигацию более эффективной.
Хотя каждый подход ML требует уникальной последовательности и акцента на определенных шагах, существует основной набор шагов, которые широко применимы к различным методам.
В следующем разделе мы познакомим вас с этой последовательностью.
Обучение модели машинного обучения: шаг за шагом
Выявление возможностей и определение объема проекта
Этот шаг предполагает не только расшифровку существующей бизнес-проблемы, но и определение возможностей, в которых ML может проявить свою преобразующую силу.
Начните с взаимодействия с ключевыми заинтересованными сторонами, включая лиц, принимающих решения, и экспертов в предметной области, чтобы получить полное представление о задачах и целях бизнеса.
Затем четко сформулируйте конкретную проблему, которую вы стремитесь решить путем обучения модели ML, и убедитесь, что она соответствует более широким бизнес-целям.
При этом остерегайтесь двусмысленности. Неоднозначные формулировки проблемы могут привести к ошибочным решениям. Крайне важно прояснить и конкретизировать проблему, чтобы избежать неправильного направления на последующих этапах. Например, выберите «повысить вовлеченность пользователей в мобильном приложении на 15 % с помощью персонализированных рекомендаций по контенту в течение следующего квартала» вместо «повысить вовлеченность пользователей» — это количественно, целенаправленно и измеримо.
Следующий шаг, который вы можете предпринять как можно раньше на этапе определения объема, — это оценка доступности и качества соответствующих данных.
Определите потенциальные источники данных, которые можно использовать для решения проблемы. Допустим, вы хотите спрогнозировать отток клиентов в сервисе на основе подписки. Вам придется оценить записи о подписках клиентов, журналы использования, взаимодействие со службой поддержки и историю выставления счетов. Кроме того, вы также можете обратиться к взаимодействию в социальных сетях, опросам отзывов клиентов и внешнеэкономическим показателям.
Наконец, оцените возможность применения методов МО для решения выявленной проблемы. Учитывайте технические (например, вычислительную мощность и скорость обработки существующей инфраструктуры), ресурсные (например, имеющиеся экспертные знания и бюджет) и ограничения, связанные с данными (например, соображения конфиденциальности и доступности данных).
Обнаружение, проверка и предварительная обработка данных
В основе успешного обучения моделей МО лежат высококачественные данные. Давайте рассмотрим стратегии обнаружения, проверки и предварительной обработки данных.
Обнаружение данных
Прежде чем приступить к обучению модели ML, важно получить глубокое понимание имеющихся у вас данных. Это включает в себя изучение структуры, форматов и взаимосвязей внутри данных.
Что именно влечет за собой обнаружение данных?
- Исследовательский анализ данных (EDA), позволяющий выявить закономерности, корреляции и выбросы в доступном наборе данных, а также визуализировать ключевые статистические данные и распределения, чтобы получить представление о данных.
Представьте себе розничный бизнес, стремящийся оптимизировать свою ценовую стратегию. На этапе EDA вы углубляетесь в исторические данные о продажах. С помощью методов визуализации, таких как диаграммы рассеяния и гистограммы, вы обнаружите сильную положительную корреляцию между периодами рекламных акций и увеличением продаж. Кроме того, анализ выявляет выбросы во время курортных сезонов, что указывает на потенциальные аномалии, требующие дальнейшего изучения. Таким образом, EDA позволяет уловить динамику моделей продаж, корреляций и аномального поведения.
- Идентификация функций: вы определяете функции, которые существенно способствуют решению рассматриваемой проблемы. Вы также учитываете актуальность и значимость каждой функции для достижения поставленной бизнес-цели.
Основываясь на приведенном выше примере, идентификация функций может включать в себя определение того, какие аспекты влияют на продажи. Благодаря тщательному анализу вы можете определить такие функции, как категории продуктов, ценовые уровни и демографические данные клиентов, как потенциальные факторы, вносящие свой вклад. Затем вы рассматриваете актуальность каждой функции. Например, вы заметили, что категория продукта может иметь различное значение в периоды проведения рекламных акций. Таким образом, идентификация функций гарантирует, что вы обучите модель машинного обучения атрибутам, что окажет существенное влияние на желаемый результат.
- Выборка данных: вы используете методы выборки, чтобы получить репрезентативную подгруппу данных для первоначального исследования. Для розничного бизнеса из приведенного выше примера выборка данных становится существенной. Допустим, вы используете случайную выборку для извлечения репрезентативного подмножества данных о продажах за разные периоды времени. Таким образом, вы обеспечиваете сбалансированное представление обычных и рекламных периодов.
Затем вы можете применить стратифицированную выборку, чтобы гарантировать пропорциональное представительство каждой категории продуктов. Изучая это подмножество, вы получаете предварительное представление о тенденциях продаж, что позволяет вам принимать обоснованные решения о последующих этапах обучения модели ML.
Валидация данных
Важность надежной проверки данных для обучения моделей машинного обучения невозможно переоценить. Это гарантирует, что информация, вводимая в модель, является точной, полной и последовательной. Это также помогает создать более надежную модель и уменьшить предвзятость.
На этапе проверки данных вы тщательно оцениваете целостность данных и выявляете любые несоответствия или аномалии, которые могут повлиять на производительность модели. Вот точные шаги, которые необходимо предпринять:
- Проверки качества данных, при которых вы (1) ищете пропущенные значения по функциям и определяете подходящие стратегии для их удаления; (2) обеспечить согласованность формата и единиц данных, сводя к минимуму расхождения, которые могут повлиять на обучение модели; (3) выявлять и обрабатывать выбросы, которые могут исказить обучение модели; и (4) проверить логическую адекватность данных.
- Перекрестная проверка, при которой вы перекрестно сверяете данные со знаниями предметной области или внешними источниками для проверки их точности и надежности.
Предварительная обработка данных
Предварительная обработка данных гарантирует, что модель обучена на чистом, согласованном и репрезентативном наборе данных, что улучшает ее обобщение на новые, невидимые данные. Вот что вы делаете, чтобы добиться этого:
- Обработка недостающих данных: определите недостающие значения и реализуйте такие стратегии, как вменение или удаление, в зависимости от характера данных и решаемой бизнес-задачи.
- Обнаружение и обработка выбросов: используйте статистические методы для выявления и обработки выбросов, гарантируя, что они не повлияют на процесс обучения модели.
- Нормализация, стандартизация: масштабируйте числовые характеристики до стандартного диапазона (например, с помощью нормализации Z-показателя), обеспечивая согласованность и предотвращая доминирование одних характеристик над другими.
- Кодирование: преобразование данных в согласованный формат (например, с помощью быстрого кодирования или встраивания слов).
- Разработка функций: выведите новые функции или измените существующие, чтобы улучшить способность модели улавливать соответствующие закономерности в данных.
При подготовке данных для обучения модели машинного обучения важно найти баланс между сохранением ценной информации в наборе данных и устранением присущих им несовершенств или аномалий, присутствующих в данных. Нарушение баланса может привести к непреднамеренной потере ценной информации, ограничивая способность модели к обучению и обобщению.
Примите стратегии, устраняющие недостатки и сводящие к минимуму потерю значимых данных. Это может включать тщательную обработку выбросов, выборочное вменение или рассмотрение альтернативных методов кодирования категориальных переменных.
Инженерия данных
В случаях, когда данных недостаточно, в игру вступает инженерия данных. Вы можете компенсировать недостаток данных с помощью таких методов, как увеличение и синтез данных. Давайте углубимся в детали:
- Увеличение данных. Это предполагает создание новых вариантов или экземпляров существующих данных путем применения различных преобразований без изменения внутреннего значения. Например, для данных изображения увеличение может включать поворот, переворачивание, масштабирование или изменение яркости. Для текстовых данных варианты могут включать перефразирование или введение синонимов. Таким образом, искусственно расширяя набор данных посредством дополнения, вы знакомите модель с более разнообразным диапазоном сценариев, улучшая ее способность работать с невидимыми данными.
- Синтез данных. Это влечет за собой создание совершенно новых экземпляров данных, соответствующих характеристикам существующего набора данных. Синтетические данные могут быть созданы с использованием генеративных моделей искусственного интеллекта, моделирования или использования знаний предметной области для создания правдоподобных примеров. Синтез данных особенно ценен в ситуациях, когда получение большего количества реальных данных затруднено.
Выбор оптимального алгоритма
Работа с данными завершена. Следующий этап процесса обучения модели ML полностью посвящен алгоритмам. Выбор оптимального алгоритма — это стратегическое решение, которое влияет на производительность и точность вашей будущей модели.
Существует несколько популярных алгоритмов машинного обучения, каждый из которых подходит для определенного набора задач.
- Линейная регрессия: применима для прогнозирования непрерывного результата на основе входных функций. Он идеально подходит для сценариев, в которых существует линейная зависимость между функциями и целевой переменной — например, для прогнозирования цены дома на основе таких характеристик, как площадь в квадратных метрах, количество спален и местоположение.
- Деревья решений: способны обрабатывать как числовые, так и категориальные данные, что делает их подходящими для задач, требующих четких границ принятия решений — например, определение того, является ли электронное письмо спамом или нет, на основе таких характеристик, как отправитель, тема и содержание.
- Случайный лес: ансамблевый подход к обучению, который сочетает в себе несколько деревьев решений для повышения точности и надежности, что делает его эффективным для решения сложных задач — например, прогнозирования оттока клиентов с использованием комбинации исторических данных об использовании и демографических данных клиентов.
- Машины опорных векторов (SVM): эффективны для сценариев, где четкие границы принятия решений имеют решающее значение, особенно в многомерных пространствах, таких как медицинские изображения. Примером задачи, к которой могут быть применены SVM, является классификация медицинских изображений на раковые и нераковые на основе различных признаков, извлеченных из изображений.
- K-ближайшие соседи (KNN): Основываясь на близости, KNN делает прогнозы на основе класса большинства или среднего значения близлежащих точек данных. Это делает KNN подходящим для совместной фильтрации в рекомендательных системах, где он может предлагать пользователю фильмы на основе предпочтений пользователей с похожей историей просмотра.
- Нейронные сети: превосходно улавливают сложные закономерности и взаимосвязи, что делает их применимыми для решения разнообразных сложных задач, включая распознавание изображений и обработку естественного языка.
Вот факторы, которые влияют на выбор алгоритма обучения модели ML.
- Характер проблемы: тип проблемы, будь то классификация, регрессия, кластеризация или что-то еще.
- Размер и сложность набора данных. Для больших наборов данных можно использовать хорошо масштабируемые алгоритмы, тогда как для сложных структур данных могут потребоваться более сложные модели.
- Требования к интерпретируемости. Некоторые алгоритмы обеспечивают большую интерпретируемость, что имеет решающее значение для сценариев, где понимание решений модели имеет первостепенное значение.
Обучение модели машинного обучения
На этапе обучения модели вы обучаете и настраиваете алгоритмы для достижения оптимальной производительности. В этом разделе мы проведем вас через основные этапы процесса обучения модели.
Начните с разделения набора данных на три части: наборы для обучения, проверки и тестирования.
- Обучающий набор: этот подмножество данных является основным источником для обучения модели. Он используется для обучения модели машинного обучения, позволяя ей изучать закономерности и взаимосвязи между входными и выходными данными. Обычно обучающий набор содержит большую часть доступных данных.
- Набор для проверки: этот набор данных помогает оценить производительность модели во время обучения. Он используется для точной настройки гиперпараметров и оценки способности модели к обобщению.
- Набор для тестирования: этот набор данных служит итоговой проверкой модели. Он включает в себя новые данные, с которыми модель не столкнулась во время обучения или проверки. Набор для тестирования дает оценку того, как модель может работать в реальных сценариях.
После запуска алгоритмов на наборе тестовых данных вы получаете первоначальное представление о производительности модели и переходите к настройке гиперпараметров.
Гиперпараметры — это предопределенные конфигурации, которые направляют процесс обучения модели. Некоторыми примерами гиперпараметров могут быть скорость обучения, которая контролирует размер шага во время обучения, или глубину дерева решений в случайном лесу. Настройка гиперпараметров помогает найти идеальную «настройку» для модели.
Оценка и проверка модели
Чтобы обеспечить оптимальную производительность модели, важно оценить ее по заданным метрикам. В зависимости от поставленной задачи вы можете выбрать определенный набор показателей. Те, которые обычно используются при обучении моделей машинного обучения, включают следующее.
- Точность количественно определяет общую правильность прогнозов модели и иллюстрирует ее общую эффективность.
- Точность и полнота: первый оттачивает точность положительных прогнозов, гарантируя, что всякий раз, когда модель заявляет о положительном результате, она делает это правильно, а второй оценивает способность модели фиксировать все положительные случаи в наборе данных.
- Оценка F1 направлена на достижение баланса между точностью и отзывом. Он предоставляет одно числовое значение, отражающее производительность модели. Поскольку точность и полнота часто требуют компромисса (подумайте: улучшение одного из этих показателей обычно происходит за счет другого), показатель F1 предлагает единую меру, учитывающую оба аспекта.
- AUC-ROC, или область под рабочей характеристикой приемника, отражает способность модели различать положительные и отрицательные классы.
- «Метрики расстояния» количественно определяют разницу или «расстояние» между прогнозируемыми значениями и фактическими значениями. Примерами «метрик расстояния» являются среднеквадратическая ошибка (MSE), средняя абсолютная ошибка (MAE) и R-квадрат.
Производство модели/развертывание и масштабирование
После обучения и проверки модели машинного обучения следующим важным шагом является развертывание — применение модели в реальной среде. Это предполагает интеграцию модели в существующую бизнес-инфраструктуру.
Ключевые аспекты развертывания модели, о которых следует знать, включают следующее.
- Масштабируемость
Развернутая модель должна быть спроектирована так, чтобы обрабатывать различные рабочие нагрузки и адаптироваться к изменениям объема данных. Масштабируемость имеет решающее значение, особенно в сценариях, где ожидается, что модель будет обрабатывать большие объемы данных в режиме реального времени.
- Мониторинг и обслуживание
После развертывания необходим непрерывный мониторинг. Это включает в себя отслеживание производительности модели в реальных условиях, обнаружение любых отклонений или снижения точности и оперативное устранение проблем. Регулярное обслуживание гарантирует, что модель останется эффективной по мере развития бизнес-среды.
- Петли обратной связи
Создание цепочек обратной связи жизненно важно для постоянного улучшения. Сбор обратной связи на основе прогнозов модели в реальном мире позволяет ученым, работающим с данными, со временем уточнять и совершенствовать модель.
Преодоление проблем при обучении моделей машинного обучения
Давайте разберем особенности обучения модели ML на примере из реальной жизни. Ниже мы документируем наш путь к созданию революционного интеллектуального фитнес-зеркала с возможностями искусственного интеллекта, надеясь дать вам представление о практической стороне машинного обучения.
Давайте сначала поделимся контекстом. Поскольку из-за пандемии COVID закрылись спортивные залы и стимулировался рост домашнего фитнеса, наш клиент придумал революционное решение — умное фитнес-зеркало, которое будет выступать в роли личного тренера. Он будет фиксировать движения пользователей, предоставлять рекомендации в режиме реального времени и разрабатывать персонализированные планы тренировок.
Чтобы воплотить эту функциональность в жизнь, мы разработали и обучили собственную модель машинного обучения. Из-за сложности решения процесс обучения модели ML был непростым. Мы столкнулись с несколькими проблемами, которые, однако, успешно решили. Давайте посмотрим на наиболее примечательные из них.
- Обеспечение разнообразия обучающих данных
Чтобы обучить высокопроизводительную модель, нам нужно было убедиться, что набор обучающих данных был разнообразным, репрезентативным и свободным от предвзятости. Для достижения этой цели наша команда внедрила методы предварительной обработки данных, включая обнаружение и удаление выбросов.
Кроме того, чтобы компенсировать потенциальный пробел в наборе данных и повысить его разнообразие, мы сняли специальные видеоролики, демонстрирующие людей, тренирующихся в различных условиях, при разном освещении и с разнообразным спортивным оборудованием.
Дополнив наш набор данных обширными видеоматериалами, мы обогатили понимание модели, позволив ей более эффективно адаптироваться к реальным сценариям.
2. Оценка алгоритмической сложности модели.
Еще одна проблема, с которой мы столкнулись, заключалась в разработке и обучении модели глубокого обучения, способной точно отслеживать и интерпретировать движения пользователей.
Мы внедрили определение глубины для захвата движения на основе анатомических ориентиров. Это был не простой подвиг; это требовало точной обработки и распознавания ориентиров.
После начального раунда обучения мы продолжили тонкую настройку алгоритмов, включив передовые методы компьютерного зрения, такие как скелетонизация (представьте: преобразование силуэта пользователя в упрощенную структуру скелета для эффективной идентификации ориентиров) и отслеживание (обеспечение согласованности в распознавании ориентиров). с течением времени жизненно важно для поддержания точности на протяжении всего динамического упражнения).
3. Обеспечение бесперебойного подключения и интеграции устройств Интернета вещей.
Поскольку фитнес-зеркало отслеживает не только движения тела, но и веса, с которыми тренируются пользователи, мы представили беспроводные клейкие датчики, прикрепленные к отдельным частям оборудования.
Нам нужно было обеспечить бесперебойную связь между датчиками и зеркалом, а также включить синхронизацию данных в реальном времени. Для этого мы внедрили оптимизированные протоколы передачи данных и разработали стратегии обработки ошибок для устранения потенциальных сбоев в передаче данных. Кроме того, мы применили методы оптимизации полосы пропускания, чтобы обеспечить быструю связь, необходимую для синхронизации в реальном времени во время динамических упражнений.
4. Реализация распознавания голоса
Функция распознавания голоса в фитнес-зеркале добавила интерактивный уровень, позволяющий пользователям управлять устройством и взаимодействовать с ним с помощью голосовых команд.
Чтобы пользователи могли взаимодействовать с системой, мы внедрили голосовой микрофон с фиксированным списком команд, связанных с фитнесом, и технологию распознавания голоса, которая позволяет запоминать новые слова и понимать новые подсказки, данные пользователем.
Проблема заключалась в том, что пользователи часто занимались дома в условиях окружающего шума, что затрудняло точное понимание команд системой распознавания голоса. Чтобы решить эту проблему, мы внедрили алгоритмы шумоподавления и доработали модель распознавания голоса, чтобы повысить точность в шумных условиях.
Будущие тенденции в обучении моделей машинного обучения
Среда машинного обучения развивается, и одной заметной тенденцией, которая обещает изменить процесс обучения модели машинного обучения, является автоматизированное машинное обучение, или AutoML. AutoML предлагает более доступный и эффективный подход к разработке моделей ML.
Он позволяет автоматизировать большую часть описанного выше рабочего процесса, позволяя даже тем, у кого нет обширного опыта в области машинного обучения, использовать возможности машинного обучения.
Вот как AutoML может влиять на процесс обучения ML.
- Доступность для всех: AutoML демократизирует машинное обучение, упрощая сложности, связанные с обучением моделей. Люди с разным опытом, а не только опытные исследователи данных, могут использовать инструменты AutoML для создания мощных моделей.
- Эффективность и скорость. Традиционный цикл разработки машинного обучения может быть ресурсоемким и отнимать много времени. AutoML оптимизирует этот процесс, автоматизируя такие задачи, как разработка функций, выбор алгоритма и настройка гиперпараметров. Это ускоряет жизненный цикл разработки модели, делая его более эффективным и отвечающим потребностям бизнеса.
- Оптимизация без специальных знаний. Алгоритмы AutoML превосходно подходят для оптимизации моделей без необходимости глубоких знаний. Они итеративно исследуют различные комбинации алгоритмов и гиперпараметров в поисках наиболее эффективной модели. Это не только экономит время, но и гарантирует точную настройку модели для оптимальной производительности.
- Непрерывное обучение и адаптация. Системы AutoML часто включают в себя аспекты непрерывного обучения, адаптируясь к изменениям в шаблонах данных и бизнес-требованиям с течением времени. Такая адаптивность гарантирует, что модели остаются актуальными и эффективными в динамичных средах.
Если вы хотите максимизировать потенциал своих данных с помощью ML, свяжитесь с нами. Наши эксперты проведут вас через обучение модели машинного обучения, от планирования проекта до реализации модели.
Эта статья была первоначально опубликована на сайте ITRex.