Openbravo-rus.ru

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

Машинное обучение взаимодействие со средой

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

Контент-маркетолог Мария Пушикова специально для блога Нетологии перевела статью 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.

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

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

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

Типы алгоритмов машинного обучения, которые вы должны знать — Машинное Обучение — 2020

Table of Contents:

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

Термины, часто используемые в этом посте:

  • Помеченные данные: Данные, состоящие из набора учебные примеры, где каждый пример пара состоящий из входного и желаемого выходного значения (также называемого контрольный сигнал, этикетки и т. д. )
  • Классификация: Цель состоит в том, чтобы предсказать дискретные значения, например, <1,0>, , <спам, а не спам>.
  • Регресс: Цель состоит в том, чтобы предсказать непрерывные значения, например, цены на жилье.

Типы алгоритмов машинного обучения

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

  • Контролируемое обучение
  • Обучение без учителя
  • Обучение под наблюдением
  • Усиление обучения

Контролируемое обучение

  • Мне нравится думать о контролируемом обучении с концепцией приближения функций, когда в основном мы обучаем алгоритм, а в конце процесса выбираем функцию, которая лучше всего описывает входные данные, ту, которая для данного X дает лучшую оценку у (Х -> у). Большую часть времени мы не можем определить истинную функцию, которая всегда делает правильные прогнозы, и другая причина в том, что алгоритм основан на предположении людей о том, как компьютер должен учиться, и эти предположения вносят предвзятость. Я объясню в другом посте.
  • Здесь человеческие эксперты выступают в роли учителя, когда мы наполняем компьютер обучающими данными, содержащими входные данные / предикторы, и показываем ему правильные ответы (выходные данные), и на основе данных компьютер должен уметь изучать шаблоны.
  • Алгоритмы обучения под наблюдением пытаются моделировать отношения и зависимости между целевым выходом прогнозирования и входными функциями так что мы можем предсказать выходные значения для новых данных, основываясь на тех отношениях, которые были получены из предыдущих наборов данных.

Проект

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

Список общих алгоритмов

  • Ближайший сосед
  • Наивный байесовский
  • Деревья решений
  • Линейная регрессия
  • Машины опорных векторов (SVM)
  • Нейронные сети

Обучение без учителя

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

Проект

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

Список общих алгоритмов

  • Кластеризация k-средних, Правила ассоциации

Обучение под наблюдением

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

Усиление обучения

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

рУсиление обучения является типом Машинное обучение и, таким образом, также ветвь Искусственный интеллект , Это позволяет машинам и программным агентам автоматически определять идеальное поведение в определенном контексте, чтобы максимизировать его производительность. Для того чтобы агент узнал свое поведение, необходима простая обратная связь; это известно как сигнал подкрепления.

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

Для создания интеллектуальных программ (также называемых агентами) обучение с подкреплением проходит следующие этапы:

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

Список общих алгоритмов

  • Q-Learning
  • Временная разница (TD)
  • Глубокие Состязательные Сети

Случаи применения:

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

Финальные заметки

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

Это изображение из en.proft.me ниже может помочь вам.

Дальнейшие чтения

  • Тур по алгоритмам машинного обучения
  • Основы алгоритмов машинного обучения (с кодами Python и R)
  • В чем разница между контролируемыми и неконтролируемыми алгоритмами обучения?
  • 10 алгоритмов машинного обучения, объясненные «солдату армии»(это весело и у него очень хорошие объяснения)

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

Последнее

Если вам понравилось сочинение, оставьте свои хлопки 👏, чтобы рекомендовать эту статью, чтобы другие могли ее увидеть.

Алгоритмы машинного обучения: Какой из них выбрать для решения вашей проблемы?

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

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

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

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

Обучение с учителем

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

Обучение без учителя

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

Обучение с частичным привлечением учителя

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

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

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

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

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

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

Линейная регрессия и линейный классификатор

Вероятно, это самые простые алгоритмы машинного обучения. У вас есть функции x1, . xn объектов (матрица A) и метки (вектор b). Ваша цель — найти наиболее оптимальные веса w1, . wn и смещение для этих функций в соответствии с некоторой функцией потерь; например, среднеквадратичная ошибка или средняя абсолютная ошибка для задачи регрессии. В случае среднеквадратичной ошибки существует математическое уравнение из метода наименьших квадратов:

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

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

Логистическая регрессия

