Факторизационные модели, модели разложения матриц для коллаборативной фильтрации в рекомендательных системах. В презентации рассматриваются теоретические аспекты и алгоритмы.
С доклада на спецсеминаре "Machine Learning & Information Retrieval" в Школе Анализа Данных Яндекса.
4. Коллаборативная фильтрация
Имеются сведения вида: {(u, i, rui)}(u,i)∈R,
u — пользователь,
i — предмет,
rui — оценки, отклик (feedback) пользователя u на
предмет i,
R — множество пар пользователь/предмет, для которых
оценка известна,
R(u) = {i : (u, i) ∈ R}
Хотим:
предсказывать ˆrui ≈ rui,
рекомендовать i = arg maxi ˆrui,
оценивать похожесть предметов: sim(i1, i2),
обосновывать рекомендацию/предсказание
5. Модель SVD
ˆrui = µ + bu + bi
biases
+ pu, qi
personal
µ — общее смещение оценок, bu, bi — индивидуальные
смещения пользователей и предметов;
pu ∈ Rd — латентный вектор (профиль) пользователя u;
qi ∈ Rd — латентный вектор (профиль) предмета i;
d — ранг модели, длина латентных векторов.
Параметры модели: Θ = {pu, qi, bu, bi}
6. Обучение модели SVD
J(Θ) =
(u,i)∈R
l(ˆrui(Θui)) + Ω(Θui) → min
Θ
МНК:
J(Θ) =
(u,i)∈R
(rui − ˆrui)2
+ Ω(Θ)
МНК с нелинейным преобразованием:
J(Θ) =
(u,i)∈R
(rui − σ(ˆrui))2
+ Ω(Θ)
Классификация, ordinal regression, pairwise-ранжирование...
Регуляризация:
Ω(Θ) = λbias
u
b2
u +
i
b2
i + λuser
u
pu
2
+ λitem
i
qi
2
6
7. Визуализация профилей SVD в 2D
Профили треков/жанров из SVD для набора Yahoo! Music dataset
Linkin Park
Green Day
Nelly
Red Hot Chili Peppers
Missy Elliott Beyoncé
50 Cent
Mariah Carey
Aerosmith
Snoop Dogg
Jay-Z
U2
Metallica
Mary J. Blige
Coldplay
Janet Jackson
AC/DC
Madonna
Nirvana
Led Zeppelin
The Doors
Avril Lavigne
Bob Marley
Nine Inch Nails
Busta Rhymes
Pop
R&B
Rock
Soul
Adult Alternative
Classic Rock
Soft Pop
Rock Moderno
Latin
Electronic/Dance
Mainstream
Rap
Mainstream Pop
R&B Moderno
Hip-Hop
Jazz
Rap
Disco
-0.5
0.5
1.5
2.5
3.5
4.5
5.5
-4.2 -3.2 -2.2 -1.2 -0.2 0.8
Artists
Genres
Locality
extende
to the
similari
stated i
lems.
Neares
The p
is to fin
qi =
=
If all th
the pro
dot-pro
search i
tion, th
7
8. Низкоранговое представление матрицы
Пусть R ∈ Rn×m,
Если rank(R) = k, то найдутся X ∈ Rn×k, Y ∈ Rm×k, что
R = XY T
Если rank(R) > k, то низкоранговое приближение:
R ≈ XY T
R − XY T
F → minX,Y — матричное SVD разложение
8
9. Низкоранговое представление матрицы
Пусть R ∈ Rn×m,
Если rank(R) = k, то найдутся X ∈ Rn×k, Y ∈ Rm×k, что
R = XY T
Если rank(R) > k, то низкоранговое приближение:
R ≈ XY T
R − XY T
F → minX,Y — матричное SVD разложение
Матрица R не известна полностью — взвешенное
низкоранговое приближение:
i,j
wij(rij − xT
i yj)2
= W (R − XY T
) → min
X,Y
8
10. Проблемы низкорангового представления
Неоднозначность разложения матрицы
Для произвольной невырожденной матрицы A ∈ Rk×k:
R = XY T
= XAA−1
Y T
= (XA)(Y A−T
)T
Сложность взвешенного SVD1
rank(W ) = 1 ⇒ любой локальный оптимум является
глобальным
rank(W ) > 1 ⇒ много плохих локальных оптимумов
1
srebro2003weighted.
11. Мотивация низкоранговых приближений
Коллаборативная фильтрация — задача заполнения
матрицы (matrix completion)
Пусть имеется матрица M = (mij), известны некоторые
элементы {mij}(i,j)∈Ω, известен ранг матрицы rankM = r.
Theorem
Если Ω (известные элементы матрицы) взяты наугад,
выполняется
m ≥ Cn5/4
r log n
где m = |Ω|, то с вероятностью 1 − cn−3 log n все значения
матрицы M можно восстановить в точности и единственным
образом.2
2
candes2009exact.
12. Оптимизация модели: SGD
J(u,i)(Θui) = l(ˆrui(Θui)) + Ωui(Θui)
Алгоритм:
Совершать проходы по выборке (эпохи) до сходимости
Для каждого (u, i) ∈ R
Вычислить предсказание ˆrui при текущих параметрах Θui
Пересчитать параметры:
pnew
u = pu − η · l (ˆrui)∂ˆrui
∂pu
(Θui) + ∂Ωui
∂pu
qnew
i = qi − η · l (ˆrui)∂ˆrui
∂qi
(Θui) + ∂Ωui
∂qi
аналогично остальные параметры
Важен порядок элементов, поправка регуляризатора на
каждом шаге, много других «тюнингов» алгоритма....
11
13. Оптимизация модели: SGD
J(u,i)(bu, bi, pu, pi) = (rui−ˆrui)+λbias(b2
u+b2
i )+λuser pu
2
+λitem qi
2
ˆrui(bu, bi, pu, pi) = µ + bu + bi + pu, qi
Алгоритм:
Совершать проходы по выборке (эпохи) до сходимости
Для каждого (u, i) ∈ R
Вычислить предсказание ˆrui при текущих параметрах Θui
Пересчитать параметры:
eui = rui − ˆrui
pnew
u = pu − η · (euiqi + λuserpu + λbiasbu)
qnew
i = qi − η · (euipu + λitemqi + λbiasbi)
аналогично остальные параметры
Важен порядок элементов, поправка регуляризатора на
каждом шаге, много других «тюнингов» алгоритма....
11
14. Оптимизация модели: SGD
Особенности
Работает с любыми дифференцируемыми потерями
Можно делать нелинейное преобразование модели:
обучать ˆrui = f(µ + bu + bi + pu, qi )
Сходится за небольшое количество эпох (проходов по
обучающей выборки)
Техники обучения нейронных сетей3
Масштабирование
Задача не параллелится ⇒ мощная лошадка с большим
количеством памяти
Vowpal Wabbit4
умеет параллелить SGD и обучать SVD
3
bottou-91c.
4
https://github.com/JohnLangford/vowpal_wabbit
15. Оптимизация модели: ALS
Смещения (biases) опущены для наглядности.
(u,i)∈R
(rui − pT
u qi)2
+ λ
u
pu
2
+
i
qi
2
→ min
Θ
Зафиксируем {qi}, тогда оптимизация распадется на
независимые по пользователям задачи линейной регрессии:
u
i∈R(u)
(rui − pT
u qi)2
+ λ pu
2
→ min
{pu}
Настройка параметров путем последовательной
оптимизации по {pu} и {qi}
Хорошо масштабируется, даже на MapReduce
16. Выражение для обновления pu
Пусть зафиксированы профили предметов {qi}. Выражение
для оптимального вектора pu с точки зрения имеющейся
информации:
pu = (QT
u Qu + λI)−1
W u
QT
u ru
du
= W udu =
j∈R(u)
W uqjruj
Qu — матрица из qi таких что i ∈ R(u), ru — вектор
соответствующих оценок.
Способ быстро обновить / создать вектор профиля
пользователя.
Способ объяснить предсказание.
17. Объяснение предсказаний в SVD
ˆrui = qT
i pu =
j∈R(u)
qT
i W uqjruj =
j∈R(u)
ruj qi, qj W u
Матрица W u положительна, допускает разложение Холецкого:
W u = V T
u V u. Перепишем в виде:
ˆrui =
j∈R(u)
ruj V uqi, V uqj
simu(i, j) = qi, qj W u — персонализованная мера
схожести предметов;
V u — оператор предпочтения пользователя.
15
18. Неперсонализованная схожесть предметов
Пусть в нашей модели rui = 1 означает положительный отклик.
Представим пользователя, который оценил единственный
объект i: ri = 1. Оптимальный профиль такого пользователя:
p = (qT
i qi + λI)−1
qi
Выразим предсказание оценки для нового предмета j:
ˆrj = qT
j (qiqT
i + λI)−1
qi = {Sherman–Morrison formula} =
=
1
λ
1 −
qi
2
λ + qi
2
qj, qi
sim(i, j) ∝ qj, qi
Интерпретация sim(i, j): аффинность профилей предметов
пропорциональна предсказанию оценки пользователя,
поставившего только одну оценку.
16
19. Implicit SVD
u i
cui(rui − ˆrui)2
+ Ω(Θ) → min
Θ
Предположение:
cui = 1 и rui = 0, если (u, i) ∈ R
Эффективная оптимизация методом ALS:
pu = (QT
Cu
Q + λI)−1QT
Cu
ru
QT
Cu
Q = QT
Q + QT
(Cu
− I)Q
QT
Q предпосчитывается
(Cu
− I) содержит не более |R(u)| ненулевых элементов
Cu
ru содержит не более |R(u)| ненулевых элементов
Профит:
Работа не с оценками, а степенями уверенности:
полагаем rui = 0 — dislike, rui = 1 — like;
если (u, i) ∈ R, считаем что dislike с малой уверенностью
20. Быстрое построение списков рекомендаций
Задача Max Inner-product
fixed u : i arg max
i
qi, pu
неравенство треугольника не выполняется ни в какой
форме;
методы поиска ближайшего соседа не работают
arg minr∈S p − r 2
2 = arg maxr∈S p, r − 1
2 r 2
2
arg maxr∈S
q,r
q r = arg maxr∈S
q,r
r
стандартные LSH не работают с приемлемой точностью;
18
21. Быстрое построение списков рекомендаций
Задача Max Inner-product
fixed u : i arg max
i
qi, pu
Есть надежда: cone-trees5
аналог KD-tree для поиска max-inner;
branch-and-bound алгоритм, приближенная версия;
Replacing ωp and ωq with θp and θq by using the aforementioned equalities (similar to the techniques in
proof for theorem 3.1), we have:
q∗
, p∗
= q0, p0 + rprq cos(φ − (θp + θq)) + rp q0 cos(φ − θp) + rq p0 cos(φ − θq)
≤ max
rp,rq,θp,θq
q0, p0 + rprq cos(φ − (θp + θq)) + rp q0 cos(φ − θp) + rq p0 cos(φ − θq)
≤ max
rp,rq
q0, p0 + rprq + rq p0 + rp q0 (since cos(·) ≤ 1), (11)
≤ q0, p0 + RpRq + Rq p0 + Rp q0 , (12)
where the first inequality comes from the definition of max and the final inequality comes from the fact that
rp ≤ Rp, rq ≤ Rq.
For the dual-tree search algorithm (Alg. 6), the maximum-possible inner-product between two tree nodes
Q and T is set as
MIP(Q, T ) = q0, p0 + RpRq + Rq p0 + Rp q0 .
It is interesting to note that this upper bound bound reduces to the bound in theorem 3.1 when the ball
containing the queries is reduced to a single point, implying Rq = 0.
O
x
y
Figure 8: Cone-tree: These cones are open cones and only the angle made at the origin with the axis of
the cone is bounded for every point in the cone. The norms of the queries are not bounded at all.
5
ram2012maximum.
22. Вероятностные методы обучения SVD
Probabilistic Matrix Factorization (максимум правдоподобия)
Bayesian PMF (иерархический прайор)
MCMC оптимизаци, «стохастический ALS»
Matchbox
EP, VB и другие байесовские аппроксимации, реализовано
исключительно в Infer.NET
Профит: автоматическая подстройка гиперпараметров
UVj i
Rij
j=1,...,M
i=1,...,N
Vσ Uσ
σ
iY
Vj
Rij
j=1,...,M
Ui i
I
i=1,...,N
Vσ
Uσ
W
k=1,...,M
k
Wσ
σ
Figure 1: The left panel shows the graphical model for Probabilistic Matrix Factorization (PMF). The right
panel shows the graphical model for constrained PMF.
Bayesian Probabilistic Matrix Factorization using MCMC
UVj i
Rij
j=1,...,M
i=1,...,N
V U
α
α α
j
Rij
j=1,...,M
i=1,...,N
Vµ µ Ui
ΛU
µU
0ν , W0
µ0V0
VΛ
, W00ν
α
Figure 1. The left panel shows the graphical model for Probabilistic Matrix Factorization (PMF). The right panel shows
the graphical model for Bayesian PMF.19
24. Учет тегов в SVD
Пусть предметы имеют теги:
i → T(i) = {t1, t2, ...} ⊆ T
Учет тегов в модели: введем латентные вектора тегов
t → xt ∈ Rd.
ˆrui = µ + bu + bi + bt + pu, qi +
t∈T(i)
xt
Теперь не просто разложение матрицы, а продвинутая
модель данных.
Профили тегов берут на себя информацию, свойственную
группам предметов (имеющих один тег) ⇒ емкость модели
больше расходуется на извлечение индивидуальных
особенностей предметов.
21
25. Модель параметрического соседства
Parametric Neighborhood6
По аналогии с Item-based ˆrui = j∈Iu
sim(i, j)(ruj − ¯rj):
ˆrui = bui +
j∈R(u)
wij(ruj − buj)
6
koren2008factorization.
26. Модель параметрического соседства
Parametric Neighborhood6
По аналогии с Item-based ˆrui = j∈Iu
sim(i, j)(ruj − ¯rj):
ˆrui = bui +
j∈R(u)
wij(ruj − buj)
Asymmetric-SVD
Представим W = XT
Y , т.е. wij = xi, yj
ˆrui = bui + xT
i
j∈R(u)
(ruj − buj)yj
6
koren2008factorization.
27. SVD++ и соседство
SVD++7
ˆrui = bui + qT
i
pu +
j∈R(u)
(ruj − buj)yj
Integrated model
ˆrui = bui + qT
i
pu +
j∈R(u)
(ruj − buj)yj
+
j∈Rk(i;u)
wij(ruj − buj)
Rk(i; u) = Rk(i) ∩ R(u), где Rk(i) — k наиболее похожих
на i предмета, относительно внешней меры похожести.
7
Шаманские нормировочные коэффициенты перед суммами опущены
28. Integrated model with implicit feedback
Обозначим N(u) — множество предметов, с которыми
взаимодействовал пользователь u, но не поставил оценку.
ˆrui = µ + bu + bj+
qT
i
pu +
j∈R(u)
(ruj − buj)yj +
j∈N(u)
xj
+
j∈Rk(i;u)
wij(ruj − buj) +
j∈Nk(i;u)
cij
Модель, которая «выиграла» Netflix Prize8.
8
bell2008bellkor.
29. Таксономия в SVD
Рассмотрим задачу рекомендации музыкальных треков,
альбомов и исполнителей9.
Треки, альбомы и артисты являются предметами в модели
type(i) ∈ {track, album, artist}
album(i) — предмет, являющийся альбомом предмета i
artist(i) — предмет, являющийся артистом предмета i
˜bui = µ + bu + bu,type(i) + bi + balbum(i) + bartist(i)
˜qi = qi + qalbum(i) + qartist(i)
ˆrui = ˜bui + pu, ˜qi
9
koenigstein2011yahoo.
31. Учет таксономии + сессий
Совместим модель сессий пользователей и таксономии в
предметах. Для наглядности опустим смещения.
ˆrui = pu + pu,s, qi + qalbum(i) + qartist(i)
ˆrui = pu, qi + pu, qalbum(i) + pu, qartist(i) +
pu,s, qi + pu,s, qalbum(i) + pu,s, qartist(i)
32. Учет таксономии + сессий
Совместим модель сессий пользователей и таксономии в
предметах. Для наглядности опустим смещения.
ˆrui = pu + pu,s, qi + qalbum(i) + qartist(i)
ˆrui = pu, qi + pu, qalbum(i) + pu, qartist(i) +
pu,s, qi + pu,s, qalbum(i) + pu,s, qartist(i)
Больше специфичных задач
Больше накруток модели
Меньше работы
27
34. Factorization Machines
Факторизационные машины10 предложены как универсальная
модель предсказания, иммитирующая многие из известных
моделей коллаборативной фильтрации.
ˆy(x) = w0 +
p
j=1
wjxj +
p
j=1
p
j =j+1
xjxj vj, vj
x ∈ Rp — вектор-признак объекта
ˆy(x) — предсказание
w0, w, V = (v1, . . . , vp) — параметры модели
10
rendle2012factorization.
35. Factorization Machines: SVD
(u, i) → x, ˆy(x) = w0 + wu + wi + vu, vi
Time-aware Factorization Models Factorization Machines
on to Large Categorical Domains
Movie Rating
Titanic 5
Notting Hill 3
Star Wars 1
Star Wars 4
Star Trek 5
e Titanic 1
e Star Wars 5
. . . . . .
1 0 0 ...
1 0 0 ...
0 1 0 ...
0 1 0 ...
0 0 1 ...
1
0
0
0
1
0
1
0
0
0
0
0
1
0
0
0
0
0
1
0
...
...
...
...
...
0 0 1 ... 0 0 1 0 ...
A B C ... TI NH SW ST ...
x(1)
x(2)
x(4)
x(5)
x(6)
x(7)
Feature vector x
User Movie
1 0 0 ... 0 0 1 0 ...x(3)
5
3
4
5
1
5
Target y
y(1)
y(2)
y(4)
y(5)
y(6)
y(7)
1 y(3)
g regression models to this data leads to:
ar regression: ˆy(x) = w0 + wu + wi
30
36. Factorization Machines: Feature Engineering
orization Machines with libFM
1. Example (from Rendle [2010]) for representing a recommender problem with real valued
rs x. Every row represents a feature vector xi with its corresponding target yi. For easier inte
the features are grouped into indicators for the active user (blue), active item (red), other movie
he same user (orange), the time in months (green), and the last movie rated (brown).
31
37. Factorization Machines: иммитация SVD++
ˆy(x) = ˆy(u, i, {l1, . . . , lm}) =
SVD++
w0 + wu + wi + vu, vi +
1
m
m
j=1
vi, vlj
FPMC
+
+
1
m
m
j=1
wlj
+
1
m
m
j=1
vu, vlj
+
1
m2
m
i=1
m
j >j
vlj
, vlj
32
38. Какие модели может иммитировать FM
SVD
Pairwise interaction tensor factorization
SVD++, FPMC
BPTS, TimeSVD
NN
SVM with Polynomial kernel
Attribute-aware models
Однако, иммитация FM как правило содержат слагаемые,
которых нет в оригинальных моделях.
40. High-order Factorization Machines
d-order factorization machine:
ˆy(x) = w0 +
p
j=1
wjxj +
p
j=1
p
j =j+1
xjxj vj, vj +
+
d
l=2
p
j1=1
· · ·
p
jd=jd−1
l
i=1
xjl
kl
f=1
l
i=1
vjl,f
Зависимости между 3, 4... видами сущностей
FM в режиме d > 2 никто не использовал
Для моделирования зависимостей между 3, 4... видами
сущностей используют низкоранговые тензорные
разложения
41. Оптимизация FM
SGD
ALS
ALS1 + кэширование ошибки
MCMC (стохастическая версия ALS)
SGD, ALS1 для блочной структуры данных
Реализация: libFM (http://libfm.org/)
42. Блочная структура данных
Данные часто имеют реляционную структуру
!
"
#
# $
!
%&
'(&
&"%&
!
Figure 1: Example database from a movie commu-
nity.
metho
ables
of this
tor va
x ∈ R
with m
to m n
2(c) s
data o
each r
as a m
trix.
dimen
for bin
In g
gorith
design
many37