Матричная факторизация — один из наиболее часто используемых алгоритмов совместной фильтрации для рекомендательных систем. Эта серия алгоритмов раньше была основным алгоритмом, используемым в рекомендательных системах, и до сих пор используется во многих местах. Вот краткое изложение идей от самого простого алгоритма матричной факторизации (MF) до основанной на нем вероятностной матричной факторизации (PMF).Алгоритмы рекомендаций — алгоритмы рекомендаций, основанные на матричной декомпозициииВероятностная декомпозиция матрицыэти два блога.
Matrix Factorization
Проще говоря, MF можно рассматривать как идею решения проблем под руководством модели скрытых факторов, которая на самом деле является ответвлением метода совместной фильтрации. Автор представил в предыдущей статьеМетод совместной фильтрации.
В методе совместной фильтрации мы упомянули о существовании матрицы предпочтений пользователя. Основная идея латентной факторной модели состоит в том, чтобы думать, что существуют некоторые невидимые скрытые переменные, которые представляют предпочтения пользователя, предпочтения пользователя могут быть полностью представлены этими скрытыми переменными, и эти скрытые переменные также могут определять предпочтения пользователя в отношении элементов. Это выражается в матрице предпочтений пользователя, то есть мы можем разложить матрицу предпочтений пользователя на произведение двух матриц.
Предположим, у нас естьпользователи,Предметы,Скрытая переменная, используется матрица предпочтений пользователя.Представлять,Матрица, представляющая пользователя и скрытый фактор,Матрица, представляющая элемент и скрытый фактор. В предположении модели скрытых факторов алгоритм матричной факторизации может быть выражен как. В частности, длякаждый из, оба,Сейчас.
Когда мы решим эту задачу, функция потерь будет
,
Найдите отрицательный градиент функции потерь, затем
Используя эти две формулировки отрицательного градиента, мы можем выполнить матричную факторизацию, используя градиентный спуск.
Probabilistic Matrix Factorization
Выше приведен базовый алгоритм MF.PMF добавляет функцию вероятности Гаусса к MF.Цель добавления этой функции - решить проблему, заключающуюся в том, что пользователям с небольшим количеством баллов трудно получить точные результаты, то есть решить проблему холодного запуска пользователя. . Он превращает приведенную выше формулу в условное распределение на основе матрицы наблюдения:
вявляется индикаторной функцией, которая равна 1, когда пользователь i оценивает элемент j слишком высоко, и 0 в противном случае. Интуитивно это означает, что наблюдения имеют гауссовский шум относительно предпочтений пользователя.В то же время предполагается, что априорное распределение характеристик пользователей и элементов выглядит следующим образом:
Тогда их совместное апостериорное распределение можно выразить как:
в,постоянная,являются гипотетическими гиперпараметрами, поэтому максимизация этого апостериорного эквивалентна минимизации: в,.Фактически используемый в исходной статье метод более сложен, поскольку добавляется сигмовидная функция:
Оценка гиперпараметра
Если кто-то хочет оценить U, V и гиперпараметры одновременно, апостериорное выше становится
Максимальная апостериорная оценка в это время решается алгоритмом ЕМ.