Fishlake-scripts.ru

Образование и уроки
0 просмотров
Рейтинг статьи
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.

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

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

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

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

Многие пользователи постиндустриальной эпохи задавались вопросом: Machine Learning – что это? Фантастическое будущее, которое уже наступило или очередная непонятная теория вроде квантового дуализма. Не то и не другое.

Машинное обучение (МО), а именно так переводится этот термин, является ветвью искусственного интеллекта. Более детальнее – это методика анализа данных, которые позволяют машине/роботу/аналитической системе самостоятельного обучаться посредством решения массива сходных задач.

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

Принцип МО интересно продемонстрировали в гугловском ролике «Google’s DeepMind AI Just Taught Itself To Walk».

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

Что касается фантастического будущего, то МО условно делят на три стадии внедрения:

  1. Технологии получают приставку «инновационные», а значит, к ним имеют доступ только крупные корпорации и правительственные структуры. Например, Google и Amazon, IBM и Apple первыми стали внедрять искусственный интеллект. Собственно любая система, которая пытается предсказать покупательский спрос на основе массива данных, связана с технологией машинного обучения.
  2. Технологиями пользуются люди с определенным багажом знаний в IT сфере, которые имеют доступ к современным разработкам, гаджетам. Появление новых сервисов, основанных на технологии искусственного интеллекта. Яркий пример – аналитические машины Гугла и Яндекса в контекстной рекламе.
  3. Технологии доступны даже школьнику, людям «лампового» поколения, которые вполне серьезно опасаются «Восстания машин» по аналогии с блокбастером «Терминатор».


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

Сфера применения

Мы рассмотрели Machine Learning – что это понятие означает. Теперь самое время рассмотреть для чего используется МО в бизнесе и жизни.

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

Здорово, но пока фантастично. В будущем, может даже и не слишком далеком – это станет реальностью.

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

По такому же принципу формируются умные ленты в соцсетях. Аналитические машины ФБ, ВК, Инстаграм, Твиттер исследуют ваши интересы – какие посты чаще просматриваете, на что кликаете, какие паблики или группы посещаете и другое. Чем дольше и чаще вы активничаете в соцсетях, тем более персонализированной становится ваша лента новостей. Это и хорошо и плохо. С одной стороны – машина отсеивает массив неинтересной (по её мнению) информации, а с другой – она сужает ваш кругозор. Маркетинг – ничего личного!

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

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

Виды машинного обучения

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

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

Например, у нас есть данные о доходах интернет-магазина за полгода работы. Мы знаем, сколько продано товаров, сколько потрачено денег на привлечение клиентов, ROI, средний чек, количество кликов, отказов и другие метрики. Задача машины проанализировать весь массив данных и выдать прогноз дохода на предстоящий период – месяц, квартал, полгода или год. Это регрессивный метод решения задач.
Другой пример. На основе массива данных, критериев выборки нужно определить является ли текст письма на электронную почту спамом. Или, имея данные успеваемости школьников по предметам, зная их IQ по тестам, пол и возраст, нужно помочь выпускникам определиться с профориентацией. Аналитическая машина выискивает и проверяет общие черты, сравнивает и классифицирует результаты тестов, оценки по школьной программе, склад ума. На основе данных делает прогноз. Это задачи классификации.
Обучение без учителя (unsupervised learning). Обучение строится на том, что человеку и программе неизвестны правильные ответы заранее, имеется только некий массив данных. Аналитическая машина, обрабатывая информацию, сама ищет взаимосвязи. Зачастую на выходе имеем неочевидные решения.

