Как Goose Factory анализирует, что вам нравится?

программист алгоритм Тенсент Гибкая разработка

Автор: Сюй Конг, Хуан Цзюнь | Старший научный сотрудник отдела эксплуатации социальных сетей Tencent

Открытая общая система рекомендаций Tencent Aegis обычно преобразует проблему рекомендации в проблему классификации, в то время как для сценария рекомендации списка проблема рекомендации больше похожа на проблему ранжирования. В этой статье будет представлен метод Pairwise, сочетающий технологию ранжирования и алгоритм рекомендаций, а также его конкретная реализация — алгоритм Pairwise Ranking Factorization Machines (PRFM), а также будет рассказано о применении алгоритма PRFM в сценарии рекомендации потоков анимации QQ для мобильных устройств для тех, кто хочет для применения этого алгоритма в других сценариях студенческий справочник.

1 Обзор

В настоящее время алгоритм в рекомендации Aegis в целом формализует проблему рекомендации как задачу бинарной классификации: возьмем в качестве примера анимационную рекомендацию, как показано на рисунке ниже, для пользователя и набора выставленных им элементов клик считается в качестве положительного образца (метка = 1), не нажатого в качестве отрицательного образца (метка = 0), можно построить обучающую выборку, состоящую из и метки, для обучения модели бинарной классификации.

Этот метод называется точечным методом, то есть модель учитывает только независимую оценку каждого на этапе обучения параметрам, и цель состоит в том, чтобы сделатьВсе положительные образцы получили более высокие баллы, чем отрицательные.. Как показано в примере на приведенном выше рисунке, цель обучения метода Pointwise: оценки модели для , , выше, чем у , Яошэнь Цзи>, .

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

Метод Pairwise, представленный в этой статье, устраняет недостатки метода Pairwise.Обучающие выборки состоят из троек , гдеЭлемент 1 — это элемент, на который нажал пользователь, а элемент 2 — элемент, на который пользователь не нажал.. Парный подход фокусируется наОпределите, удовлетворяет ли пара элементов отношению последовательности(то есть, выше ли оценка , чем оценка ). Как показано на рисунке ниже, цель парного метода на этапе обучения модели: набирают больше, чем , набирают больше, чем , набрал больше очков, чем .

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

Как сочетание обучения технологии ранжирования и алгоритма рекомендательной системы, метод Pairwise в последние годы привлек пристальное внимание и исследования академических кругов и промышленности. Алгоритм Pairwise Ranking Factorization Machines (PRFM), представленный в этой статье, представляет собой конкретную реализацию метода Pairwise.Мы внедрили алгоритм PRFM в рекомендации Aegis и применили его к сцене рекомендации потока веб-каналов домашней страницы анимации QQ для мобильных устройств. По сравнению с алгоритмом Pointwise FM, использующим те же функции,Алгоритм PRFM обеспечивает относительное улучшение примерно на 5 % в показателе кликабельности uv..

Примечание: BlackWidow: алгоритм PRFM, материал Feeds cascade_900: алгоритм точечного FM

2. Детали алгоритма машин факторизации с парным ранжированием (PRFM)

Как и точечный метод, парный метод может выбирать разные модели для оценки , такие как LR, FM и т. д. Поскольку FM-модель может сэкономить трудоемкость LR-модели при разработке признаков, а практика показала, что FM с использованием исходных признаков может достигать лучших онлайн-результатов, чем настроенный вручную LR (см.Поточечный алгоритм FM), поэтому мы выбираем модель FM в качестве формулы оценки. С точки зрения построения образца, для каждого пользователя может быть создано множество пар элементов для получения образцов экземпляров . Если рассматривать все экземпляры выборки, выборки будут слишком большими для обучения.Стратегия, которую мы используем для этого: Для каждого пользователя случайным образом выбираются 100 пар элементов.

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

— это вектор признаков, состоящий из пользовательских признаков, свойств элемента, контекстных признаков и т. д.)

в

параметры, подлежащие обучению. Функция потерь, используемая при обучении параметрам, определяется как:

