Система рекомендаций, углубленный анализ документов GBDT+LR

алгоритм

Сегодня мы разберем классическую работу: «Практические уроки прогнозирования кликов по рекламе в Facebook». Из названия статьи видно, что ее автором являетсяКоманда рекламы в Facebook. Это метод, который объединяет модель GBDT и LR в прогнозировании кликабельности рекламы.Хотя прошло несколько лет, метод, описанный в этой статье, все еще не полностью устарел, и некоторые небольшие компании все еще используют его.

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

Эта статья немного длинная, рекомендуется сначала прочитать ее.

Введение

В начале статьи кратко рассказывается о состоянии рекламы в интернет-индустрии того времени и о масштабах Facebook в то время.В то время у Facebook было 750 миллионов активных пользователей в день (ежедневно активных пользователей) и более миллиона эффективных рекламодателей. Поэтому для Facebook важно выбрать правильную и эффективную рекламу для показа пользователям. На этой основе был внедрен инновационный подход Facebook, то есть комбинация GBDT и модели логистической регрессии позволила получить более 3% дохода в сценариях с реальными данными.

В 2007 году Google и Yahoo предложили механизм взимания платы за рекламу для онлайн-торгов, но сценарии Facebook и поисковых систем различны: в сценарии поисковых систем у пользователей будут четкие поисковые намерения. Механизм сначала отфильтрует объявления в соответствии с поисковым намерением пользователя, поэтому набор объявлений-кандидатов не будет очень большим. Но у Facebook нет такой информации о сильных намерениях, поэтомуКандидаты на Facebook имеют гораздо большее количество рекламы, поэтому давление и требования к системе тоже выше.

Но в этой статье (статье) не обсуждается содержание, связанное с системой,Сосредоточьтесь только на последней части модели ранжирования. Хотя это не упоминается в документе, мы можем видеть, что реклама в поисковых системах, таких как Google и Yahoo, является поисковой рекламой, а эта реклама в Facebook является рекомендованной рекламой. Самая большая разница между последним и первым заключается в том, что логика отзыва рекламных объявлений отличается, что чем-то похоже на разницу между рекомендательной системой и поисковой системой.

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

конкретные методы

После болтовни давайте посмотрим на конкретный метод.Многие студенты, возможно, слышали о конкретном методе, которым является метод GBDT+LR. Она вроде бы закончена в одном предложении, но деталей в ней много. Например, зачем использовать GBDT, почему GBDT работает? Какой механизм здесь работает? Содержание, написанное в статье, является лишь поверхностным, а осмысление и анализ этих деталей является ключевым. Потому что практика в статье не универсальна, но содержащаяся в ней правда часто универсальна.

Прежде всего, давайте поговорим об оценке моделей.В статье представлены два новых метода оценки моделей. одинNormalized Entropy, другойCalibration. Начнем с оценки модели.

Normalized Entropy

Этот индикатор довольно часто используется в реальных сценариях и часто встречается в кодексах и документах различных великих богов. Дословно переведено значение нормализованной энтропии, смысл немного изменился, его можно понимать какКросс-энтропия после нормализации. Он рассчитывается из отношения средней кросс-энтропии выборок к кросс-энтропии фонового CTR.

Фоновый CTR относится к эмпирическому CTR образцов набора обучающих выборок, который можно понимать как средний рейтинг кликов. Но здесь следует отметить, что это не соотношение положительных и отрицательных образцов. Потому что мы все делаем перед обучением моделивыборка, таких как выборка по соотношению положительных и отрицательных выборок до 1:3, фоновый CTR здесь должен быть установлен на соотношение перед выборкой. Предположим, что это отношение равно p, тогда мы можем написать формулу для NE:

здесьЗначение, то есть клик равен +1, а отсутствие клика — -1. Это формула в статье.На практике мы обычно пишем 1 для клика и 0 для показа (без клика).

Calibration

Калибровка переводится как калибровочная шкала, но здесь, я думаю, ее следует понимать как отклонение от эталонной линии. Этот индикаторОтношение среднего CTR, предсказанного моделью, к фоновому CTR, чем ближе это отношение к 1, тем меньше отклонение базовой линии нашей модели и тем ближе она к реальной ситуации.

Эта формула может быть записана как:

AUC

AUC — это клише, как и нашаНаиболее часто используемые индикаторы в отрасли, почти ничего. AUC, который мы представили в предыдущих статьях, представляет собой Aera-Under-ROC, то есть область, ограниченную кривой ROC. Кривая ROC представляет собой кривую, состоящую из TPR (истинно положительных результатов) и FPR (ложноположительных результатов). Чем больше площадь этой кривой, тем сильнее способность модели различать положительные и отрицательные образцы.В сценарии ранжирования CTR самое главное не то, может ли модель точно предсказывать, а способность отфильтровывать положительные образцы являются наиболее важными.Причина, почему AUC так важен.

Но AUC не лишен недостатков, и один из недостатков указан в статье. Например, если мы возьмем все предсказанные моделью CTR x2, а затем умножим все предсказанные результаты на 0,5 для калибровки, AUC все равно не изменится. Но если мы посмотрим на NE, NE вырос.

Комбинированная модель

Это, наконец, главное событие.Хотя в этой статье говорится о многих других аспектах, мы все знаем, что в центре ее внимания находится GBDT+LR. Мы все знакомы с GBDT и LR, но как они сочетаются друг с другом?

