«Последняя серия Netflix создается не потому, что у продюсера было божественное вдохновение или момент осознания, а потому, что модель данных говорит, что это сработает». — Энрике Данс, IE Business School

О чем пост?

Этот пост является первым в серии постов, в которых я планирую представить типы машинного обучения, применение алгоритмов машинного обучения к реальным наборам данных и способы оценки алгоритма (алгоритмов). Короче говоря, я хочу, чтобы мои посты действовали как курс 101 по машинному обучению. Я выбрал R в качестве инструмента для этих постов, но я планирую сделать аналогичную серию и для Python.

Просто предостережение — мои посты будут практически ориентированным курсом и ограниченной теорией об алгоритмах, которые я буду использовать. Если вы хотите визуально понять, как работает машинное обучение, я настоятельно рекомендую посетить этот веб-сайт, созданный Стефани Йи и Тони Чу.

Цели/предпосылки

  1. Цель этой серии статей — предоставить новичкам в области машинного обучения доступный контент, воспроизводимые коды, советы и рекомендации, которые помогут им начать свое путешествие в области машинного обучения.
  2. В конце моего последнего поста в этой серии я ожидаю, что этот новичок применит изученные алгоритмы машинного обучения к другим наборам данных, а также изучит новые алгоритмы в этой области.
  3. Знакомство с синтаксисом R/RStudio — как импортировать данные в R, обрабатывать данные, манипулировать ими, строить графики и т. д. Пожалуйста, обратитесь к моей серии публикаций Анализ данных с помощью R, чтобы освежить в памяти эту тему. .

Введение

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

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

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

  • Искусственный интеллект (ИИ) — это наука и техника, позволяющие заставить компьютеры вести себя так, как до недавнего времени мы считали необходимым человеческим интеллектом. «До недавнего времени» здесь критическое слово, поскольку пятьдесят лет назад программа для игры в шахматы считалась формой ИИ, тогда как в наши дни шахматную игру можно найти почти на каждом мобильном телефоне или компьютере. В современном мире я бы назвал Google Home или Alexa от Amazon примером ИИ, который отвечает на наши запросы и рекомендует предложения, основанные на алгоритмах машинного обучения.

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

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

Б. Почему машинное обучение (ML)?

Чтобы ответить на этот вопрос, нам нужно сначала понять, как работает обычное программирование (CP), чем ML лучше, чем CP. Давайте воспользуемся знаменитой игрой FizzBuzz, чтобы понять различия. Эта задача принимает входное число и пытается разделить его на 3 и 5.

  • если число делится на 3, то печатается 'шипение',
  • если оно делится на 5, то выводится 'buzz'
  • если оно делится на оба, то выводится 'fizzbuzz' и
  • если оно не делится ни на 3, ни на 5, то выведите ‘other

Традиционный подход к программированию

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

def fizzbuzz(n):   
     if n % 3 == 0 and n % 5 == 0:         
        return 'FizzBuzz
     elif n % 3 == 0:         
        return 'Fizz
     elif n % 5 == 0:         
        return 'Buzz
     else:     
        return 'Other'

Подход машинного обучения

Предположим, у нас уже есть много чисел, выход которых уже известен, т. Е. Будь то «шипение», «жужжание» или «шипение». Все, что нам нужно сделать, это

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

Мощный код, использующий Google Tensorflow, может достичь точности 98 % на основе 5000 итераций.

Сценарий NetFlix

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

Для обычного программирования эта задача становится все более сложной, потому что,

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

Вот почему машинное обучение.

Две предпосылки, на которых будет обучаться ML:

  • Основываясь на ваших прошлых данных, какие фильмы вы, скорее всего, собираетесь смотреть?
  • Что такие люди, как вы, смотрят в эти дни?

Я надеюсь, что цитата профессора Энрике, приведенная прямо в начале этой статьи, теперь имеет для вас смысл.

С. Как заниматься машинным обучением?

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

Заключение

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