Мягкое введение в методы матричной факторизации в рекомендательных системах, включая FunkSVD, SVD ++ и неотрицательную матричную факторизацию

Вступление

RS - это сопоставление элементов с пользователями. Отправной точкой является матрица «пользователь-элемент», заполненная значениями, представляющими либо явную обратную связь (рейтинги пользователей), либо неявную обратную связь (количество кликов, количество посещений, время просмотра и т. Д.). Можно также сформулировать этот вопрос как проблему заполнения матрицы: учитывая известные записи в матрице пользовательских элементов, как заполнить недостающие записи с учетом всех видов ограничений?

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

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

Функ-СВД

Funk-SVD приписывается Саймону Функу в призовом конкурсе Netflix. Примечание: строго говоря, СВД в названии некорректно. SVD как в линейной алгебре сильно отличается от матричной факторизации, как сделано здесь, поймите, почему путаница.

Он преобразует матрицу пользовательских элементов в произведение двух матриц более низкого ранга следующим образом:

Где R - это приблизительная матрица оценок из m строк и n столбцов, U - матрица пользовательских факторов, в нем есть строка для каждого пользователя (так называемый фактор пользователя uᵢ), Vᵀ - матрица фактор-элемент, в нем есть столбец для каждого элемента (так называемый фактор элемента vⱼ)

Поэтому предположим, что скрытый размер равен k, любой рейтинг в R приблизительно равен скалярному произведению:

Обратите внимание, что U имеет размеры (m, k), а V имеет размеры (n, k).

Как мы можем определить U и V? Мы можем решить это как проблему оптимизации (включая регуляризацию, чтобы избежать переобучения или экстремальных значений в U и V), как и многие проблемы машинного обучения.

Эту проблему можно решить стандартным способом с помощью SGD, вычислив производную от J по отношению к пользовательскому коэффициенту uᵢ и коэффициенту элемента vⱼ соответственно.

СВД ++

SVD ++ - это расширение Funk-SVD для включения данных неявной обратной связи.

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

Теперь давайте посмотрим, как мы можем получить матрицу неявной обратной связи F из явной матрицы оценок R:

где мы просто присваиваем 1, если рейтинг присутствует независимо от его значения, иначе 0. Затем мы нормализуем тождества, чтобы L2-норма каждой строки была равна 1.

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

Теперь восстановленная матрица R имеет вид:

который содержит дополнительный компонент, представленный неявной матрицей F, и сопутствующую матрицу неявных факторов элемента Y, которую SGD должен узнать из данных.

Обратите внимание, что F имеет те же размеры, что и R для (m, n), а Y - (n, k), то же самое, что и V, явная матрица факторов-элементов.

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

Способ изучения U, V и Y такой же, как и в Funk-SVD, просто теперь у нас есть больше параметров, дополнительная матрица Y для изучения.

Неотрицательная матричная факторизация

NMF похож на Funk-SVD, за исключением того, что теперь у нас есть дополнительные ограничения для U ›0 и V› 0, которые требуют, чтобы все элементы в матрице пользовательского фактора и элемента-фактора всегда были положительными.

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

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

Заключительные слова

Модели со скрытыми факторами очень эффективны для кодирования пользователей и элементов в скрытом пространстве. Как указывает Иегуда Корен в своей статье [1]:

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

Как и во многих случаях, золотая середина находится где-то посередине, сочетая лучшее из обоих миров.

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

[1] Факторизация встречает соседство: многогранная модель совместной фильтрации, Иегуда Корен, 2008 г.