Если у вас есть опыт работы с системой рекомендаций и вы подумали

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

тогда,

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

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

Но с появлением DeepLearning и экспоненциального роста онлайн-курсов DL многие люди, занимающиеся наукой о данных, убеждены в сверхмощности этих моделей, вдохновленных нейронами. Когда возникает проблема, они напрямую переходят в свою среду разработки Python и набирают. «импортировать тензорный поток как tf».

Поскольку последние методы рекламируются в новостях типа «X-модели превосходят человеческие, следовательно, используются компанией Y», мы заинтересованы в том, чтобы опробовать их. Но мы также упускаем из виду классические методы и исходные данные.

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

Просто говорю, что я не против NN или RL (на самом деле, большая часть моей работы сейчас находится в Deep RL). Да, они очень сильны. Фактически, я видел силу представления нейронных сетей даже для некоторых табличных данных (действительно потрясающе!). А также адаптируемость RL в случае холодного пуска.

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

Все это произошло однажды, когда я читал «Атомные привычки» Джеймса Клира. Да, вы не ослышались. Я думал о моделях машинного обучения, читая книгу о привычках по саморазвитию!

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

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

Итак, когда я читал о «Накоплении привычек» и «Эффекте Дидро», мне в голову пришла одна знакомая концепция. Да, это способ рекомендации «Часто покупаются вместе». Мы психологически привыкли фиксировать вещи, которые покупаются вместе (по порядку!). Таким образом, покупка одного товара автоматически вызывает у нас импульс искать следующий товар, который часто покупался вместе, потому что они входят в нашу процедуру покупки.

Это одна из основных причин, почему рекомендации «Часто покупаются вместе», какими бы простыми они ни были, каждый раз …… РАБОТАЕТ! особенно для таких доменов, как электронная коммерция и розничная торговля, где значительное количество товаров приобретается за один сеанс.

Попытка понять модель совместной покупки потребителей помогает нам понять психологию, лежащую в основе их предпочтений. Следовательно, мы можем рекомендовать более качественные товары (с большей прибылью!), Но не забрасывая их мусором. Я видел компании, которые в основном придерживались только одного часто покупаемого товара (может быть, из-за того, что средняя длина транзакции может составлять 2!). Но добыча более длинной цепочки из этих стеков предметов (да, я ее придумал!) Дала интересные идеи в одном из вариантов использования для моего клиента.

Классические методы, такие как Apriori, Frequent Pattern Growth, PrefixSpan, используются для майнинга этих частых и последовательных паттернов. Вы можете проверить этот интересный фреймворк под названием SPMF (Sequential Pattern Mining Framework). Кроме того, мы можем использовать расширенные структуры прогнозирования последовательности, такие как Compact Prediction Trees, HMM, RNNS, Transformers.

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

  1. Какие товары были проданы?
  2. Сколько товаров (в среднем) было куплено?
  3. Полезен ли майнинг этих наборов предметов для других вариантов использования ваших рекомендаций, таких как дополнительные продажи, перекрестные продажи и т. Д.?

Это интересный момент психологии соответствует ML. В конце концов, все наши модели машинного обучения пытаются уловить намерения / психику / выбор наших потребителей. Пытаясь соединить эти два мира вместе, я уверен, что мы получим больше возможностей как специалистов по данным / рассказчиков. Что вы думаете ?