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

Вы когда-нибудь заблудились в каталоге фильмов Netflix, а затем наткнулись на очень точное предложение фильма? Или, может быть, вы просматривали страницу на Amazon, и ваше внимание привлек рекомендованный продукт — то, о чем вы не подозревали до этого момента. Если вам когда-либо было интересно узнать о невидимой силе, которая направляет ваш опыт в Интернете, позвольте мне познакомить вас с захватывающим миром систем рекомендаций.

"Без больших данных вы слепы и глухи посреди автострады". — Джеффри Мур

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

Есть несколько способов выполнить эту задачу.

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

В современном мире ИИ реализованы сложные алгоритмы и системы. Давайте изучим их особенности:

Изучение правил ассоциации

Walmart и отношения между подгузниками и пивом

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

История с пивом и подгузником в Walmart, несмотря на то, что она может стать городской легендой, служит убедительным примером силы интеллектуального анализа данных и систем рекомендаций, которые компании используют для понимания и влияния на поведение потребителей. Согласно статье из The Register (Oates, 2006), история гласит, что Walmart, объединив данные своих карт лояльности и систем точек продаж, обнаружил неожиданную корреляцию: в пятницу после обеда молодые американцы, купившие подгузники, также склонялся к покупке пива. Это неожиданное открытие привело к тому, что Walmart разместил пиво рядом с подгузниками, что, как сообщается, увеличило продажи пива. Однако в статье также отмечается, что конкретика этой истории, циркулирующей с 1992 года, может быть не совсем точной и может быть скорее «застольной басней» или аллегорией.

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

На первый взгляд это может показаться странным, но при ближайшем рассмотрении в этом есть смысл. Вечер пятницы часто ассоциируется с тем, что родители делают покупки после работы на выходных. Новоиспеченные родители могли покупать подгузники для своих детей, в то время как отцы, которым, вероятно, было поручено заботиться о ребенке, пока мама делала покупки, брали пиво для себя. Следовательно, эти два несвязанных продукта часто покупали вместе по пятницам. Но что более удивительно, эта история восходит к 1992 году (упоминается в статье Forbes в 1998 году), когда данных было меньше, и это не было «хайпом».

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

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

Что такое априорный алгоритм и как он работает?

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

Поддержка:

Он измеряет частоту или изобилие элемента/набора элементов в наборе данных.

Поддержка набора элементов (который может быть одним элементом или комбинацией элементов) рассчитывается следующим образом:

Поддержка (X, Y) = Частота (X, Y) / N

Support(X, Y) = количество транзакций, в которых появляются X и Y / общее количество транзакций

Например, если у нас есть 100 транзакций и набор элементов {Пиво, подгузники} появляется в 10 из них, поддержка для {Пиво, подгузники} будет:

10/100 = 0.1 or 10%.

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

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

Вот где вступают в действие такие показатели, как уверенность и рост.

Уверенность:

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

Достоверность правила X -> Y (где X и Y — наборы элементов) рассчитывается следующим образом:

Достоверность (X, Y) = Частота (X, Y) / Частота (X)

Уверенность (X, Y) = количество транзакций, в которых появляются X и Y / количество транзакций, в которых появляется X

Например, если у нас есть правило, согласно которому при покупке пива подгузники также покупаются {Пиво -> Подгузники}, и мы знаем, что поддержка {Пиво, подгузники} равна 0,1, а поддержка {Пиво} — 0.2, то достоверность правила {Пиво -> Подгузники} будет:

0.1 / 0.2 = 0.5 or 50%.

В контексте анализа потребительской корзины высокое значение достоверности для правила {X -> Y} будет означать, что существует высокая вероятность того, что Y будет куплено, когда будет куплено X. Однако важно отметить, что это не подразумевает причинно-следственную связь или даже сильную связь. Элементы могут иметь высокую достоверность, но низкий рост (о чем я объясню в следующем абзаце). Это может произойти, если Y является популярным товаром, который часто покупают, независимо от того, покупается X или нет.

Подъем:

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

Подъем правила X -> Y (где X и Y — наборы элементов) рассчитывается следующим образом:

Подъем = Поддержка (X, Y) / (Поддержка (X) * Поддержка (Y))

Подъем = вероятность того, что X и Y произойдут вместе / вероятность того, что X и Y произойдут независимо

Проще говоря, рост — это мера вероятности того, что товар Y будет куплен, когда будет куплен товар X, принимая во внимание популярность товара Y. Другими словами, он говорит нам, насколько более вероятно, что товар Y будет куплен, когда куплен X. , по сравнению с тем, когда Y покупается случайным образом.

В контексте анализа потребительской корзины:

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