На самом деле сам вопрос некорректен.GBDT+LR не является комбинацией двух моделей, а преобразование характеристик. Другими словами, нам нужно думать с точки зрения функций, а не моделей.

В статье сначала говорилось о двух часто используемых методах обработки объектов.Первый из них называется bin, которыйведрозначение. Например, доход, который является непрерывной характеристикой. Если мы поместим это в модель, то, что модель узнает, будет одним из ее весов, что означает, что она действует линейно. Однако в реальных сценариях это может быть вовсе не линейно. Например, бренды, предпочитаемые богатыми, могут полностью отличаться от брендов бедных, и мы хотим, чтобы модель учитывала нелинейные эффекты. Лучший способ -Эта функция искусственно разделена на сегментыНапример, в зависимости от дохода годовой доход составляет менее 30 000 юаней, от 30 000 до 100 000 юаней, от 100 000 до 500 000 юаней и от 500 000 юаней и более. В какое ведро попадает, значение какого ведра помечается как 1, в противном случае помечается как 0.

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

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

Вот почему существует GBDT+LR, давайте посмотрим на эту картинку:

Давайте кратко рассмотрим модель GBDT, сначалаGBDT — это модель леса, состоящая из нескольких деревьев.. Для каждой выборки она попадет на один из конечных узлов каждого поддерева во время предсказания. Итак, мы можем использовать GBDT для отображения объектов, давайте посмотрим на пример:

В приведенном выше примере GBDT имеет всего 3 поддерева, а первое поддерево имеет 3 листовых узла. Наша выборка попадает в первую, поэтому горячий результат, соответствующий первому поддереву, равен [1, 0, 0], второе поддерево также имеет 3 узла, и выборка попадает во второй узел, поэтому один- результат of hot равен [0, 1, 0]. Точно так же результат третьего поддерева равен [0, 0, 1, 0].

Таким образом, мы окончательно объединяем векторы этих деревьев вместе и получаем новый вектор: [1, 0, 0, 0, 1, 0, 0, 0, 1, 0],Этот вектор является входом в нашу модель LR..

Давайте проанализируем детали, сначала внесем ясность,GBDT используется только для преобразования и обработки признаков, результаты его прогнозирования не важны.. Используя GBDT, мы выполнили две только что упомянутые операции одновременно.Он не только преобразует непрерывные функции в дискретные, но также автоматически завершает пересечение функций.. Потому что для каждого поддерева это на самом деле дерево решений, реализованное алгоритмом CART, то есть ссылка от корня к конечному узлу представляет собой потенциальное правило. Таким образом, мы можем аппроксимировать это как использование GBDT вместо ручного извлечения правил и обработки признаков.

результат

Наконец, давайте посмотрим на результаты.В оригинальной статье были проведены три набора экспериментов, а именно, только LR, только GBDT и GBDT+LR для сравнения. Стандартом измерения является соответствующий NE.Принимая в качестве эталона только деревья с наибольшим NE, можно обнаружить, что NE группы GBDT+LR уменьшилась на 3,4%.

Вклеиваем результаты в бумагу:

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

данные в реальном времени

В дополнение к инновациям в моделях и функциях в этом документе исследуется роль своевременности данных.

Чтобы проверить взаимосвязь между свежестью данных и производительностью модели, в документе был выбран фрагмент данных для обучения моделей только деревьев и GBDT + LR, а затем использовались эти две модели для прогнозирования от 1 до 6 дней. позже. , изобразите общую ситуацию на графике:

На этом графике горизонтальная ось — это количество дней между данными прогноза и данными обучения, а вертикальная ось — северо-восток модели. Чем ниже NE, тем лучше эффект модели.Из приведенного выше рисунка видно, что результат шестого дня примерно на 1% отличается от NE 0-го дня. Это также означаетПросто поддерживая актуальность данных, мы можем получить улучшение на 1%.. Именно поэтому крупные компании проводят онлайн-обучение.

online learning

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

временное окно

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

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

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

Архитектура

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

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

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

Здесь также задействована деталь, то есть как мы относимся в столяре? Поскольку у пользователя могут быть данные о просмотре рекламы несколько раз, одна и та же реклама может также обновляться и просматриваться несколько раз. Поэтому невозможно напрямую связать идентификатор пользователя или идентификатор рекламы.Нам также нужен идентификатор, связанный со временем. Этот идентификатор называется requestid,Каждый раз, когда пользователь обновляет страницу, requestid обновляется., чтобы мы могли гарантировать, что даже если пользователь обновит страницу, мы сможем правильно связать данные.

Характеристики

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

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

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

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

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

Анализ важности

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

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

Кроме того, в работе также обсуждается влияние отрицательной понижающей выборки (negative Sample) и субдискретизации (subsampling) на производительность модели. вПодвыборка доказывает, что объем обучающих данных и эффект модели, как правило, пропорциональны, то есть чем больше объем обучающих данных, тем лучше эффект модели.. Отрицательная выборка также полезна для улучшения эффекта модели, что также является обычным методом в текущих сценариях рекламы и рекомендаций.

Вот и все, что касается сегодняшней статьи, и я искренне желаю вам удачи каждый день. Если вам все еще нравится сегодняшний контент, пожалуйста, зайдите на одинТройная поддержкабар~(Нравится, подписывайтесь, делайте репост)

Оригинальная ссылка, обратите внимание

В этой статье используетсяmdniceнабор текста