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

Machine Learning

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


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

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

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

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

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


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

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

Шаг 1. Выберите и подготовьте набор данных для обучения

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

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

Шаг 2. Выберите алгоритм для работы с обучающим набором данных.

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

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

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

Алгоритмы использования с немаркированными данными включают следующее:

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

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

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

Шаг 4: Использование и улучшение модели

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


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

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

Машинное обучение с учителем

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

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

Машинное обучение без учителя

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

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

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


Машинное обучение с усилением

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

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


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

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

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


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

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

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