Не путайте эти алгоритмы классификации с методами регрессии из-за использования «регрессии» в названии. Логистическая регрессия выполняет двоичную классификацию, поэтому маркированные выходы являются двоичными. Определим P (y = 1 | x) как условную вероятность того, что выход y равен 1 при условии, что задан входной вектор-функция x. Коэффициенты w — это веса, которые модель хочет изучить.

Поскольку этот алгоритм вычисляет вероятность принадлежности к каждому классу, вы должны учитывать, насколько вероятность отличается от 0 или 1 и усредняет его по всем объектам, как это было с линейной регрессией. Такая функция потерь представляет собой среднее значение кросс-энтропии:

Не паникуйте! Я облегчу это для вас. Позвольте y иметь правильные ответы: 0 или 1, y_pred — предсказанные ответы. Если y равно 0, то первое слагаемое при сумме равно 0, а второе меньше, чем мы предсказали y_pred до 0 согласно свойствам логарифма. Аналогично, в случае, когда y равно 1.

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

Деревья принятия решений

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

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

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

Метод k-средних

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

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

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

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

Анализ основных компонентов

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

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

Удивительно, но эти векторы являются собственными векторами корреляционной матрицы признаков из набора данных.

Теперь алгоритм понятен:

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

Новые функции — координаты от проекции, а их число зависит от количества собственных векторов, на которых вы рассчитываете проекцию.

Нейронные сети

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

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

Для работы с текстами и последовательностями вам лучше выбрать рекуррентные нейронные сети (англ. Recurrent neural network ; RNN ). RNN содержат модули долгой краткосрочной памяти или управляемых рекуррентных нейронов и могут работать с данными, для которых мы заранее знаем размер. Одним из наиболее известных приложений RNN является машинный перевод.

Заключение

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

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

Рекомендуемая литература

Статья написана: Daniil Korbut | Октябрь 27, 2017г.

Аналитика, машинное обучение и Интернет вещей

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

  • Ключевые слова / keywords:
  • Интернет вещей
  • Internet of Things
  • Машинное обучение
  • Machine learning

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

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

Интернет вещей стремительно разрастается — по прогнозам аналитиков Gartner, к 2020 году он объединит 26 млрд устройств, а объем рынка соответствующих продуктов и сервисов достигнет 300 млрд долл. [1]. И это вполне правдоподобно — ведь промышленный Интернет (системы и приложения для мониторинга и оптимизации рабочих процессов и производительности промышленного оборудования), по оценкам компании General Electric, в следующие 20 лет добавит 10–15 трлн долл. к мировому валовому продукту [2].

Вокруг новых и развивающихся технологий, как обычно, поднялась невероятная шумиха — например, аналитики Gartner пишут, что Интернет вещей сейчас находится на пике завышенных ожиданий (тогда как Большие Данные вошли в период избавления от иллюзий) [3]. Независимо от ожиданий предпринимателей и восторженных описаний в прессе, имеется ряд реальных задач, которые предприятиям нужно будет решить, чтобы поставить перспективные технологии себе на службу.

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

Зрелость продуктов и ИТ. Насколько зрелым является ваш продуктовый ассортимент? Относится ли ваша продукция к классу традиционной, характеризующейся более медленными изменениями и постепенностью развития, или это быстроразвивающаяся, более сложная технологическая экосистема? Горнодобывающая техника сложна, но у нее более длительный жизненный цикл, а эволюция медленнее, чем у научно-технического оборудования. Но это не означает, что компания по производству последнего имеет больше возможностей для оптимизации своего ассортимента с помощью Интернета вещей. Еще один фактор, который нужно учесть, — зрелость ИТ-процессов, определяющая модели эволюции. Например, поставщик научно-исследовательских инструментов, хотя он и работает в высокотехнологичной сфере, может не иметь мощной ИТ-архитектуры и высокоразвитых процессов, а у производителя горнодобывающего оборудования внутренние ИТ-процессы, напротив, могут быть очень зрелыми. Первый с помощью Интернета вещей мог бы обновлять функциональность своей продукции, которая уже применяется заказчиками, но, возможно, не стоит пытаться оптимизировать информационную экосистему собственной лаборатории. Разумеется, незрелость ИТ как центра издержек совсем не означает низкой доходности, однако во многих организациях при разработке или расширении ИТ-сервисов опираются на существующие базовые возможности.

Оценка возможностей Интернета вещей. Далее следует подумать о том, какие возможности Интернета вещей можно задействовать в умных изделиях, соединенных с сетями:

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

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

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

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

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

