Openbravo-rus.ru

Образование по русски
2 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Прогнозирование машинное обучение

Прогнозирование машинное обучение

Введение. Машинное обучение является областью исследований, где изучаются методы построения алгоритмов для искусственного интеллекта. Подходы, основанные на машинном обучении, показали достойные результаты в прогнозировании поведения пользователей в сети [1, 3, 7, 8]. Одним из направлений в создании моделей для прогнозирования поведения пользователя, является модель распространения информации в Интернете [9].

Действительно, изучая то, как данные распространяются в течение долгого времени, является полезным методом в понимании поведения пользователей в Интернете [2]. Другим направлением является использование различных функций данных для более детальной картины поведения пользователей. Первое направление дает лишь очень грубое представление о поведении пользователей в сети. Напротив, функциональный подход, основанный на модели на более низком уровне детализации, может обеспечить высокую точность модели [4, 10, 11].

Логистическая регрессия – это статистическая модель, используемая для прогнозирования вероятности возникновения некоторого события путём подгонки данных к логистической кривой.

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

В работе [2] авторы анализировали влияние особенностей вопросов на время откликов на сайте StackOverflow. Авторы использовали данные, собранные с сайта в течение четырех лет (с 2008 по 2012 года). Данные представлены на рисунке 1.

Рисунок 1. Зависимость вероятности ответа от времени

Авторы решали две задачи: спрогнозировать будет ли дан ответ на поставленный вопрос в течение 16 минут; спрогнозировать будет ли дан ответ на вопрос меньше чем за 1 час или будет ждать более 1 суток.

После обработки и анализа данных были определены факторы оказывающие наибольшее влияние на выходную функцию скорости и точности ответа: популярные тэги (столбец 2), процент активных подписчиков (столбец 3), конкретные (специфичные) тэги (столбец 4), все вышеперечисленные функции (столбец 5). Сравнение производилось с вопросом без тэга (столбец 1). Эксперимент проводился с помощью машинного обучения, основанного на таких методах как: логистическая регрессия, линейный и нелинейный метод опорных векторов и дерево решений. Результаты первого эксперимента представлены на рисунках 2 и 3.

Рисунок 2. Точность ответа при решении первой задачи

Рисунок 3. Скорость ответа при решении первой задачи

Результаты второго эксперимента – на рисунках 4 и 5.

Рисунок 4. Точность ответа при решении второй задачи

Рисунок 5. Скорость ответа при решении первой задачи

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

Метод опорных векторов

Метод опорных векторов – это набор алгоритмов, использующихся для задач классификации и регрессионного анализа. Учитывая, что в N-мерном пространстве каждый объект принадлежит одному из двух классов, данный метод генерирует (N-1) — мерную гиперплоскость с целью разделения этих точек на 2 группы.

В статье [5] авторы изучали проблему понимания важности сообщений в Twitter. Подход к данной проблеме состоял из двух этапов. Во-первых, была собрана статистика об обмене сообщениями и ретвитами между пользователями за продолжительный промежуток времени (с 2006 по 2009 года). Была построена функция распределения (рисунок 6, рисунок 7) в зависимости от времени ожидания ответа и позиции сообщения.

Рисунок 6. Функция распределения в зависимости от времени ожидания

Рисунок 7. Функция распределения в зависимости от позиции сообщения

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

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

Рисунок 8. Количество ответов в зависимости от позиции для активных пользователей

а) базовая сортировка; б) сортировка с помощью Баейсовского метода; в) сортировка с помощью метода опорных векторов.

Рисунок 9. Количество ответов в зависимости от позиции для пассивных пользователей

а) базовая сортировка; б) сортировка с помощью Баейсовского метода; в) сортировка с помощью метода опорных векторов.

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

Метод ближайших соседей

Идея алгоритма метода ближайших соседей состоит в том, чтобы выбрать k – соседние векторы для входного вектора r как наиболее сходные с входным вектором.

В работе [6] авторы представили новый алгоритм совместной фильтрации на основе памяти для прогнозирования пользовательских отзывов о фильмах с использованием набора данных NetFlix.