Например, мы знаем данные о весе, росте и типе телосложения 10 000 потенциальных покупателей джемперов определенного фасона. Загружаем информацию в машину, чтобы разбить клиентов по кластерам в соответствии с имеющимися данными. В результате мы получим несколько категорий людей со схожими характеристиками, чтобы для них выпустить джемпер нужного фасона. Это задачи кластеризации. Другой пример. Чтобы описать какое-либо явление приходится задействовать 200-300 характеристик. Соответственно визуализировать такие данные крайне сложно, а разобраться в них просто невозможно. Аналитическая система получает задание обработать массив характеристик и выбрать схожие, то есть сжать данные до 2-5-10 характеристик. Это задачи уменьшения размерности.
Глубокое обучение (Deep learning). Глубокое машинное обучение – это обязательно анализ «Больших данных» — Big Data. То есть одним компьютером, одной программой переработать столько информации просто невозможно. Поэтому используются нейронные сети. Суть такого обучения в том, что огромное поле информации разделяется на небольшие сегменты данных, обработка которых делегируется другим устройствам. Например, один процессор только собирает информацию по задаче и передает дальше, четыре других процессора анализируют собранные данные и передают результаты дальше. Следующие в цепочке процессоры ищут решения.

Например, система распознавания объектов работает по принципу нейросети. Сначала фотографируется объект целиком (получение графической информации), потом система разбивает данные на точки, находит линии из этих точек, строит из линий простые фигуры, а из них – сложные двумерные и далее 3D-объекты.

Классы задач машинного обучения


Обобщим задачи МО:

  1. Регрессия. На основании массива признаков или характеристик предсказать вещественный результат. То есть машина должна выдать конкретную цифру. Например, предсказать стоимость акций на бирже, количество запросов по ключевому слову, бюджет контекстной рекламы и другое.
  2. Классификация. Задача определить по количеству и качеству признаков, характеристик категорию объекта. Например, распознать по снимку конкретного человека в розыске, имея только описания на словах, определить спам, выявить болезнь у пациента.
  3. Кластеризация. Данные разбиваются на похожие категории. Например, космические объекты относят в конкретные категории по схожим признакам (удаленность, размер, планета или звезда и другие).
  4. Уменьшение размерности. Сжатие массива характеристик объекта до меньшего количества признаков для дальнейшей визуализации или использования в работе. Например, сжатие массива данных в архивы для передачи по сети.

Основы машинного обучения


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

Что для этого нужно:

  1. Владеть английским языком на нормальном уровне. Зачем? Чтобы общаться без проблем в кругу единомышленников. В Европе, кстати, незнание английского считается признаком дурного тона. Акцент никого не интересует, но если имеются трудности с построением предложений, то будут трудности и с общением.
  2. Основы программирования. В машинном обучении применяется Python или Matlab. Также не лишним будет понимать, как работают базы данных.
  3. Неплохо подтянуть знания в математике, особенно раздел алгоритмов. Для начала подойдет классический курс Эндрю Энга «Машинное обучение». В курсе много практики, и, главное, нет упора на обширный математический багаж.

Для углубленного обучения МО советуем записаться на курсы от ВШЭ или специализацию от МФТИ.

Предлагаем добавить в свою библиотеку следующие книги по искусственному интеллекту и МО:

  • Стюарт Рассел, Питер Норвиг «Искусственный интеллект. Современный подход»
  • Джордж Ф. Люгер Искусственный интеллект. «Стратегии и методы решения сложных проблем»
  • Петер Флах «Машинное обучение»
  • Себастьян Рашка «Python и машинное обучение»
  • Шарден Б., Массарон Л., Боскетти А. «Крупномасштабное машинное обучение вместе с Python»
  • Тарик Рашид «Создаем нейронную сеть»
  • Хенрик Бринк, Джозеф Ричардс «Машинное обучение»

Все книги можно купить на Озоне.

Резюме

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

