Подробное введение в машинное обучение

В последние годы было много ажиотажа в области машинного обучения, глубокого обучения и науки о данных. И это оправдано, учитывая последние достижения в этой области и огромное количество доступных данных. Было много моделей, которые доказали свою способность решать проблемы, которые раньше было очень сложно решить, такие как рекомендации продуктов, распознавание изображений и видео, обнаружение мошеннических транзакций и многие другие. Хотя эти проблемы могут показаться неразрешимыми для людей, и это верно для небольшого числа людей, что произойдет, когда мы перенесем эти проблемы в эпоху больших данных? Попробуйте найти сцены с наркотиками во всех фильмах, доступных на Netflix или Amazon Prime. У целой команды профессионалов могут уйти годы или даже десятилетия только на то, чтобы просмотреть фильмы, опубликованные за один год. Что ж, машинное обучение и глубокое обучение будут проходить их намного быстрее и со значительно меньшими накладными расходами. Но что такое машинное обучение?

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

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

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

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

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

В чем разница между искусственным интеллектом, машинным обучением и глубоким обучением?

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

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

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

И это только высокий обзор того, что такое искусственный интеллект. Как и в случае с машинным обучением, существует множество различных определений. Я предпочитаю определение Джона Маккарти в его статье 2004 года:

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

Я знаю, что вас сейчас интересует: ИИ появился в 2004 году? Ответ - нет. Обычно сообщество соглашается с тем, что ИИ появился примерно в 1950 году, когда появилась основополагающая работа Алана Тьюринга, ссылку на которую я приведу ниже.

Но давайте пропустим теорию и сравним AI и ML. Прочтите определения еще раз. Похоже, что AI и ML пересекаются. И это правильно. Если мы хотим научить компьютеры извлекать знания из данных и изучать закономерности, то мы пытаемся получить возможности для принятия решений. И, конечно же, в обоих этих определениях мы хотим решить конкретную проблему. Вот почему машинное обучение является подполем ИИ.

Но как насчет глубокого обучения? Я создам отдельный курс для глубокого обучения, где попытаюсь объяснить многие вещи, но с высокой точки зрения:

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

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

Фреймворк машинного обучения

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

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

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

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

Приложения машинного обучения

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

  • Компьютерное зрение — идентификация объектов, людей, мест на изображениях/видео. Одно из наиболее заметных применений — это самоуправляемые автомобили, где автомобиль учится различать людей, машины, светофоры и полосы движения.
  • Распознавание речи — преобразование голосовых инструкций в текст. Самые заметные из них — Siri, Alexa, Cortana.
  • Обнаружение мошенничества — обнаружение мошеннических транзакций. Это то, что используется во многих банках и интернет-магазинах для выявления мошеннических и незаконных транзакций.
  • Обнаружение спама в электронной почте — классификация писем как спама или законных. Это то, что используется во всех почтовых провайдерах, таких как Gmail, Outlook и т. д.
  • Рекомендация продукта — изучение интересов пользователей и рекомендации продуктов, которые могут понадобиться пользователям. Наиболее заметными из них являются Amazon, рекомендующие аналогичные продукты, или Netflix, рекомендующий вам сериал или сериал, который вы, возможно, захотите посмотреть.
  • Здравоохранение — много работы по машинному обучению для здравоохранения. Некоторые из наиболее заметных из них включают секвенирование ДНК, обнаружение злокачественных и доброкачественных опухолей и многие другие.

Заключение

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

Важные ссылки