Основа построения вашей первой модели машинного обучения

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

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

Следуйте за Крисом в твиттере

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

Что такое модель машинного обучения?

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

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

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

Самая простая составленная таблица выше - это то, что наш алгоритм может использовать для построения своей модели. Глядя на наличие (1) или отсутствие (0) определенной особенности на каждом изображении, алгоритм решает, насколько вероятно, что на изображении изображен барсук или здание.

Более наглядный пример?

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

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

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

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

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

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

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

Он все еще выше, но теперь между группами намного больше совпадений. Насколько уверенно вы бы классифицировали пациента с концентрацией TGF-β 20 нг / мл?

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

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

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

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

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

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

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

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

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

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

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

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

Если вы занимаетесь рекламой с оплатой за клик и когда-либо использовали стратегию автоматического назначения ставок, такую ​​как Google Реклама "Максимальное количество конверсий", вы использовали машинное обучение.

Прочтите Создание собственной модели маркетингового машинного обучения

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

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

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

Переменными-предикторами для модели автоматизации ставок PPC могут быть такие вещи, как тип устройства, браузер, операционная система, были ли они предыдущим посетителем, каков был поисковый запрос, широкое или точное соответствие и т. Д. Эти переменные входят в модель, и она решает, будут они преобразованы или нет. Если он думает «да», он будет показывать рекламу, если он думает «нет», нет.

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

Забрать домой сообщения

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

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

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

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

Следуйте за Крисом в твиттере