Виды машинного обучения

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Системы рекомендаций. Если вы когда-либо пользовались YouTube или Netflix, вы, скорее всего, сталкивались с системой рекомендаций по видео. Она обладает информацией о видео (длина, жанр и так далее) и знает историю просмотров многих пользователей. Принимая во внимание пользователей, которые смотрели похожие на ваши видео, а затем наслаждались другими (теми, которые вы еще не смотрели), система рекомендаций может проследить взаимосвязь и предложить интересное видео именно для вас.
  • Потребительские предпочтения. Вероятно, ваши потребительские предпочтения лежат в огромных базах данных и в настоящее время активно покупаются и продаются. Такие предпочтения могут использоваться в алгоритмах обучения без учителя, чтобы группировать клиентов по сегментам, что в свою очередь позволяет компаниям строить более продвинутые рекомендательные системы.
  • Группировка проблем пользователей помогает компаниям определить основные проблемы клиентов, чтобы затем исправить их, улучшить продукт или разработать гайд по решению наиболее распространенных проблем.

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

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

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

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

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

Где используется обучение с подкреплением в реальном мире?

  • Видеоигры. Одно из самых распространенных мест применения обучения с подкреплением — обучение игре в игры. Посмотрите на приложения AlphaZero и AlphaGo, которые научились играть в игру Go. Наш пример Марио также является распространенным примером. В настоящее время я не знаю ни одной массовой игры, в которой агент обучения с подкреплением был бы использован в качестве игрового искусственного интеллекта, но я могу предположить, что скоро это будет основным вариантом для разработчиков игр.
  • Промышленное моделирование. Для многих роботизированных приложений (например, сборочных линий) полезно, чтобы машины учились выполнять свои задачи без необходимости императивного программирования. Это помогает сэкономить и повысить безопасность. Мы также можем стимулировать машины использовать меньше электроэнергии и, более того, мы можем разрабатывать все это виртуально, чтобы не тратить деньги и ничего не сломать физического.
  • Управление ресурсами. Обучение с подкреплением полезно для принятия решения в сложных условиях. Взять, к примеру, дата-центры Google. Они используют обучение с подкреплением, чтобы уравновесить затраты на электроэнергию и качество оказываемой услуги. Как это влияет на обычного человека? Хранение данных дешевле, а влияние на окружающую среду меньше.

Связываем все вместе

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

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

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

  • Агент, играющий в Марио? Почему бы не дать ему способность распознавать и отмечать врагов?
  • Система, классифицирующая предложения? Почему бы не дать ей стимул извлекать выгоду из определения смысла предложения?
  • Хотите объединить людей в социальной сети в группы? Почему бы не добавить в процесс подкрепление, которое уточнит результаты?

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

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

Для начала рассмотрим некоторые руководящие принципы, которые используются при создании моделей:

  • Сбор данных (обычно в больших количествах).
  • Установление цели, гипотезы для проверки и сроков для достижения.
  • Проверка на наличие аномалий или выбросов.
  • Поиск недостающих данных.
  • Очистка данных на основе ограничений, целей и тестирования гипотез.
  • Выполнение статистического анализа и начальной визуализации.
  • Масштабирование, регуляризация, нормализация, разработка функций, случайная выборка и проверка данных для подготовки модели.
  • Обучение и тестирование данных.
  • Создание моделей на основе показателей классификации/регрессии для обучения с учителем или без него.
  • Установление базовой точности и проверка точности текущей модели на данных для обучения и тестирования.
  • Повторная проверка решения проблемы и полученных результатов.
  • Подготовка модели для развертывания и поставки продукта (AWS, Docker, Buckets, App, веб-сайт, ПО, Flask и т. д.).

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

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

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

Подходы

Ниже приведены подходы к выбору модели для решения задач машинного обучения/глубокого обучения:

  1. Несбалансированные данные достаточно распространены.

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

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

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

2. Мы можем создавать новые функции с помощью метода главных компонент.

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

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

4. Нам необходимо устранить проблему «черного ящика».

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

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

5. Понимание алгоритмов, не восприимчивых к выбросам.

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

Модели машинного обучения

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

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

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

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

5. Для соревнований Kaggle предпочтительны случайный лес и XGBoost!

Модели глубокого обучения

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

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

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

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

Для задач моделирования последовательности, таких как языковой перевод или классификация текста, предпочтительны рекуррентные нейронные сети (RNN).

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

Machine Learning

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