Авторы получили список жанров из IMDB для примерно 5 миллионов фильмов, всего 23. Был выполнен простой поиск жанровых меток для всех фильмов NetFlix. Из-за различий в названиях фильмов и датах выпуска между базами данных авторы смогли добиться точного соответствия только для 6658 фильмов NetFlix. Далее был получен список из 33941 пользователей, которые оценили эти фильмы. Из них 3941 пользователь был отведен для целей тестирования, а остальные 30000 пользователей были использованы для определения оптимального значения параметра K в методе ближайших соседей с использованием 5-кратной перекрестной проверки. Каждый пользователь представлен в скрытом жанровом пространстве вектором признаков, накапливая вклад различных жанров фильмов, оцененных им. Для пользователей в наборе тестов один фильм на пользователя используется для прогнозирования метки, а остальные фильмы используются для генерации «частичного» вектора признаков. Тот же подход используется для проверки набора во время обучения. На рисунках 10 и 11 показан вектор признаков, созданный для двух пользователей с использованием их предпочтений фильма. Более высокий вес для таких жанров, как «Комедия», «Роман» и «Триллер» для пользователя 1, показывает симпатию к фильмам с этими конкретными темами, в то время как пользователь 2 предпочитает фильмы «Драма», «Криминал» и «Война».

Рисунок 10. Результаты первого пользователя

Рисунок 11. Результаты второго пользователя

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

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

Рисунок 12. Сравнение алгоритмов, используя среднюю ошибку

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

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

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

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

Как прогнозировать цены с помощью машинного обучения

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

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

Эта функция — основной KPI ритейлера, на прогнозирование которого и будет работать данный алгоритм.

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

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

Причины отсутствия данных

Главная сложность, с которой сталкиваются ритейлеры при использовании алгоритмов, — пропуски или противоречия в исторических данных. Из-за этого сложно ими пользоваться нормально.

  1. Менялся формат данных.
    Различия внутренних систем, ИТ-решений, подходов к сбору данных (по дням или по транзакциям) приводят к тому, что данные в разные периоды жизни компании собираются в разных форматах .
  2. Данные собирались для разных целей.
    Если данные собираются в обобщенном виде, например, для расчета премии категорийным менеджерам и не категорируются, они, как правило, не пригодны для обучения алгоритмов.
  3. Ритейлер недавно вышел на рынок.
    На начальном этапе 90% продаж зависят от трафика сайта. Поэтому невозможно определить, как цены влияют на продажи в течение этого периода.
  4. Горящие распродажи.
    Если ритейлер работает в режиме flash sales (запуск кратковременных распродаж разных категорий или брендов), алгоритмы не могут использовать полученные неоднородные данные.
Читать еще:  Обучение по интернету

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

Как работать с существующими данными

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

Еще один путь — купить недостающие данные.

В то же время для создания моделей прогнозирования данные о конкурентах не нужны.

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

Как смоделировать недостающие данные

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

Для решения таких задач, как правило, используются классификаторы. Они прогнозируют недостающие значения на основе других независимых переменных, значения которых известны.

Рассмотрим типы «умного» заполнения отсутствующих данных.

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

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

В этой модели, бинарный классификатор будет отвечать на вопрос, произошло ли то или иное событие (например, были ли товары на полке). Категорийный классификатор — присвоит товар определенному сегменту (например, ценовому сегменту);

2. Заполнение методом KNN (k-nearest neighbor): предсказывает недостающие значения на основе ближайшей к целевому показателю переменной.

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

  • логистическая регрессия;
  • древо принятия решений;
  • нейронные сети;
  • семейство бустеров;
  • Random Forest .

Для прогнозирования конечного целевого показателя — продаж — используются регрессоры. Они предсказывают не сегмент или вероятность, а вероятное числовое значение.

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

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

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

Этот тип алгоритма может прогнозировать оптимальные цены на основе 150-дневной истории активных продаж. Однако, у него есть недостаток: он не умеет учитывать взаимозависимость цен на разные товары. Такой алгоритм можно использовать для KVI-товаров, а к остальным — применять простые сценарии переоценки (rule-based pricing).

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

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

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

Сопряженный анализ на основе небольшой выборки данных, собранных с помощью A/B-тестирования, определяет оптимальные комбинации цена-промо-реклама. Этот метод показывает, как каждый из этих факторов влияет на цены, и определяет их оптимальное значение.

Выводы

Ритейлер может использовать несколько методов, чтобы восполнить недостающие данные или прогнозировать цены на основе небольших объемов данных: различные классификаторы, древовидные алгоритмы, метод регрессии, A/B-тестирование и совместный анализ.

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

