Наука о данных - Брендан Тирни
Шрифт:
Интервал:
Закладка:
‹6›. Burt, Andrew. 2017. «Is There a ‘Right to Explanation’ for Machine Learning in the GDPR?» https://iapp.org/news/a/is-there-a-right-to-explanation-for-machine-learning-in-the-gdpr/.
Одним из важнейших навыков специалиста по данным является способность сформулировать насущную проблему как стандартную задачу науки о данных. Большинство проектов в этой области можно отнести к одному из четырех основных классов задач:
• кластеризация (или сегментация);
• обнаружение аномалий (или выбросов);
• поиск ассоциативных правил;
• прогнозирование (включая подзадачи классификации и регрессии).
Понимание того, на какую задачу нацелен проект, облегчит принятие многих проектных решений. Например, для обучения модели прогнозирования требуется, чтобы каждый из объектов в наборе данных содержал значение целевого атрибута, а это, в свою очередь, дает ориентиры (через запросы) с точки зрения проектирования набора данных. Понимание задачи также определяет, какие алгоритмы машинного обучения использовать. Существует множество алгоритмов машинного обучения, и каждый предназначен для конкретной задачи глубинного анализа данных. Например, алгоритмы, генерирующие модели дерева решений, в первую очередь предназначены для решения задач прогнозирования. Каждой задаче соответствует множество алгоритмов машинного обучения, поэтому знание задачи определяет не конкретный алгоритм, а их набор. Поскольку задача влияет как на структуру набора данных, так и на выбор алгоритмов машинного обучения, определиться с ее типом необходимо на раннем этапе жизненного цикла проекта, в идеале — на этапе понимания бизнес-целей CRISP-DM. Чтобы лучше понять типы задач, ниже мы покажем, как некоторые стандартные проблемы бизнеса соотносятся с ними.
Распространенная область применения науки о данных в бизнесе — поддержка маркетинговых кампаний и продаж. Разработка целевой маркетинговой кампании требует понимания целевого клиента. Круг клиентов большинства предприятий довольно широк, в нем присутствуют потребители с разными предпочтениями и запросами, поэтому подход «один размер для всех», скорее всего, окажется провальным. Правильнее будет определить количество клиентских профилей, каждый из которых описывает значительный сегмент клиентской базы, а затем разработать целевые маркетинговые кампании для каждого. Эти профили могут быть созданы вручную с привлечением опыта в предметной сфере, но, как правило, наилучшим решением будет создать их на основе данных, которые бизнес накопил о своих клиентах. Интуиция зачастую может пропустить важные неочевидные моменты или не обеспечить требуемый для тонкой маркетинговой настройки уровень детализации. Например, Браун сообщает, что в одном проекте науки о данных известный стереотип о маме футболиста (домохозяйке из пригорода, которая много времени посвящает тому, чтобы возить детей на футбольные тренировки) не нашел соответствия в клиентской базе. Однако при использовании процесса кластеризации, основанного на данных, были выявлены более сфокусированные профили, такие как матери, работающие полный рабочий день вне дома с маленькими детьми в детском саду, или матери старшеклассников, которые работают неполный рабочий день, или женщины без детей, которые заинтересованы в здоровом питании. Эти клиентские профили определяют более четкие цели для маркетинговых кампаний и могут выявить неизвестные сегменты в базе клиентов.
Стандартный наукоемкий подход к этому типу анализа состоит в том, чтобы сформулировать проблему как задачу кластеризации. Кластеризация включает в себя сортировку объектов в наборе данных на подгруппы по принципу схожести. Кластеризация обычно проводится аналитиком, который вводит произвольное значение количества подгрупп, после чего алгоритм создает их путем объединения объектов на основе сходства значений их атрибутов. Затем эксперт в данной области определения просматривает полученные кластеры, чтобы понять, являются ли они значимыми. В контексте разработки маркетинговой кампании такой обзор нужен, чтобы проверить, насколько адекватно клиентские профили отражают действительность, или выявить новые профили, которые ранее не рассматривались.
Диапазон атрибутов, которые можно использовать для описания клиентов в процессе кластеризации, огромен, но есть наиболее типичные: демографическая информация (возраст, пол и т. д.), место жительства (почтовый индекс, адрес и т. д.), транзакционная информация, например какие продукты или услуги приобретал клиент, доход, который компания получает от него, как долго он является клиентом, участвует ли в программах лояльности, возвращал ли когда-нибудь продукт или жаловался на услугу и проч. Как и во всех проектах науки о данных, в кластеризации одна из самых больших проблем — определить, какие атрибуты должны быть включены, а какие исключены, чтобы добиться наилучших результатов. Принятие решения о выборе атрибутов основано на итерациях экспериментов, их анализе специалистом и пересмотре результатов каждого проекта.
Наиболее известным алгоритмом машинного обучения для кластеризации является метод k-средних. Буква k в названии указывает количество кластеров, которые алгоритм ищет в данных. Значение k задается заранее и часто устанавливается экспериментальным путем, методом проб и ошибок. Алгоритм k-средних предполагает, что все атрибуты, описывающие клиентов в наборе данных, являются числовыми. Если набор данных содержит нечисловые атрибуты, то они должны быть соотнесены с числовыми значениями для использования метода k-средних, иначе потребуется другой алгоритм. Данный алгоритм рассматривает каждого клиента как точку в облаке точек (или в диаграмме рассеяния), где позиция клиента определяется значениями атрибутов в его профиле. Цель алгоритма — найти положение центра каждого кластера в облаке точек. Задавая количество k кластеров, мы задаем и количество кластерных центров (или средних), отсюда и название алгоритма.
Алгоритм работает, выполняя двухэтапный процесс: сначала каждый объект назначают ближайшему к нему кластерному центру, а затем обновляют этот центр таким образом, чтобы он оказался в середине назначенных ему объектов. Процесс начинается с выбора k объектов, которые будут действовать в качестве начальных кластерных центров. В настоящее время для выбора начальных кластерных центров оптимальным является так называемый алгоритм k-средних++. Логическое обоснование его использования состоит в максимально возможном распределении исходных кластерных центров. Первый центр устанавливается путем выбора случайного объекта в наборе данных. Второй, третий (и последующие) центры кластеров — путем выбора объектов с вероятностью, пропорциональной квадрату расстояния от ближайшего существующего кластерного центра. Как только все k кластерных центров инициализированы, происходит первая итерация назначения объектов ближайшему центру. После этого центры перемещаются так, чтобы совпасть с центром назначенных им объектов. Перемещение кластерных центров сместит их ближе к одним объектам и отодвинет от других, в том числе и от объектов, им назначенных. Затем объекты переназначаются снова ближайшему обновленному кластерному центру. Некоторые объекты останутся назначенными одному и тому же центру, другие могут быть переназначены новому. Этот процесс назначения объектов и обновления центра продолжается до тех пор, пока при очередной итерации никакие объекты не будут переназначены новому кластерному центру. Алгоритм k-средних недетерминирован, т. е. разные начальные позиции кластерных центров, вероятно, будут давать и разные кластеры. В результате алгоритм обычно запускается несколько раз, а затем результаты этих прогонов сравниваются, чтобы увидеть, какие кластеры выглядят наиболее адекватными с учетом предметной области и ее понимания специалистом по данным.