Роль аналитики и машинного обучения. В ноябре 2014 года представители Xerox PARC высказали предположение, что практически вся функциональность вскоре перейдет в облако. Находясь где угодно, можно будет осуществлять доступ к данным и функциям через различные устройства, а те распознают контекст, в котором пользователь получает доступ к данным. Например, электронный браслет для фитнеса может получать данные о здоровье пользователя через смартфон или ноутбук в контексте выполнения упражнения. Здесь браслет играет роль датчика Интернета вещей, предоставляя средства для доступа к данным и работы с ними. Он также заменяет другие устройства (шагомер и т. п.) благодаря наличию программно реализованной функциональности. Данные, поставляемые устройством, позволят судить о предпочтениях и привычках владельца, что можно будет учесть при обновлении функциональности и разработке новых особенностей. При агрегации полученных от множества пользователей данных и объединении их с иной информацией можно получить дополнительные сведения: эпидемиологические, об уровнях активности населения, образе жизни, демографии и т. п. Эта информация ценна для маркетологов, медиков, страховых компаний, госструктур и др.

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

Алгоритмы машинного обучения и прогнозирования применяются в ряде соединенных с сетями «умных» устройств. Например, термостаты, пользуясь обнаруженными ими закономерностями, прогнозируют предпочтительную температуру в конкретной комнате в определенное время дня. А компания, поставляющая электроэнергию городским районам, может в пиковое время перераспределять нагрузку, дистанционно понижая — с разрешения абонентов — температуру на сотнях тысяч термостатов. Существуют потребительские устройства, обучающиеся на закономерностях, выведенных путем анализа домашних разговоров. К ним относится, например, Echo — персональный голосовой помощник от Amazon. Есть системы, обучающиеся на более сложных закономерностях поведения. Так, система мониторинга Jaguar Land Rover основана на ПО, которое способно отслеживать поведение водителя автомобиля и пассажиров, предугадывать их действия и помогать водителю концентрироваться на вождении.

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

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

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

Иерархическое обучение с подкреплением

Специалист по Computer Science Александр Панов о вознаграждении за правильное выполнение задач, планировании поведения и алгоритмах обучения с подкреплением

Поделиться статьей

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

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

В качестве примера можно предположить, что у нас с вами есть робот, который является агентом, он движется в некоторых помещениях. Он может ехать вперед, назад и открывать двери в соседние комнаты. Целью служит комната, в которую он должен приехать и взять какую-нибудь вещь. Вознаграждением служит, например, евклидово расстояние до предмета в этой комнате: чем он ближе, тем больше ему поступает это число. Если он далеко, это число 5, если он близко, это 10 или 20. Задача агента — выполнить такие действия, чтобы как можно быстрее заработать больше вознаграждений. Вознаграждения могут быть отрицательными, и это значит, что агента наказывают, если он, например, едет не в ту сторону.

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

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

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

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

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

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

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

В иерархическом обучении с подкреплением сегодня существуют три подхода к тому, как составлять и запоминать последовательности действий. Один из основных подходов, который был предложен еще основоположником обучения с подкреплением Ричардом Саттоном, сейчас развивается одной из его учениц. Этот подход, или фреймворк, называется Options. Это такая подпоследовательность действий, которая сопровождается отдельным набором состояний, в которых сказано, что нужно начинать цепочку действий. Цепочка действий заканчивается терминальными состояниями, то есть условиями ее завершения. В данном случае используется подход вычисления ценности пар «состояние — действие». Когда мы хотим для данного состояния выяснить, какое действие предпринять, мы для этой пары «действие и текущее состояние» сопоставляем некоторое число, вознаграждение, которое получим в дальнейшем, если совершим действие в этом состоянии.

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

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

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

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

Второй подход в иерархическом обучении еще в начале 2000-х предложил Дитерихом, один из основоположников обучения с подкреплением — Max Q, максимизация оценки состояний. Этот подход интересен тем, что был предложен один из классических примеров, на которых проверяют сейчас многие задачи обучения с подкреплением, иерархического обучения с подкреплением — это задача такси. Она растет из проблемы таксистов в Нью-Йорке. Задачка простая. Агент — это таксист, желтая машинка, которая движется по grid world, то есть клеточному пространству. Ее задача — подобрать пассажира и отвезти его в определенную точку. Клеточный мир может быть достаточно большой: от 5 клеток до 100. И здесь хорошо прослеживается иерархия. Цель не просто довезти пассажира до какой-то точки, а последовательность — доехать до этого пассажира, забрать его и потом отвезти куда-нибудь еще.

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

Читать еще:  Обучение копирайтингу с трудоустройством
Ссылка на основную публикацию
Adblock
detector