Использование Machine Learning при построении прогноза продаж

В настоящее время сфера машинного обучения (Machine Learning) бурно развивается и вызывает высокий интерес со стороны многих компаний. Однако не всегда компании понимают, как именно применить новые технологии в своём повседневном бизнесе, какие преимущества они могут получить.

В данной статье не ставится цель рассказать обо всех возможностях машинного обучения, мы рассмотрим только один пример, а именно построение прогноза продаж и взаимодействие системы машинного обучения с ERP-системой. Этот пример будет основан на платформе Microsoft, которая предлагает решения как для задачи машинного обучения (Azure Machine Learning), так и для задачи управления ресурсами компании (ERP-системы Microsoft Dynamics AX или Microsoft Dynamics NAV).

ERP-системы, как следует из названия, предназначены для планирования (и, в более широком смысле, управления) деятельности компании. Одним из ключевых вопросов планирования является вопрос необходимых ресурсов для обеспечения потребностей компании. При этом понятие «ресурсы» может включать в себя номенклатуру (ТМЦ), производственные мощности, финансовые ресурсы и т. п.

Как работает планирование, например, в Microsoft Dynamics AX (за выполнение этой функции отвечает блок «Сводное планирование»)? Если нарисовать картину широкими мазками, то на основании прогноза потребностей с учётом множества факторов (состояние складских запасов, открытые закупки, график работы производственных мощностей, производственные спецификации, сроки поставок и т. п.) система определяет, что на текущий момент уже есть в компании (с точки зрения ресурсов) и что необходимо иметь дополнительно, чтобы удовлетворить эти самые потребности, а затем Microsoft Dynamics AX формирует различные планы: план производства, план закупок, план перемещений и другие. Эти планы проходят процедуру утверждения, и компания начинает их исполнять. Очевидно, что в процессе работы планы могут корректироваться, периодически необходимо заново перепланировать деятельность компании, но это обычные, рутинные бизнес-процессы управления.

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

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

Для обработки данных по продажам и формирования прогнозов обычно используется Excel. Это действительно хороший и мощный инструмент, который в умелых руках позволяет решить очень многие вопросы. Однако сравнительно недавно Microsoft выпустила новый продукт Azure Machine Learning, который позволяет поднять решение задачи на новый уровень.

Azure Machine Learning – это облачный сервис для выполнения задач прогнозной аналитики (predictive analytics). Среди прочих возможностей этого сервиса, нас в первую очередь интересует именно прогнозирование продаж. Azure Machine Learning с этой точки зрения предлагает весьма широкие возможности, позволяющие существенно повысить точность прогнозов. Работа с сервисом включает в себя несколько основных этапов:

  • Определение задачи, то есть правильная постановка вопроса, на который мы хотим получить ответ;
  • Сбор и подготовка данных;
  • Обучение модели;
  • Проверка результата;
  • Публикация доступного для других приложений web-сервиса.

Среди этих этапов в свете взаимодействия Azure Machine Learning и Microsoft Dynamics нас больше всего будут интересовать этапы сбора и подготовки данных и публикации web-сервиса. Действительно, для того, чтобы машинное обучение работало хорошо, помимо правильно заданного вопроса и правильно выбранного алгоритма, необходимы данные о продажах. Эти данные как раз и хранятся в Microsoft Dynamics, причём мы можем получать оттуда не только информацию о собственно продажах, но и учитывать влияющие факторы, например, регион продаж, проводимые маркетинговые акции, курсы валют и т. п. То есть мы учитываем дополнительные факторы, которые могут влиять на точность прогноза. При этом часть данных будет использоваться для обучения модели, а другая часть – для проверки результата, то есть мы будем сравнивать предсказанные объёмы продаж с уже известным нам фактом. Таким образом, Microsoft Dynamics служит источником данных для Azure Machine Learning.

Читать еще:  Я на обучении

Разумеется, Microsoft Dynamics может быть не единственным источником данных, при необходимости мы можем подключать практически любые другие внешние источники, которые могут потребоваться для составления плана продаж.

Использование Microsoft Dynamics как источника данных даёт определённые преимущества, поскольку для работы Azure Machine Learning данные должны быть точными, полными и достаточными для обработки и анализа. Именно такие данные, отражающие реальную картину бизнеса, и хранятся в Microsoft Dynamics. Более высокое качество данных (по сравнению с использованием разных информационных систем) позволяет сократить время на предварительную подготовку данных.

