WEEK17 Система рекомендаций 1

искусственный интеллект

Что такое рекомендательная система

• Рекомендательная система – это система фильтрации информации.

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

• Генеральный директор Amazon Бесос сказал: «Если у нас будет 1 миллион пользователей, мы предоставим им 1 миллион веб-сайтов Amazon.

Эксплуатировать и исследовать проблему

• Выберите ресторан:

• Эксплуатация: пойти в любимый ресторан

• Исследование: попробуйте новые рестораны

• Просмотр содержимого:

• эксплуатация: витрина прошлых интересов

• Разведка: отображение разнообразных контент

• Он-лайн реклама:

• Эксплуатация: показ лучшей рекламы

• Исследование: покажите несколько разных объявлений.

В рекомендательной системе это называется EE (exploit-explore) проблема. Дословный перевод эксплойта — майнинг, использование известных и относительно определенных интересов пользователя, а затем рекомендация соответствующего контента. Буквальный перевод explore — исследование, за исключением рекомендации известные пользователи, которые заинтересованы в том, чтобы постоянно изучать другие интересы пользователей, в противном случае рекомендуемые результаты будут одинаковыми взад и вперед.

На самом деле подобных сценариев и проблем в рекомендательных системах много:

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

· Предположим, у нас есть несколько рекламных ресурсов. Как узнать, какую рекламу показывать каждому пользователю, чтобы получить максимальный доход от кликов? Это тот, который работает лучше всего каждый раз? Так как же новая реклама вышла на первый план?

· Инженер-алгоритм разрабатывает новую модель. Есть ли более быстрый способ, чем A/B-тестирование, определить, какая модель более надежна, чем старая?

· Если вы продолжите рекомендовать товары, которые, как известно, интересуют пользователей, это может привести к тому, что диапазон предпочтений пользователя (поле зрения) станет все уже и уже.

Каковы показатели оценки рекомендательных систем?

Показатели оценки:

NE**, нормализованная кросс-энтропия**

NE = прогнозируемая средняя логарифмическая потеря для каждого полученного времени представления, деленная на среднее значение логарифмической потери всего набора данных

Опытный средний CTR p, репрезентативный для обучающих данных, т. е. фоновый CTR, NE нечувствителен к фоновому CTR, чем меньше значение, тем лучше эффект предсказания NE

Calibration

Расчетный CTR, разделенный на фактический CTR, который представляет собой отношение прогнозируемых кликов к фактическим кликам. Чем ближе значение к 1, тем лучше прогноз.

AUC

Хороший показатель качества сортировки, но его нельзя откалибровать, то есть если мы хотим получить точное расчетное соотношение, а не оптимальный результат сортировки, то нужно использовать NE или Calibration

Например, оценочное значение модели вдвое превышает фактическое значение, которое будет улучшено для NE. В настоящее время оно умножается на 0,5 для калибровки. Но останется прежним для AUC

True Positive Rate

Среди всех образцов с истинным классом 1 доля предсказанного класса 1

False Positive

Среди всех образцов с истинным классом 0 доля предсказанного класса 1

Кривая ROC, горизонтальная ось — FPRate, вертикальная ось — TPRate

AUC = площадь под ROC-кривой

Рекомендательная системная архитектура

Рекомендательная система – это система фильтрации информации.

Aисточник данных--

особенности предметов, портреты пользователей, поведение пользователей

BЭтап отзыва -

Грубое сито, чтобы получить набор элементов-кандидатов

CЭтап сортировки -

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

Принцип GBDT+LR

Для задачи оценки CTR фон, предложенный алгоритмом GBDT+LR:

Количество выборок велико, а обучающие выборки в модели оценки рейтинга кликов могут достигать сотен миллионов уровней.

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

Стоимость труда высока.Чтобы лучше выполнять извлечение признаков и улучшить обучаемость LR, необходимо использовать ручную разработку признаков, то есть находить отличительные признаки и комбинации признаков вручную. Высокие требования к людям и большие временные затраты

Принцип алгоритма:

Практические уроки прогнозирования кликов по рекламе в Facebook, 2014 г. (Документ по прогнозированию CTR для Facebook Classic)

qui no Nero.net/publication…

Модель двухклассового классификатора с идеей суммирования для решения проблемы двух классов

Функции объединяются с помощью GBDT, а затем передаются линейному классификатору.

LR классифицирует входные данные, созданные GBDT (использует регуляризацию L1 для предотвращения переобучения)

Принцип повышения градиента

Gradient Boosting Decision Tree

• Дерево решений регрессии

GBDT состоит из нескольких деревьев регрессии CART, и результаты всех деревьев суммируются как окончательный результат.

Целью подбора GBDT является значение градиента (непрерывное значение, действительное число), поэтому в GBDT это дерево регрессии.

GBDT используется для прогнозирования регрессии, а также может использоваться для классификации после корректировки.

• Усиление градиента

Повышение, итерация, то есть совместное принятие решений путем итерации по нескольким деревьям.

Функция потерь используется для оценки производительности модели (обычно степень соответствия + обычный член). Лучший способ - позволить функции потерь спускаться по направлению градиента.

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

например, реальный возраст А составляет 24 года, первое дерево предсказывает 18 лет, а остаток равен 6 => Второе дерево устанавливает возраст А равным 6 и продолжает учиться, второе дерево предсказывает 5, а остаток равен 1 = > третье дерево имеет остаток 1 в качестве цели предсказания

Построение новых функций с использованием GBDT

Построение новой функции с использованием GBDT:

Когда GBDT обучен делать прогнозы, выходом является не окончательное значение вероятности двух классов, а положение конечного узла, которому принадлежит прогнозируемое значение вероятности, рассчитанное каждым деревом в модели, которое должно быть записано как 1 => построить новые тренировочные данные

На правом рисунке есть 2 дерева решений с 5 листовыми узлами.

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

GBDT представляет собой комбинацию группы деревьев, при условии, что имеется k деревьев (T1, T2...Tk), количество узлов в каждом дереве равно , GBDT выводит размерный вектор

Сумма важности всех признаков равна 1.

Функции TOP10 составляют 50% важности, а последние 300 функций — 1% важности.

Накопление большого количества слабых признаков также важно и не может быть устранено. Если удалить некоторые неважные функции, влияние на модель будет относительно небольшим.