Принцип GBDT+LR
Принцип алгоритма:
Практические уроки прогнозирования кликов по рекламе в Facebook, 2014 г. (Документ по прогнозированию CTR для Facebook Classic)
Модель двухклассового классификатора с идеей суммирования для решения проблемы двух классов
Функции объединяются с помощью 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 выводит размерный вектор
Показатели оценки NE, Калибровка, AUC
NE**,**Normalized Cross-Entropy
NE = средняя прогнозируемая потеря журнала на показ, деленная на среднюю потерю журнала по всему набору данных.
p представляет средний эмпирический CTR обучающих данных, то есть фоновый CTR. NE нечувствителен к фоновому CTR. Чем меньше значение NE, тем лучше эффект прогнозирования.
Calibration
Расчетный CTR, разделенный на фактический CTR, который представляет собой отношение прогнозируемых кликов к фактическим кликам. Чем ближе значение к 1, тем лучше прогноз.
AUC
Хороший показатель качества сортировки, но его нельзя откалибровать, то есть если мы хотим получить точное расчетное соотношение, а не оптимальный результат сортировки, то нужно использовать NE или Calibration
Например, оценочное значение модели вдвое превышает фактическое значение, которое будет улучшено для NE. В настоящее время оно умножается на 0,5 для калибровки. Но останется прежним для AUC
Расчет TPRate, FPRate
Кривая ROC, горизонтальная ось — FPRate, вертикальная ось — TPRate
AUC = площадь под ROC-кривой
Если TPRate=FPRate, то есть y=x, то есть является ли реальный класс выборкой 1 или 0, вероятность того, что классификатор предсказывает 1, равна
Классификатор не может различать положительные и отрицательные образцы, в настоящее время AUC=0,5.
Если TPRate>FPRate, то есть y>x, то есть AUC>0,5, имеет классификационную способность.В крайних случаях AUC=0, в это время TPRate=1, FPRate=0, то есть прогноз положительного образцы правильны, а отрицательные образцы ошибочно классифицируются как 0
Широкая и глубокая модель
Wide & Deep
• Глубокая рекомендация
Функции, используемые моделью Deep: непрерывные функции, дискретные функции после внедрения,
Используя сетевую модель с прямой связью, объекты сначала преобразуются в низкоразмерные плотные векторы в качестве входных данных для первого скрытого слоя для решения проблемы взрыва размерности.
Обратные обновления тренировок на основе окончательного проигрыша. Вектор инициализируется случайным образом, а функция активации скрытого слоя обычно использует ReLU
Функции, используемые широкой моделью: комбинированные функции, сгенерированные с помощью Cross Product Transformation, но не могут изучить комбинированные функции, которые не отображаются в обучающем наборе.
Широкое соединение Глубокое одновременное обучение
Wide join Deep
Преобразование кросс-продукта для X
Вектор весов, представляющий модель Wide
Вектор весов, представляющий модель Deep
Представляет окончательный результат числа нейронной сети, b — это частичное
модель FNN
• Модель FNN
Большинство функций в CTR являются дискретными, многомерными и разреженными, и их необходимо внедрить, прежде чем можно будет выполнять глубокое обучение.
Используйте FM для инициализации слоя встраивания, то есть каждый признак соответствует термину смещения и k-мерному вектору.
• Большинство функций в CTR являются дискретными, многомерными и разреженными, и их необходимо внедрить, прежде чем можно будет выполнять глубокое обучение.
Используйте FM для инициализации слоя встраивания, то есть каждый признак соответствует термину смещения и k-мерному вектору.
модель NFM
модель NFM
FNN, Wide & Deep, DeepFM находятся в части DNN, объединяют функции после встраивания и не выполняют полностью перекрестный расчет функций.
Алгоритм NFM напрямую использует поэлементное умножение вложений и добавляет их как перекрестные функции, а затем напрямую сжимает функции через DNN и, наконец, объединяет функции линейной части и глубокой части.
Два способа объединения FM и DNN: DeepFM, NFM
Два способа объединения FM и DNN:
DeepFM, параллельная структура, FM и DNN рассчитываются отдельно
NFM, последовательная архитектура, принимает результат FM в качестве входных данных DNN.