3. Автономный индекс оценки и настройка параметров алгоритма сортировки

В отличие от проблемы классификации с использованием AUC в качестве индекса оценки, обычно используемые индикаторы оценки, используемые для измерения эффективности ранжирования, в основном включают точность при k, MAP (средняя средняя точность) и NDCG (нормализованный дисконтированный кумулятивный прирост) при k. Ниже мы кратко представим определения и методы расчета этих показателей на примере (в списке выставленных элементов, показанном на рисунке ниже, зеленым цветом представлены элементы, на которые нажал пользователь, а серым цветом представлены элементы, на которые пользователь не нажал ).

Precision at k: (Prec@k)

Доля элементов, на которые нажали пользователи, среди первых k элементов в списке. Чем больше значение, тем выше качество рекомендации. В приведенном выше примере Prec@5 = 2/5 = 0,4 для списка (a) и Prec@5 = 1/5 = 0,2 для списка (b). Точность при k может быть рассчитана для каждого пользователя, а точность при k набора пользователей получается путем усреднения всех пользователей.

MAP (mean average precision):

Его можно рассматривать как расширенную версию Precision at k. В расчет показателя добавляется позиция элемента, на который нажал пользователь в списке, чем больше значение, тем выше качество рекомендации. AP (средняя точность) относится к нахождению Точности k один раз в месте k элемента, который щелкнул каждый пользователь, а затем к нахождению среднего значения. Например, АР=(1/2+2/4)/2=0,5 в списке (а), АР=(1/4+2/7)/2=0,268 в списке (б), видно, что от Precision at С точки зрения 10 нет разницы между списками (а) и (б), но с точки зрения АР список (а) лучше, чем список (б). Точно так же AP может быть рассчитан для каждого пользователя, а MAP набора пользователей может быть получен путем усреднения всех пользователей.

NDCG (Normalized Discounted Cumulative Gain) at k: (NDCG@k)

Расчет NDCG при k более сложен и здесь подробно не рассматривается.Заинтересованные студенты могут обратиться кРасчет NDCG. Проще говоря, при расчете NDCG элементы, на которые кликнул пользователь, отображаются выше в списке и считаются более ценными, что согласуется с идеей MAP.

Зная метрики автономной оценки алгоритма, мы можем настроить его параметры. иПоточечный алгоритм FMТочно так же алгоритм PRFM может настраивать следующие параметры: стандартное отклонение нормального распределения (init_std), коэффициент регуляризации (reg) и размерность скрытого вектора (фактор), используемые при инициализации параметров модели. На следующем рисунке показан пример настройки потока фидов анимации QQ для мобильных устройств.По результатам настройки мы решили использовать следующие параметры: init_std=0,005, reg=0,0001, factor=100.

Примечание. Оранжевое поле представляет скорректированные параметры, а зеленое поле представляет максимальное значение каждого индикатора.

4. План улучшения алгоритма

Как упоминалось выше, метод построения выборки алгоритма PRFM заключается в следующем:Случайно выбранных100 пар элементов , но исследования показали, что использование различных стратегий выборки может улучшить производительность модели (см. ссылку 1). Например: для каждого пользователя отсортируйте пары элементов в соответствии с разницей между позициями элемента 1 и элемента 2 в списке экспозиции от большего к меньшему и возьмите первые 100. Идея этой стратегии выборки заключается в следующем: чем больше разница между позициями элемента 1 и элемента 2 в списке экспозиции, это означает, что в этой паре элементов элементы, на которые нажал пользователь, ранжируются позже, чем элементы что пользователь не щелкнул, т.е. порядок в списке неправильный, и модель необходимо обучить на этих парах элементов. В будущем мы попробуем различные стратегии выборки в рекомендациях Aegis, а затем поделимся опытом с вами. Заинтересованные студенты могут исследовать вместе с нами!

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

  1. бумага ПРФМ (мой .net/papers/lamb…)
  2. Индекс оценки сортировки (spark.apache.org/docs/2.2.0/…)