Это блог-версия моей серии лекций по машинному обучению Azure, которая проводится в Сингапуре.

Введение и мотивация

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

Недавно я посетил потрясающие учебники по глубокому обучению Джереми Ховарда и Рэйчел Томас из fast.ai. Во введении они привели аналогию, которая запомнилась мне. Это происходит так:

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

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

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

Azure ML также позволяет запустить вашу модель в производство с помощью нескольких щелчков кнопки. Так что, если вы планируете продолжить использование Azure ML, вы можете быть уверены, что ваше обучение и модели не пропадут даром.

Итак, давайте посмотрим.

5 вопросов, на которые наука о данных может дать нам ответ

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

1. Это А или Б? или C или D…?

Вы бы видели множество примеров таких алгоритмов в повседневной жизни. Например, когда вы щелкаете изображение, как приложение узнает, что вы мужчина или женщина? Вы видели результаты от how-old.net? С довольно приличной точностью он может предсказать, является ли человек мужчиной или женщиной, а также его возраст.

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

Когда классификация выполняется между двумя классами, это A или B, это называется двоичной классификацией или двухклассовой классификацией. Когда у вас более двух классов, это называется многоклассовой классификацией (это A, B, C, D или…).

2. Это странно?

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

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

В отличие от алгоритмов классификации, показатель точности не будет правильным способом оценки модели. Почему? Возьмем другой пример. Допустим, вы пытаетесь диагностировать болезнь, которая встречается только у 1 из миллиона человек. Если вы использовали точность в качестве метрики, тогда ваш лучший алгоритм просто говорит, что нет болезни, так как он будет иметь точность или 99,9999%. Но это неверно. Вместо этого мы используем метрику, называемую скоростью обнаружения (отзыв). Отзыв можно определить как отношение правильно идентифицированных «аномальных» событий к общему количеству «аномальных» событий. Итак, в нашем примере Отзыв будет равен 0, поскольку мы не смогли идентифицировать болезни у этого человека.

3. Сколько? или сколько?

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

  1. Как цена и продвижение влияют на продажи товара?
  2. Сколько частей двигателя выйдет из строя в следующие два года?

4. Как это организовано?

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

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

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

5. Что мне теперь делать?

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

Алгоритмы подкрепления учатся по ходу дела. Они часто учатся на основе представленных примеров и обучения. Например, знаменитая AlphaGo много играла против самой себя, чтобы определить лучший ход (а).

В случае беспилотного автомобиля ему необходимо принять решение, остановиться или продолжить движение, когда он видит объект на дороге.

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

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

  1. Алгоритмы классификации:
  • Деревья решений, которые будут включать лес решений, джунгли решений и усиленное дерево решений.
  • Машины опорных векторов
  • Логистическая регрессия.

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

3. Алгоритмы регрессии.

  • Линейная регрессия
  • Лес решений и усиленное дерево решений.

4. Обнаружение аномалий

  • Опорные векторные машины
  • К-средние

Они охватывают 13 алгоритмов из 24, доступных на платформе машинного обучения Azure. Если позволит время, остальное я накрою.

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