Первоначально опубликовано на www.dataday.life 22 декабря 2017 г.

Если не просто… «машинное обучение»… что делать, чтобы охватить все основы и убедиться, что процесс завершен и приносит пользу?

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

Бизнес-метрика

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

Иначе как вы узнаете, что это «сработало»?

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

Старайтесь не получать высокоуровневых ответов вроде «Мы хотим увеличения продаж». Хорошо. Что ж. Разве мы не все?

Чем более конкретные и определенные бизнес-показатели могут быть выбраны руководством, тем лучше. «Мы хотим увидеть 10-процентное увеличение продаж [некоторого продукта] среди клиентов, которым мы напрямую рекламируем эксклюзивную скидку на [этот продукт]». Она гораздо более конкретна, измерима, целенаправленна и четко определена, чем первая «цель», не так ли? С помощью этого заявления мы могли бы работать над созданием модели машинного обучения для классификации клиентов, которые с большей вероятностью положительно отреагируют на нашу рекламу. В конце концов, мы можем оглянуться назад на клиентов, которых мы предсказывали, и посмотреть, существует ли разница 1) и 2) может ли она быть обоснованно связана с работой нашей модели машинного обучения.

Смешивать

Дополнительные данные. Это всегда кажется ответом на наши проблемы с предсказаниями, не так ли?

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

Вы можете использовать здесь слово «интегрировать», если хотите. Дело в том, что вы собираете данные из нескольких источников, чтобы получить наиболее полную картину того, что вы анализируете и прогнозируете.

Проводить исследования

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

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

Вычислить сводную статистику.

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

Используйте несколько видов визуализации, чтобы получить представление о «форме» ваших данных.

Чистый

Данные беспорядочны (практически всегда).

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

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

Трансформировать

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

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

Например, предположим, что два набора данных содержат столбец с именем «Состояние». В первом значения выглядят так:

Во втором значения выглядят так:

  • Оклахома
  • Нью-Йорк
  • Флорида

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

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

Особенности инженера

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

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

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

Выберите функции

Не все функции созданы равными.

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

С этим, конечно, можно (и нужно) экспериментировать. Но в какой-то момент вам нужно выбрать наиболее важные функции.

Модель поезда

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

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

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

Оценивать

Насколько хорошо работает обученная модель? Чтобы знать, вам нужно оценить результаты.

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

Регрессия

Развертывать

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

Разместите его там, и пусть он начнет создавать ценность, предоставляя полезную информацию.

Проверять

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

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

Если это так, отлично! Если это не так, закройте его!

В обоих случаях заключительный этап:
Промойте и повторите.

Сделайте все это снова, чтобы улучшить существующую модель или создать совершенно новую.

Первоначально опубликовано на www.dataday.life 22 декабря 2017 г.

Эндрю Бэнкрофт — автор нескольких курсов по iOS/Swift на Pluralsight. Он регулярно ведет блоги на www.andrewcbancroft.com и www.dataday.life, увлечен обучением и открытиями и с удовольствием делится новыми идеями с другими. Эндрю пишет в Твиттере о разработке программного обеспечения и данных как @andrewcbancroft.