М

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

от. англ Machine Learning

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

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

Определение

Машинное обучение (англ. machine learning, ML) — класс методов искусственного интеллекта, характерной чертой которых является не прямое решение задачи, а обучение за счёт применения решений множества сходных задач.

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

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

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

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

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

Стадии внедрения МО

Настоящее и будущее машинного обучения условно делят на три стадии внедрения:

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

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

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

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

Машинное обучение уже имеет широкий спектр приложений:

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

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

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

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

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

Выделяют три направления:

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

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

Например, у нас есть данные о доходах интернет-магазина за полгода работы. Мы знаем, сколько продано товаров, сколько потрачено денег на привлечение клиентов, ROI, средний чек, количество кликов, отказов и другие метрики.

Задача машины проанализировать весь массив данных и выдать прогноз дохода на предстоящий период – месяц, квартал, полгода или год. Это регрессивный метод решения задач.

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

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

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

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

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

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

Другой пример. Чтобы описать какое-либо явление приходится задействовать 200-300 характеристик. Соответственно визуализировать такие данные крайне сложно, а разобраться в них просто невозможно.

Аналитическая система получает задание обработать массив характеристик и выбрать схожие, то есть сжать данные до 2-5-10 характеристик. Это задачи уменьшения размерности.

3. Глубокое обучение (deep learning)

Глубокое машинное обучение – это обязательно анализ «Больших данных» – Big Data. То есть одним компьютером, одной программой переработать столько информации просто невозможно. Поэтому используются нейронные сети.

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

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

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

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

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

Регрессия

На основании массива признаков или характеристик необходимо предсказать вещественный результат.

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

Классификация

Необходимо определить по количеству и качеству признаков/характеристик категорию объекта.

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

Кластеризация

Разделить данные на похожие категории.

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

Уменьшение размерности

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

Например, сжатие массива данных в архивы для передачи по сети.

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

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

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

Для этого необходимо:

  • Владеть английским языком на уровне, достаточном для чтения и понимания документации
  • Изучить основы программирования. В машинном обучении применяется Python или Matlab. Также не лишним будет понимание, как работают базы данных
  • Освежить знания в высшей математике, особенно раздел алгоритмов. Для начала подойдет классический курс Эндрю Энга «Машинное обучение». В курсе много практики, и, главное, нет упора на обширный математический багаж

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

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

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

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

Выводы

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

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