menu icon

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

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

Что такое машинное обучение?

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

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

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

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

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

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

Шаг 1: Выбор и подготовка учебного набора данных

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

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

Шаг 2: Выбор алгоритма для обработки учебного набора данных

Напомним, что алгоритм — это набор действий статистической обработки. Тип алгоритма зависит от объема помеченных или непомеченных данных в учебном наборе данных, а также от типа поставленной задачи.

Наиболее распространенные алгоритмы машинного обучения для помеченных данных:

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

Для работы с непомеченными данными применяются следующие алгоритмы:

  • Алгоритмы кластеризации: кластеры можно рассматривать как группы. Основной задачей кластеризации является выявление похожих записей и их маркировка с учетом групповой принадлежности. При этом какая-либо предварительная информация о группах и их характеристиках отсутствует. К алгоритмам кластеризации относятся метод K-средних, двухшаговый метод и метод Кохонена.
  • Ассоциативные алгоритмы: ассоциативные алгоритмы находят закономерности и взаимосвязи в данных и выявляют частые взаимосвязи «if-then», которые называются ассоциативными правилами. Они похожи на правила, применяемые для сбора и анализа данных.
  • Нейронные сети: нейронная сеть представляет собой алгоритм, описывающий многоуровневую сеть вычислений, которая включает входной уровень, предназначенный для приема данных, по крайней мере один скрытый уровень, на котором выполняются вычисления и делаются различные выводы относительно входных данных, а также выходной уровень, на котором каждому выводу присваивается вероятность. Глубокая нейронная сеть представляет собой сеть с несколькими скрытыми уровнями, каждый из которых последовательно уточняет результаты предыдущего уровня (дополнительная информация приведена далее в разделе «Глубокое обучение»).

Шаг 3: Обучение алгоритма для создания модели

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

Шаг 4: Использование и оптимизация модели 

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

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

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

Для более подробного знакомства с различиями между этими подходами, обратитесь к веб-станице «Контролируемое и неконтролируемое обучение: в чем разница?»

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

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

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

Подробнее о контролируемом обучении.   

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

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

Подробнее о неконтролируемом обучении.

Полуконтролируемое обучение 

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

Машинное обучение с подкреплением

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

Хороший пример тому — система IBM Watson®, которая в 2011 году стала победителем в игре Jeopardy!. Система использовала обучение с подкреплением для принятия решений о том, стоит ли пытаться дать ответ (или задать вопрос), какой квадрат выбрать на доске и какую сделать ставку — особенно в случае двойных ставок.

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

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

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

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

Для того чтобы подробней ознакомиться с разными концепциями, обратитесь к публикации «AI vs. Machine Learning vs. Deep Learning vs. Neural Networks: What’s the Difference?»

Подробнее об глубоком обучении.                                                               

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

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

  • Цифровые помощники: Apple Siri, Amazon Alexa, Google Assistant и другие цифровые помощники используют обработку естественного языка (NLP). Это приложение машинного обучения, предназначенное для обработки текстовых и голосовых данных и способное «понимать» человеческий язык. Кроме того, обработка естественного языка применяется в приложениях с голосовым управлением, таких как программное обеспечение распознавания речи и навигаторы GPS.
  • Рекомендации: модели глубокого обучения формируют рекомендации «другим людям также понравилось» и «только для вас», которые выдают Amazon, Netflix, Spotify и другие сервисы в сферах розничной торговли, развлечений, путешествий, поиска работы и новостные сервисы.
  • Контекстная реклама в Интернете: модели машинного обучения и глубокого обучения могут оценивать содержимое веб-страниц — не только тему, но и такие нюансы, как мнение или отношение автора — и показывать рекламу с учетом интересов посетителей.
  • Чатботы: чатботы могут объединять алгоритмы распознавания закономерностей, обработки естественного языка и глубокие нейросети для интерпретации текста, вводимого пользователем, и предоставления подходящих ответов.
  • Обнаружение мошенничества:  регрессионные и классификационные модели машинного обучения пришли на смену системам обнаружения мошенничества на основе правил, для которых были характерны высокое число ложных срабатываний при выдаче предупреждений об использовании украденных кредитных карт и низкие показатели выявления незаконного использования украденных или скомпроментированных финансовых данных.
  • Кибербезопасность: машинное обучение обеспечивает анализ отчетов об инцидентах, предупреждений, публикаций блогов и других данных с целью выявления потенциальных угроз, информирования аналитиков в области безопасности и более быстрого реагирования.
  • Анализ медицинских изображений: в условиях стремительного роста объемов и разнообразия данных медицинских изображений расширяется спектр вспомогательной информации для постановки диагнозов, однако вместе с тем увеличивается и вероятность человеческой ошибки при интерпретации данных. Сверточные нейросети (CNN), рекуррентные нейросети (RNN) и другие модели глубокого обучения с успехом извлекают признаки и информацию из медицинских изображений, помогая в постановке достоверных диагнозов.
  • Беспилотные автомобили:  в беспилотных автомобилях в полной мере раскрывается потенциал машинного обучения — они должны постоянно выявлять объекты вокруг машины, прогнозировать их изменения или перемещения и обеспечивать продвижение машины вокруг среди этих объектов до места назначения. В самоуправляемых автомобилях реализованы практически все рассмотренные выше алгоритмы машинного обучения и глубокого обучения.

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

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

IBM Watson Machine Learning в составе IBM Cloud Pak for Data помогает специалистам по ИИ и данным ускорить разработку и упростить развертывание ИИ на основе облачной платформы данных и ИИ. IBM Watson Machine Learning Cloud, управляемая услуга в среде IBM Cloud, предлагает самый быстрый способ перехода от экспериментальных моделей к производственному использованию. Для небольших команд, которым требуется масштабировать среды машинного обучения, IBM Watson Machine Learning Server предлагает простую установку в любом частном или общедоступном облаке.

Для того чтобы приступить к работе, зарегистрируйтесь для получения IBMid и создайте учетную запись IBM Cloud.