Машинное обучение (Machine learning, ML) – свод методов в области искусственного интеллекта, набор алгоритмов, которые применяют, чтобы создать машину, которая учится на собственном опыте. В качестве обучения машина обрабатывает огромные массивы входных данных и находит в них закономерности.
Не стоит путать понятия Data science и Machine learning. Эти инструменты во многом пересекаются, но всё же они разные и каждый со своими задачами. Также в этой статье мы раз и навсегда разберемся, как не смешивать в одну кучу машинное обучение, искусственный интеллект и нейросети.
Искусственный интеллект (Artificial intelligence, AI) – различные технологические и научные решения и методы, которые помогают сделать программы по подобию интеллекта человека. Artificial intelligence включает в себя множество инструментов, алгоритмов и систем, среди которых также все составляющие Data science и Machine learning.
Data science - наука о методах анализа данных и извлечения из них ценной информации, знаний. Она пересекается с такими областями как машинное обучение и наука о мышлении (Cognitive Science), а также с технологиями для работы с большими данными (Big Data). Результатом работы Data science являются проанализированные данные и нахождение правильного подхода для дальнейшей обработки, сортировки, выборки, поиска данных.
Например, есть несвязные данные о финансовых операциях затрат предприятия и данные контрагентов. Между собой эти данные связаны исключительно через промежуточные банковские данные или даты и время операций. В результате глубокого машинного анализа можно через промежуточные данные выяснить, какой контрагент является самым затратным.
Машинное обучение или Machine learning – один из разделов AI, алгоритмы, позволяющие компьютеру делать выводы на основании данных, не следуя жестко заданным правилам. То есть, машина может найти закономерность в сложных и многопараметрических задачах (которые мозг человека не может решить), таким образом находя более точные ответы. Как результат – верное прогнозирование.
Нейронная сеть при помощи искусственных нейронов моделирует работу человеческого мозга (нейронов), решающего определенную задачу, самообучается с учетом предыдущего опыта. И с каждым разом совершает все меньше ошибок. Нейросети являются одним из видов машинного обучения, а не отдельным инструментом.
Цель машинного обучения – частично или даже полностью автоматизировать решение различных сложных аналитических задач.
Поэтому в первую очередь машинное обучение призвано давать максимально точные прогнозы на основании вводных данных, чтобы владельцы бизнесов, маркетологи и сотрудники могли принимать верные решения в своей работе. В результате обучения машина может предсказывать результат, запоминать его, при необходимости воспроизводить, выбирать лучший из нескольких вариантов.
На данный момент машинное обучение охватывает широкий спектр приложений от банков, ресторанов, заправок до роботов на производстве. Новые задачи, возникающие практически ежедневно, приводят к появлению новых направлений машинного обучения.
Машинное обучение строится на трех китах:
А) данные – базовая информация, предоставить которую мы обычно просим клиента. Сюда входят любые выборки данных, работе с которыми нужно обучить систему;
Б) признаки – эта часть работы проводится в тесном сотрудничестве с клиентом. Мы определяем ключевые бизнес-потребности и совместно решаем какие именно характеристики и свойства должна отслеживать система в результате обучения;
В) алгоритм – выбор метода для решения поставленной бизнес-задачи. Эту задачу мы решаем без участия клиента, силами наших сотрудников.
Чем больше данных мы загрузим в систему, тем лучше и точнее она будет работать. Сами данные напрямую зависят от задачи, которая стоит перед машиной.
Например, чтобы научить почту отфильтровывать спам от важных писем, необходимы примеры. И чем больше их выборка, тем лучше. Таким образом система учится воспринимать конкретные слова – «Купить», «Дополнительный доход», «Зарабатывай дома», «Деньги», «Кредит», «Увеличение потенции» – как признаки спама и отправлять такие письма в отдельную папку.
Исходные данные для других задач будут иными. Чтобы советовать покупателю товары, которые могут его заинтересовать, нужна история совершенных им покупок. Чтобы предсказать изменение цен на рынке, нужна история цен.
Самая сложная и одновременно объемная часть работы – сбор этих самых данных. Существует два метода сбора данных: вручную и автоматически. Ручной метод гораздо более медленный, но при этом точный. Автоматический же гораздо более быстрый, но при этом допускает большее количество ошибок.
Хорошая выборка данных дорогого стоит, ведь именно она отвечает за точность прогнозирования, которую вы получите в итоге. Очень важно не ограничивать сбор данных человеческим мышлением, а предоставлять максимум разрозненной информации, поскольку машина может увидеть пользу и взаимосвязи там, где человек их не заметит.
Например, в случае с автомобилем признаками будут пробег, количество цилиндров, максимально возможная скорость. В случае с покупателем: возраст, пол, образование, уровень дохода и т.д. В случае с животными: порода, рост, длина от кончика хвоста до носа, окрас.
Поскольку правильность свойств напрямую влияет на результат, который вы получите, их отбор занимает зачастую больше времени, чем сам процесс машинного обучения. Здесь главное – не ограничивать набор характеристик, исходя из личного мнения, чтобы не исказить машинное восприятие. А вместе с ним и конечный результат.
Пример датасета, составленного по признакам: https://github.com/php-ai/php-ml/blob/master/data/wine.csv
Эти данные являются результатами химического анализа вин, выращенных в одном регионе в Италии, но полученных из трех разных сортов. Анализ определил 13 компонентов, найденных в каждом из трех типов вин. Именно исходя из компонентов вина можно определить его класс.
Система последовательных операций для решения определенной задачи. Иными словами – метод решения. Под каждую конкретную задачу можно подобрать отдельный изящный алгоритм. Именно от выбранного метода напрямую зависит скорость и точность результата обработки исходных данных.
Бывают случаи, когда даже идеально написанные алгоритмы не помогают решать поставленные бизнес-задачи. Например, если вы хотите увеличить количество кросс-продаж на сайте и уверены, что для этого нужно просто улучшить алгоритм рекомендации товаров. Но при этом не знаете, что ваши клиенты приходят по прямым ссылкам из поиска и игнорируют советы по покупке других товаров, показанные на сайте. Поэтому, прежде чем начинать работу, мы определяем реальную причину проблемы клиента. И если она техническая, с удовольствием помогает решить её.
В данной статье мы кратко рассмотрим основные виды машинного обучения, в дальнейшем посвятив каждому из них отдельный развернутый материал.
По признаку наличия учителя, обучение делится на обучение с учителем (Supervised Learning), без учителя (Unsupervised Learning) и с подкреплением (Reinforcement Learning).
- Обучение с учителем применяют когда нужно научить машину распознавать объекты или сигналы. Общий принцип обучения с учителем это “смотри, вот это дверь и это тоже дверь, и вот это тоже дверь”.
- Обучение без учителя использует принцип “эта вещь такая же, как другие”. Алгоритмы изучают сходства и могут обнаружить различие и выполнить обнаружение аномалий, распознавая, что является необычным или несхожим.
- Обучение с подкреплением используют там, где перед машиной стоит задача – правильно выполнить поставленные задачи во внешней среде имея множество возможных вариантов действия. Например, в компьютерных играх, трейдинговых операциях, для беспилотной техники.
По типу применяемых алгоритмов можно выделить два вида:
А) классическое обучение – известные и хорошо изученные алгоритмы обучения, разработанные в основном более 50-ти лет назад для статистических бюро. Подходит в первую очередь под задачи работы с данными: классификация, кластеризация, регрессия и т.п. Применяют для прогнозирования, сегментации клиентов и так далее.
Б) нейронные сети и глубокое обучение – наиболее современный подход к машинному обучению. Нейронные сети применяются там, где нужны распознавание или генерация изображений и видео, сложные алгоритмы управления или принятия решений, машинный перевод и подобные сложные задачи.
Несколько подходов можно объединить и тогда получатся ансамбли моделей.
При умелом подходе, комбинируя различные виды машинного обучения, можно добиться автоматизации большинства рутинных бизнес-процессов. Иными словами, алгоритмы и роботы, подготовленные при помощи машинного обучения, могут выполнять всю рутинную работу. Людям же остается вся творческая часть: составление стратегий, ведение переговоров, заключение договоров и прочее. Это важный фактор, поскольку машина не может выйти за заданные ей рамки, а человеческий мозг способен мыслить нешаблонно.
Качественный анализ характеристик машинами подскажет, куда стоит направить больше усилий для привлечения клиентов, а задача людей – продумать стратегию для этих усилий. Хотите узнать, как лучше использовать машинное обучение и искусственный интеллект в целом для решения ваших бизнес-задач? Свяжитесь с нами, подскажем вариант, наиболее подходящий вашему бизнесу.