Azure Machine Learning и ERP-системы Microsoft Dynamics включают в себя встроенные базовые механизмы интеграции. Обычно используется промежуточная база Azure SQL, которая содержит в себе как данные из Microsoft Dynamics, так и данные из других источников. Сам по себе обмен данными автоматизирован и происходит по настроенному расписанию.

Чаще всего для построения прогноза продаж используются различные регрессионные алгоритмы, однако возможно применение и других методов, в зависимости от того, какой вопрос мы ставим перед системой машинного обучения и какая модель даёт наивысшую точность. Различные алгоритмы можно комбинировать между собой, создавая модели прогнозирования продаж. Azure Machine Learning позволяет выделить факторы, которые влияют на изменение объёма продаж, причём можно постепенно наращивать сложность и точность модели. Для начинающих пользователей есть библиотека готовых моделей, более опытные пользователи могут не только создавать собственные модели, но и дополнительно обрабатывать их при помощи кода на языке R.

После настройки модели и проведения обучения мы должны оценить результат построения плана продаж. Для этого при помощи нашей модели мы пытаемся предсказать объём продаж в уже прошедшем периоде и сравниваем предсказание с фактом, который также хранится в Microsoft Dynamics. После оценки мы можем вносить корректировки в модель, добиваясь устраивающей нас точности. После получения необходимой точности мы публикуем нашу прогнозную модель в виде доступного web-service. Его роль очень проста: на вход он получает данные, по которым мы хотим получить прогноз продаж, например, дату, магазин, прогнозный курс валют, продукт и пр., то есть всё то, что влияет на прогноз продаж, а на выходе получаем прогноз суммы продаж в этих разрезах.

Полученный в результате прогноз продаж используется как входящая информация для работы блока планирования в Microsoft Dynamics. Таким образом, ERP-система служит потребителем данных Azure Machine Learning.

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

После импорта прогноза продаж в Microsoft Dynamics запускается планирование (например, сводное планирование в Microsoft Dynamics AX), которое при необходимости проводит разузлование номенклатуры из плана продаж (если в плане продаж содержится прогноз продаж готовой продукции, то необходимо на основании спецификаций определить потребности в компонентах) и с учётом сроков производства / сборки / комплектации, сроков доставки, запасов на складе и в пути и других факторов готовит уже упоминавшиеся выше планы закупок, производства, перемещений и т. п.

Таким образом, использование двух продуктов на общей платформе Microsoft позволяет добиться существенного повышения эффективности планирования.

Тезаурус: Машинное обучение

Базовые понятия, объясняющие задачи машинного обучения и принципы работы искусственных нейронных сетей

Машинное обучение

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

Big Data (большие данные)

У понятия «большие данные» нет однозначного определения, но наиболее устоявшимся является то, из которого следует, что это совокупность определенных технологий. Эти технологии призваны обрабатывать значительно большее по сравнению со стандартными сценариями объемы данных (под данными подразумевается множество объектов и множество соответствующих им ответов (откликов)). Кроме того, они должны работать с этими поступающими в большом количестве данными быстро, а также обрабатывать как структурированные, так и плохо структурированные данные.

Искусственные нейронные сети

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

Сверточные сети

Сверточные сети — один из видов искусственных нейронных сетей, широко используемый в распознавании образов, компьютерном зрении, обработке аудиосигналов, анализе смысла текстов и играх, например Го. Характерной особенностью сверточных нейросетей является использование представления данных в виде набора изображений (карт) и применение локальных операций-сверток, модифицирующих и комбинирующих данные карты друг с другом.

Глубинное обучение

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

Переобучение

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

Компьютерное зрение

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

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

Контент-маркетолог Мария Пушикова специально для блога Нетологии перевела статью Charles-Antoine Richard о том, что такое машинное обучение и какие методы машинного обучения существуют.

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

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

Машинное обучение — это…

Вот самое простое определение, которое я нашел:

Машинное обучение — это «[…] класс методов искусственного интеллекта, которые позволяют улучшить результаты работы компьютеров путем обучения на известных данных», — Berkeley.

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

…подраздел искусственного интеллекта (ИИ)

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

…способ решения практических задач

