Введение
Факторизация — один из самых важных методов прогнозирования рейтинга кликов при построении системы рекомендаций.
Имея данные о пользовательском рейтинге элемента и вспомогательной функции, мы можем затем предсказать рейтинг, который пользователь присвоит другим элементам.
Принцип
Форма данных
X представляет каждую строку данных и имеет соответствующую целевую скорость y.
Каждая строка данных содержит различные типы информации об объектах.
Синее поле представляет собой однократный вектор идентификатора пользователя, оранжевый — однозначный вектор идентификатора элемента, а оставшиеся элементы можно рассматривать как вспомогательные функции.
Уравнение модели
Xi означает, что значение содержится в векторе.
Wi означает соответствующий вес.
y – рейтинг, предсказанный моделью.
Vi – это вектор встраивания Xi.
Интуитивно понятный способ понять физический смысл уравнения модели — это машина факторизации, встраивающая каждую из входных функций в векторное пространство и вычисляющая внутренний продукт каждой пары вложенных функций (скрытый фактор).
Выполняя эту операцию, модель может научиться предсказывать рейтинг по корреляции каждой функции, а также самой функции с ее весом.
Почему машина факторизации
Другой способ построить систему рекомендаций по идентификатору пользователя с идентификатором элемента для рейтинга — это факторизованная матрица с ALS (чередование наименьших квадратов), которая полезна, если мы хотим реализовать совместный фильтр и фильтр на основе ранжирования.
Однако есть проблема под названием «холодный старт», когда мы обучаем модель только с пользовательским рейтингом, и решение заключается в добавлении вспомогательного признака к обучающим данным.
Факторизованная машина может учитывать дополнительную функцию, чтобы сформулировать скрытый фактор. Если мы знаем, какой новый элемент мы хотим добавить, мы можем в некоторой степени решить проблему холодного запуска.
С машиной факторизации у нас есть более общий способ решения такого рода проблем, мы также можем рассматривать факторизованную матрицу как подмножество факторизованной машины, и мы можем применять более высокий уровень взаимодействия, если мы хотим, чтобы наша модель была более сложной.
ссылка: https://www.csie.ntu.edu.tw/~b97053/paper/Rendle2010FM.pdf