Если подъем меньше 1, товары вряд ли будут куплены вместе.

Если прирост равен 1, это говорит нам о том, что вероятность появления элемента Y не зависит от появления элемента X. Другими словами, товары X и Y, скорее всего, будут покупаться вместе так же часто, как и по отдельности.

Например, если подъем {Подгузники} -> {Пиво} равен 2, это означает, что вероятность покупки пива и подгузников вместе в 2 раза выше, чем вероятность покупки только пива.

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

Вот пошаговое объяснение того, как работает алгоритм Априори:

  1. Установить минимальную поддержку и достоверность. Алгоритм Apriori использует минимальный порог поддержки, чтобы исключить наборы элементов из рассмотрения. Это связано с тем, что наборы элементов с низкой поддержкой либо бесполезны, либо могут привести к ложным ассоциациям из-за случайной вероятности появления элементов вместе.
  2. Возьмите все транзакции. Алгоритм начинается с создания таблицы частоты всех элементов, которые встречаются во всех транзакциях.
  3. Создание списка отдельных элементов. Затем алгоритм создает список с этими элементами и их частотой появления во всех транзакциях.
  4. Выберите значимые элементы: элементы, частота появления которых меньше порогового значения (минимальной поддержки), исключаются. Это связано с тем, что если элемент не соответствует минимальному порогу поддержки, его комбинации с другими элементами также, вероятно, будут ниже порога.
  5. Формирование комбинаций. Затем алгоритм формирует возможные комбинации двухэлементных элементов из оставшихся элементов в списке.
  6. Исключать элементы с низкой частотой возникновения. Любые комбинации, не соответствующие минимальному порогу поддержки, исключаются.
  7. Повторите процесс. Этот итерационный процесс формирования комбинаций и исключения тех, которые встречаются редко, продолжается до тех пор, пока не перестанут формироваться дальнейшие комбинации в рамках ограничений минимальной поддержки.
  8. Правила формы. Когда все комбинации найдены, формируются правила ассоциации.

Рассмотрим простой пример:

Предположим, у нас есть небольшой продуктовый магазин и у нас есть запись из 5 транзакций:

  1. Хлеб, Молоко
  2. Хлеб, Подгузник, Пиво, Яйца
  3. Молоко, подгузник, пиво, кока-кола
  4. Хлеб, Молоко, Подгузник, Пиво
  5. Хлеб, Молоко, Подгузник, Кола

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

  1. Сначала мы создаем частотную таблицу всех элементов. Затем мы исключаем те элементы, которые не соответствуют нашей минимальной поддержке в 60%. При этом все элементы соответствуют минимальной поддержке.
  2. Далее мы создаем список возможных комбинаций двухэлементных элементов: {Хлеб, Молоко}, {Хлеб, Подгузник}, {Хлеб, Пиво}, {Хлеб, Яйца}, {Хлеб, Кола}, {Молоко, Подгузник}, {Молоко, Пиво}, {Молоко, Яйца}, {Молоко, Кола}, {Памперс, Пиво}, {Памперс, Яйца}, {Памперс, Кола}, {Пиво, Яйца}, {Пиво, Кола}, {Яйца , кока-кола}.
  3. Затем мы исключаем комбинации, которые не соответствуют нашей минимальной поддержке в 60%. Остальные комбинации: {Хлеб, Молоко}, {Хлеб, Подгузник}, {Молоко, Подгузник}, {Хлеб, Пиво}, {Молоко, Пиво}, {Подгузник, Пиво}, {Хлеб, Кола}, {Молоко, Кола}, {Подгузник, Кола}.
  4. Мы продолжаем этот процесс для комбинаций элементов из трех элементов до тех пор, пока не будут сформированы дальнейшие комбинации, отвечающие минимальной поддержке.
  5. Наконец, мы формируем правила из оставшихся комбинаций элементов. Например, из комбинации {Хлеб, Молоко} мы можем образовать два правила: «Если Хлеб, то Молоко» и «Если Молоко, то Хлеб». Мы рассчитываем достоверность этих правил и оставляем только те, которые соответствуют нашей минимальной достоверности 80%.

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

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

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

Использованная литература:

Форбс. (1998). Заблуждение интеллектуального анализа данных. Форбс. Получено с https://www.forbes.com/forbes/1998/0406/6107128a.html?sh=6fffeff86260

Оутс, Дж. (2006). Пиво и подгузники? Разоблачение розничного мифа. Регистр. Получено с https://www.theregister.com/2006/08/15/beer_diapers/

Intellipaat. (н.д.). Априорный алгоритм в науке о данных. Получено 26 июля 2023 г. с https://intellipaat.com/blog/data-science-apriori-algorithm/?US#3.