Методы машинного обучения все еще в развитии. Некоторые уже изучены и используются (рассмотрим дальше), но ожидается, что со временем их количество будет только расти. Идея в том, что совершенно разные методы используются для совершенно разных компьютеров, а различные бизнес-задачи требуют различных методов машинного обучения.

… способ увеличить эффективность компьютеров

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

…технология, основанная на опыте

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

Читать еще:  Обучение общению с клиентами

Простой пример:

  1. Выбираются входные данные и задаются условия ввода (например, банковские операции с использованием карт).
  2. Строится алгоритм машинного обучения и настраивается на конкретную задачу (например, выявлять мошеннические транзакции).
  3. Используемые в ходе обучения данные дополняются желаемой выходной информацией (например, эти транзакции — мошеннические, а эти нет).

Как работает машинное обучение

Машинное обучение часто называют волшебным или черным ящиком:

Вводишь данные → «волшебный черный ящик» → Миссия выполнена.

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

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

Очистка

Данные зачастую формируются из различных источников, отображаются в различных форматах и языках. Соответственно, среди них могут оказаться нерелевантные или ненужные значения, которые потребуется удалить. И наоборот, каких-то данных может не хватать, и потребуется их добавить. От правильной подготовки базы данных прямым образом зависит и пригодность к использованию, и достоверность результатов.

Разделение

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

Обучение

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

Чтобы было проще, сосредоточимся на нейронных сетях.

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

Оценка

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

Оптимизация

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

Какие существуют типы машинного обучения и чем они отличаются

Существует множество моделей для машинного обучения, но они, как правило, относятся к одному из трех типов:

  • обучение с учителем (supervised learning);
  • обучение без учителя, или самообучение (unsupervised learning);
  • обучение с подкреплением (reinforcement learning).

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

Обучение с учителем (supervised learning)

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

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

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

Обучение без учителя (unsupervised learning)

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

Обучение с подкреплением

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

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

Логические игры также хорошо подходят для обучения с подкреплением, так как они традиционно содержат логическую цепочку решений: например, покер, нарды и го, в которую недавно выиграл AlphaGo от Google. Этот метод обучения также часто применяется в логистике, составлении графиков и тактическом планировании задач.

Для чего можно использовать машинное обучение

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

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

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

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

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

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

Логистика и производство

  • В Rethink Robotics используют машинное обучение для обучения манипуляторов и увеличения скорости производства;
  • В JaybridgeRobotics автоматизируют промышленные транспортные средства промышленного класса для более эффективной работы;
  • В Nanotronics автоматизируют оптические микроскопы для улучшения результатов осмотра;
  • Netflix и Amazon оптимизируют распределение ресурсов в соответствии с потребностями пользователей;
  • Другие примеры: прогнозирование потребностей ERP/ERM; прогнозирование сбоев и улучшение техобслуживания, улучшение контроля качества и увеличение мощности производственной линии.

Продажи и маркетинг

  • 6sense прогнозирует, какой лид и в какое время наиболее склонен к покупке;
  • Salesforce Einstein помогает предвидеть возможности для продаж и автоматизировать задачи;
  • Fusemachines автоматизирует планы продаж с помощью AI;
  • AirPR предлагает пути повышения эффективности PR;
  • Retention Science предлагает кросс-канальное вовлечение;
  • Другие примеры: прогнозирование стоимости жизненного цикла клиента, повышение точности сегментации клиентов, выявление клиентских моделей покупок, и оптимизация опыта пользователя в приложениях.

Кадры

  • Entelo помогает рекрутерам находить и отбирать кандидатов;
  • HiQ помогает менеджерам в управлении талантами.

Финансы

  • Cerebellum Capital and Sentient используют машинное обучение для улучшения процесса принятия инвестиционных решений;
  • Dataminr может помочь с текущими финансовыми решениями, заранее оповещая о социальных тенденциях и последних новостях;
  • Другие примеры: выявление случаев мошенничества и прогнозирование цен на акции.

Здравоохранение

  • Atomwise использует прогнозные модели для уменьшения времени производства лекарств;
  • Deep6 Analytics определяет подходящих пациентов для клинических испытаний;
  • Другие примеры: более точная диагностика заболеваний, улучшение персонализированного ухода и оценка рисков для здоровья.

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

Вместо заключения

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

Мнение автора и редакции может не совпадать. Хотите написать колонку для «Нетологии»? Читайте наши условия публикации.

Ссылка на основную публикацию
Adblock
detector