Что такое Machine Learning

Общий термин «Machine Learning» или «машинное обучение» обозначает множество математических, статистических и вычислительных методов для разработки алгоритмов, способных решить задачу не прямым способом, а на основе поиска закономерностей в разнообразных входных данных [1]. Решение вычисляется не по четкой формуле, а по установленной зависимости результатов от конкретного набора признаков и их значений. Например, если каждый день в течении недели земля покрыта снегом и температура воздуха существенно ниже нуля, то вероятнее всего, наступила зима. Поэтому машинное обучение применяется для диагностики, прогнозирования, распознавания и принятия решений в различных прикладных сферах: от медицины до банковской деятельности.

Типы и суть Machine Learning

Выделяют 2 типа машинного обучения [1]:

  1. Индуктивное или по прецедентам, которое основано на выявлении эмпирических закономерностей во входных данных;
  2. Дедуктивное, которое предполагает формализацию знаний экспертов и их перенос в цифровую форму в виде базы знаний.

Дедуктивный тип принято относить к области экспертных систем, поэтому общий термин «машинное обучение» означает обучение по прецедентам. Прецеденты или обучающая выборка – это наборы входных объектов и соответствующих им результатов. При этом не существует четкой формулы, которая аналитически описывает зависимость между результатами и входами. Например, какая погода будет завтра, если на протяжении недели дни были морозные, солнечные, с низкой влажностью воздуха, без ветра и осадков? При этом следует учесть еще множество параметров: географические координаты, рельеф местности, движение теплых и холодных фронтов воздуха и пр. Необходимо построить алгоритм, который выдаст достаточно точный результат для любого возможного входа. Точность результатов регулируется оценочным функционалом качества. Таким образом, решение формируется эмпирически, на основе анализа накопленного опыта. При этом обучаемая система должна быть способна к обобщению – адекватному отклику на данные, выходящие за пределы имеющейся обучающей выборки. На практике входные данные могут быть неполными, неточными и разнородными. Поэтому существует множество методов машинного обучения [2]. Можно сказать, что машинное обучение реализует подход Case Based Reasoning (CBR) — метод решения проблем рассуждением по аналогии, путем предположения на основе подобных случаев (прецедентов).

Суть и смысл машинного обучения (Machine Learning)

Методы Machine Learning

Существует множество методов машинного обучения. Мы перечислим самые популярные, оставив их подробную классификацию специализированным ресурсам [1, 2, 3]. Выделяют 2 вида классического Machine Learning:

  1. С учителем (supervised learning), когда необходимо найти функциональную зависимость результатов от входов и построить алгоритм, на входе принимающий описание объекта и на выходе выдающий ответ. Функционал качества, как правило, определяется через среднюю ошибку ответов алгоритма по всем объектам выборки. К обучению с учителем относятся задачи классификации, регрессии, ранжирования и прогнозирования.
  2. Без учителя (unsupervised learning), когда ответы не задаются, и нужно искать зависимости между объектами. Сюда входят задачи кластеризации, поиска ассоциативных правил, фильтрации выбросов, построения доверительной области, сокращения размерности и заполнения пропущенных значений.

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

Ниже на рисунке показана классификация наиболее часто используемых методов Machine Learning [3].

Классификация методов Machine Learning [3]

Средства реализации Machine Learning

Сегодня чаще всего для создания программ машинного обучения используются языки R, Python, Scala и Julia [4]. Они поддерживаются многими интегрированными средами разработки, в частности, R-Studio, R-Brain, Visual Studio, Eclipse, PyCharm, Spyder, IntelliJ IDEA, Jupyter Notebooks, Juno и др. [4]. На наших практических курсах мы научим вас успешной работе с этими инструментами, чтобы потом вы могли самостоятельно формировать наборы входных данных, строить эффективные алгоритмы для решения прикладных задач своей области: от нефтегазовой промышленности до биржевой аналитики. Выбирайте свой обучающий интенсив и приходите к нам на занятия!

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