SlideShare a Scribd company logo
1 of 43
Download to read offline
Факторизационные модели в
рекомендательных системах
Петр Ромов
15 октября 2013 г.
1
План
Факторизационные модели
Модель SVD
Сложные модели предпочтения
Factorization Machines
Outline
Факторизационные модели
Модель SVD
Сложные модели предпочтения
Factorization Machines
Коллаборативная фильтрация
Имеются сведения вида: {(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),
обосновывать рекомендацию/предсказание
Модель SVD
ˆrui = µ + bu + bi
biases
+ pu, qi
personal
µ — общее смещение оценок, bu, bi — индивидуальные
смещения пользователей и предметов;
pu ∈ Rd — латентный вектор (профиль) пользователя u;
qi ∈ Rd — латентный вектор (профиль) предмета i;
d — ранг модели, длина латентных векторов.
Параметры модели: Θ = {pu, qi, bu, bi}
Обучение модели 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
Визуализация профилей 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
Низкоранговое представление матрицы
Пусть 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
Низкоранговое представление матрицы
Пусть 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
Проблемы низкорангового представления
Неоднозначность разложения матрицы
Для произвольной невырожденной матрицы A ∈ Rk×k:
R = XY T
= XAA−1
Y T
= (XA)(Y A−T
)T
Сложность взвешенного SVD1
rank(W ) = 1 ⇒ любой локальный оптимум является
глобальным
rank(W ) > 1 ⇒ много плохих локальных оптимумов
1
srebro2003weighted.
Мотивация низкоранговых приближений
Коллаборативная фильтрация — задача заполнения
матрицы (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.
Оптимизация модели: 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
Оптимизация модели: 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
Оптимизация модели: SGD
Особенности
Работает с любыми дифференцируемыми потерями
Можно делать нелинейное преобразование модели:
обучать ˆrui = f(µ + bu + bi + pu, qi )
Сходится за небольшое количество эпох (проходов по
обучающей выборки)
Техники обучения нейронных сетей3
Масштабирование
Задача не параллелится ⇒ мощная лошадка с большим
количеством памяти
Vowpal Wabbit4
умеет параллелить SGD и обучать SVD
3
bottou-91c.
4
https://github.com/JohnLangford/vowpal_wabbit
Оптимизация модели: 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
Выражение для обновления 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 — вектор
соответствующих оценок.
Способ быстро обновить / создать вектор профиля
пользователя.
Способ объяснить предсказание.
Объяснение предсказаний в 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
Неперсонализованная схожесть предметов
Пусть в нашей модели 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
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 с малой уверенностью
Быстрое построение списков рекомендаций
Задача 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
Быстрое построение списков рекомендаций
Задача 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.
Вероятностные методы обучения 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
Outline
Факторизационные модели
Модель SVD
Сложные модели предпочтения
Factorization Machines
Учет тегов в SVD
Пусть предметы имеют теги:
i → T(i) = {t1, t2, ...} ⊆ T
Учет тегов в модели: введем латентные вектора тегов
t → xt ∈ Rd.
ˆrui = µ + bu + bi + bt + pu, qi +
t∈T(i)
xt
Теперь не просто разложение матрицы, а продвинутая
модель данных.
Профили тегов берут на себя информацию, свойственную
группам предметов (имеющих один тег) ⇒ емкость модели
больше расходуется на извлечение индивидуальных
особенностей предметов.
21
Модель параметрического соседства
Parametric Neighborhood6
По аналогии с Item-based ˆrui = j∈Iu
sim(i, j)(ruj − ¯rj):
ˆrui = bui +
j∈R(u)
wij(ruj − buj)
6
koren2008factorization.
Модель параметрического соседства
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.
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
Шаманские нормировочные коэффициенты перед суммами опущены
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.
Таксономия в 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.
Пользовательские сессии
Предположение: поведение пользователя слегка меняется во
время различных посещений.
s — номер сессии
˜bu = bu + bu,s
˜pu = pu + pu,s
26
Учет таксономии + сессий
Совместим модель сессий пользователей и таксономии в
предметах. Для наглядности опустим смещения.
ˆ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)
Учет таксономии + сессий
Совместим модель сессий пользователей и таксономии в
предметах. Для наглядности опустим смещения.
ˆ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
Outline
Факторизационные модели
Модель SVD
Сложные модели предпочтения
Factorization Machines
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.
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
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
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
Какие модели может иммитировать FM
SVD
Pairwise interaction tensor factorization
SVD++, FPMC
BPTS, TimeSVD
NN
SVM with Polynomial kernel
Attribute-aware models
Однако, иммитация FM как правило содержат слагаемые,
которых нет в оригинальных моделях.
Свойства
Мультилинеарность по параметрам
ˆy(x; θ) = gθ(x) + θhθ(x)
Выражение для быстрого подсчета ˆy(x):
ˆy(x; Θ) = w0 + wT
x +
1
2
K
k=1


p
i=1
vikxi
2
−
p
i=1
v2
ikx2
i


34
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... видами
сущностей используют низкоранговые тензорные
разложения
Оптимизация FM
SGD
ALS
ALS1 + кэширование ошибки
MCMC (стохастическая версия ALS)
SGD, ALS1 для блочной структуры данных
Реализация: libFM (http://libfm.org/)
Блочная структура данных
Данные часто имеют реляционную структуру




































 
 
 
 
  
 
 
  
! 


  
 " 
 # 
 # $
! 

 
 %&
 '(&
 &"%&
! 

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
Блочная структура данных























































































































































































































































































































Figure 3: (a) In relational domains, design matrices X have large blocks of repeating patterns (example from
Figure 2). (b) Repeating patterns in X can be formalized by a block notation (see section 2.3) which stems
directly from the relational structure of the original data. Machine learning methods have to make use of
repeating patterns in X to scale to large relational datasets.
to process feature vectors in the original space, i.e. by con-
catenating the vectors (eq. 1) – not even on-the-fly. On-the-
where λl ∈ R+ is a predefined regularization constant for the
l-th model parameter and ei = yi − ˆy(xi) is the i-th residual























































































































































































































































































































igure 3: (a) In relational domains, design matrices X have large blocks of repeating patterns (example from
igure 2). (b) Repeating patterns in X can be formalized by a block notation (see section 2.3) which stems
irectly from the relational structure of the original data. Machine learning methods have to make use of
epeating patterns in X to scale to large relational datasets.
37

More Related Content

What's hot

Лекция №14. Графы: кратчайшие пути и максимальные потоки. Предмет "Структуры ...
Лекция №14. Графы: кратчайшие пути и максимальные потоки. Предмет "Структуры ...Лекция №14. Графы: кратчайшие пути и максимальные потоки. Предмет "Структуры ...
Лекция №14. Графы: кратчайшие пути и максимальные потоки. Предмет "Структуры ...Nikolay Grebenshikov
 
Мезенцев Павел - Машинное обучение на MapReduce
Мезенцев Павел - Машинное обучение на MapReduceМезенцев Павел - Машинное обучение на MapReduce
Мезенцев Павел - Машинное обучение на MapReducePavel Mezentsev
 
Лекция №6 "Линейные модели для классификации и регрессии"
Лекция №6 "Линейные модели для классификации и регрессии" Лекция №6 "Линейные модели для классификации и регрессии"
Лекция №6 "Линейные модели для классификации и регрессии" Technosphere1
 
Лекция №7 "Машина опорных векторов"
Лекция №7 "Машина опорных векторов" Лекция №7 "Машина опорных векторов"
Лекция №7 "Машина опорных векторов" Technosphere1
 
Лекция №12 "Ограниченная машина Больцмана"
Лекция №12 "Ограниченная машина Больцмана" Лекция №12 "Ограниченная машина Больцмана"
Лекция №12 "Ограниченная машина Больцмана" Technosphere1
 
Лекция №8 "Методы снижения размерности пространства"
Лекция №8 "Методы снижения размерности пространства" Лекция №8 "Методы снижения размерности пространства"
Лекция №8 "Методы снижения размерности пространства" Technosphere1
 
L5: Л5 Байесовские алгоритмы
L5: Л5 Байесовские алгоритмыL5: Л5 Байесовские алгоритмы
L5: Л5 Байесовские алгоритмыTechnosphere1
 
L6: Метод опорных векторов
L6: Метод опорных векторовL6: Метод опорных векторов
L6: Метод опорных векторовTechnosphere1
 
Лекция 11: Методы разработки алгоритмов
Лекция 11: Методы разработки алгоритмовЛекция 11: Методы разработки алгоритмов
Лекция 11: Методы разработки алгоритмовMikhail Kurnosov
 
Лекция №9 "Алгоритмические композиции. Начало"
Лекция №9 "Алгоритмические композиции. Начало"Лекция №9 "Алгоритмические композиции. Начало"
Лекция №9 "Алгоритмические композиции. Начало"Technosphere1
 
Лекция 11. Методы разработки алгоритмов
Лекция 11. Методы разработки алгоритмовЛекция 11. Методы разработки алгоритмов
Лекция 11. Методы разработки алгоритмовMikhail Kurnosov
 
Методы обучения линейных моделей
Методы обучения линейных моделейМетоды обучения линейных моделей
Методы обучения линейных моделейAlex
 
Лекция №2 "Задача кластеризации и ЕМ-алгоритм"
Лекция №2 "Задача кластеризации и ЕМ-алгоритм"Лекция №2 "Задача кластеризации и ЕМ-алгоритм"
Лекция №2 "Задача кластеризации и ЕМ-алгоритм"Technosphere1
 
Программирование: от сложного к простому
Программирование: от сложного к простомуПрограммирование: от сложного к простому
Программирование: от сложного к простомуNikolay Grebenshikov
 
Лекция №10 "Алгоритмические композиции. Завершение"
Лекция №10 "Алгоритмические композиции. Завершение" Лекция №10 "Алгоритмические композиции. Завершение"
Лекция №10 "Алгоритмические композиции. Завершение" Technosphere1
 
Лекция 1. Амортизационный анализ (amortized analysis)
Лекция 1. Амортизационный анализ (amortized analysis)Лекция 1. Амортизационный анализ (amortized analysis)
Лекция 1. Амортизационный анализ (amortized analysis)Mikhail Kurnosov
 
05 динамическое программирование
05 динамическое программирование05 динамическое программирование
05 динамическое программированиеFedor Tsarev
 
05 динамическое программирование
05 динамическое программирование05 динамическое программирование
05 динамическое программированиеFedor Tsarev
 

What's hot (20)

Лекция №14. Графы: кратчайшие пути и максимальные потоки. Предмет "Структуры ...
Лекция №14. Графы: кратчайшие пути и максимальные потоки. Предмет "Структуры ...Лекция №14. Графы: кратчайшие пути и максимальные потоки. Предмет "Структуры ...
Лекция №14. Графы: кратчайшие пути и максимальные потоки. Предмет "Структуры ...
 
Основы MATLAB. Численные методы
Основы MATLAB. Численные методыОсновы MATLAB. Численные методы
Основы MATLAB. Численные методы
 
Мезенцев Павел - Машинное обучение на MapReduce
Мезенцев Павел - Машинное обучение на MapReduceМезенцев Павел - Машинное обучение на MapReduce
Мезенцев Павел - Машинное обучение на MapReduce
 
Лекция №6 "Линейные модели для классификации и регрессии"
Лекция №6 "Линейные модели для классификации и регрессии" Лекция №6 "Линейные модели для классификации и регрессии"
Лекция №6 "Линейные модели для классификации и регрессии"
 
Лекция №7 "Машина опорных векторов"
Лекция №7 "Машина опорных векторов" Лекция №7 "Машина опорных векторов"
Лекция №7 "Машина опорных векторов"
 
Лекция №12 "Ограниченная машина Больцмана"
Лекция №12 "Ограниченная машина Больцмана" Лекция №12 "Ограниченная машина Больцмана"
Лекция №12 "Ограниченная машина Больцмана"
 
Лекция №8 "Методы снижения размерности пространства"
Лекция №8 "Методы снижения размерности пространства" Лекция №8 "Методы снижения размерности пространства"
Лекция №8 "Методы снижения размерности пространства"
 
L5: Л5 Байесовские алгоритмы
L5: Л5 Байесовские алгоритмыL5: Л5 Байесовские алгоритмы
L5: Л5 Байесовские алгоритмы
 
L6: Метод опорных векторов
L6: Метод опорных векторовL6: Метод опорных векторов
L6: Метод опорных векторов
 
Recsys.hse
Recsys.hseRecsys.hse
Recsys.hse
 
Лекция 11: Методы разработки алгоритмов
Лекция 11: Методы разработки алгоритмовЛекция 11: Методы разработки алгоритмов
Лекция 11: Методы разработки алгоритмов
 
Лекция №9 "Алгоритмические композиции. Начало"
Лекция №9 "Алгоритмические композиции. Начало"Лекция №9 "Алгоритмические композиции. Начало"
Лекция №9 "Алгоритмические композиции. Начало"
 
Лекция 11. Методы разработки алгоритмов
Лекция 11. Методы разработки алгоритмовЛекция 11. Методы разработки алгоритмов
Лекция 11. Методы разработки алгоритмов
 
Методы обучения линейных моделей
Методы обучения линейных моделейМетоды обучения линейных моделей
Методы обучения линейных моделей
 
Лекция №2 "Задача кластеризации и ЕМ-алгоритм"
Лекция №2 "Задача кластеризации и ЕМ-алгоритм"Лекция №2 "Задача кластеризации и ЕМ-алгоритм"
Лекция №2 "Задача кластеризации и ЕМ-алгоритм"
 
Программирование: от сложного к простому
Программирование: от сложного к простомуПрограммирование: от сложного к простому
Программирование: от сложного к простому
 
Лекция №10 "Алгоритмические композиции. Завершение"
Лекция №10 "Алгоритмические композиции. Завершение" Лекция №10 "Алгоритмические композиции. Завершение"
Лекция №10 "Алгоритмические композиции. Завершение"
 
Лекция 1. Амортизационный анализ (amortized analysis)
Лекция 1. Амортизационный анализ (amortized analysis)Лекция 1. Амортизационный анализ (amortized analysis)
Лекция 1. Амортизационный анализ (amortized analysis)
 
05 динамическое программирование
05 динамическое программирование05 динамическое программирование
05 динамическое программирование
 
05 динамическое программирование
05 динамическое программирование05 динамическое программирование
05 динамическое программирование
 

Similar to Факторизационные модели в рекомендательных системах

ИТМО Machine Learning. Рекомендательные системы — часть 1
ИТМО Machine Learning. Рекомендательные системы — часть 1ИТМО Machine Learning. Рекомендательные системы — часть 1
ИТМО Machine Learning. Рекомендательные системы — часть 1Andrey Danilchenko
 
ITMO RecSys course. Autumn2014. Lecture1
ITMO RecSys course. Autumn2014. Lecture1ITMO RecSys course. Autumn2014. Lecture1
ITMO RecSys course. Autumn2014. Lecture1Andrey Danilchenko
 
ITMO RecSys course. Autumn 2014. Lecture1: Introduction. kNN, SVD, evaluation
ITMO RecSys course. Autumn 2014. Lecture1: Introduction. kNN, SVD, evaluationITMO RecSys course. Autumn 2014. Lecture1: Introduction. kNN, SVD, evaluation
ITMO RecSys course. Autumn 2014. Lecture1: Introduction. kNN, SVD, evaluationAndrey Danilchenko
 
ITMO RecSys course. Autumn 2014. Lecture 6
ITMO RecSys course. Autumn 2014. Lecture 6ITMO RecSys course. Autumn 2014. Lecture 6
ITMO RecSys course. Autumn 2014. Lecture 6Andrey Danilchenko
 
20080928 structuralcomplexitytheory lecture01-02
20080928 structuralcomplexitytheory lecture01-0220080928 structuralcomplexitytheory lecture01-02
20080928 structuralcomplexitytheory lecture01-02Computer Science Club
 
ITMO RecSys course. Autumn 2014. Lecture 3
ITMO RecSys course. Autumn 2014. Lecture 3ITMO RecSys course. Autumn 2014. Lecture 3
ITMO RecSys course. Autumn 2014. Lecture 3Andrey Danilchenko
 
Простая линейная регрессия в системе R
Простая линейная регрессия в системе RПростая линейная регрессия в системе R
Простая линейная регрессия в системе RSergey Mastitsky
 
ИТМО Machine Learning 2015. Рекомендательные системы
ИТМО Machine Learning 2015. Рекомендательные системыИТМО Machine Learning 2015. Рекомендательные системы
ИТМО Machine Learning 2015. Рекомендательные системыAndrey Danilchenko
 
Дмитрий Кропотов, ВМК МГУ, Группа Байесовских Методов, «Методы оптимизации бо...
Дмитрий Кропотов, ВМК МГУ, Группа Байесовских Методов, «Методы оптимизации бо...Дмитрий Кропотов, ВМК МГУ, Группа Байесовских Методов, «Методы оптимизации бо...
Дмитрий Кропотов, ВМК МГУ, Группа Байесовских Методов, «Методы оптимизации бо...Mail.ru Group
 
Как впихнуть утро в сосновом лесу в 4 килобайта. Иван Авдеев. UNIGINE Open Ai...
Как впихнуть утро в сосновом лесу в 4 килобайта. Иван Авдеев. UNIGINE Open Ai...Как впихнуть утро в сосновом лесу в 4 килобайта. Иван Авдеев. UNIGINE Open Ai...
Как впихнуть утро в сосновом лесу в 4 килобайта. Иван Авдеев. UNIGINE Open Ai...Unigine Corp.
 
Лекция 13 Теоретико-числовые алгоритмы Часть 2
Лекция 13 Теоретико-числовые алгоритмы Часть 2Лекция 13 Теоретико-числовые алгоритмы Часть 2
Лекция 13 Теоретико-числовые алгоритмы Часть 2simple_people
 
Лекция 13: Трудноразрешимые задачи. NP-полнота.
Лекция 13: Трудноразрешимые задачи. NP-полнота.Лекция 13: Трудноразрешимые задачи. NP-полнота.
Лекция 13: Трудноразрешимые задачи. NP-полнота.Mikhail Kurnosov
 
экспертные системы
экспертные системыэкспертные системы
экспертные системыsokol_klinik
 
2014.12.06 04 Евгений Тюменцев — Откуда появились s.o.l.i.d. принципы
2014.12.06 04 Евгений Тюменцев — Откуда появились s.o.l.i.d. принципы2014.12.06 04 Евгений Тюменцев — Откуда появились s.o.l.i.d. принципы
2014.12.06 04 Евгений Тюменцев — Откуда появились s.o.l.i.d. принципыHappyDev
 
Математическое обоснование S.O.L.I.D принципов
Математическое обоснование S.O.L.I.D принциповМатематическое обоснование S.O.L.I.D принципов
Математическое обоснование S.O.L.I.D принциповetyumentcev
 
Лекция 12 Теоретико-числовые алгоритмы Часть 1
Лекция 12 Теоретико-числовые алгоритмы Часть 1Лекция 12 Теоретико-числовые алгоритмы Часть 1
Лекция 12 Теоретико-числовые алгоритмы Часть 1simple_people
 
Советский суперкомпьютер К-340А и секретные вычисления
Советский суперкомпьютер К-340А и секретные вычисленияСоветский суперкомпьютер К-340А и секретные вычисления
Советский суперкомпьютер К-340А и секретные вычисленияPositive Hack Days
 
Григорий Анатольевич Кабатянский - Конечные алгебры, геометрии и коды
Григорий Анатольевич Кабатянский - Конечные алгебры, геометрии и кодыГригорий Анатольевич Кабатянский - Конечные алгебры, геометрии и коды
Григорий Анатольевич Кабатянский - Конечные алгебры, геометрии и кодыYandex
 
20081116 structuralcomplexitytheory lecture09-10
20081116 structuralcomplexitytheory lecture09-1020081116 structuralcomplexitytheory lecture09-10
20081116 structuralcomplexitytheory lecture09-10Computer Science Club
 

Similar to Факторизационные модели в рекомендательных системах (20)

ИТМО Machine Learning. Рекомендательные системы — часть 1
ИТМО Machine Learning. Рекомендательные системы — часть 1ИТМО Machine Learning. Рекомендательные системы — часть 1
ИТМО Machine Learning. Рекомендательные системы — часть 1
 
ITMO RecSys course. Autumn2014. Lecture1
ITMO RecSys course. Autumn2014. Lecture1ITMO RecSys course. Autumn2014. Lecture1
ITMO RecSys course. Autumn2014. Lecture1
 
ITMO RecSys course. Autumn 2014. Lecture1: Introduction. kNN, SVD, evaluation
ITMO RecSys course. Autumn 2014. Lecture1: Introduction. kNN, SVD, evaluationITMO RecSys course. Autumn 2014. Lecture1: Introduction. kNN, SVD, evaluation
ITMO RecSys course. Autumn 2014. Lecture1: Introduction. kNN, SVD, evaluation
 
ITMO RecSys course. Autumn 2014. Lecture 6
ITMO RecSys course. Autumn 2014. Lecture 6ITMO RecSys course. Autumn 2014. Lecture 6
ITMO RecSys course. Autumn 2014. Lecture 6
 
20080928 structuralcomplexitytheory lecture01-02
20080928 structuralcomplexitytheory lecture01-0220080928 structuralcomplexitytheory lecture01-02
20080928 structuralcomplexitytheory lecture01-02
 
ITMO RecSys course. Autumn 2014. Lecture 3
ITMO RecSys course. Autumn 2014. Lecture 3ITMO RecSys course. Autumn 2014. Lecture 3
ITMO RecSys course. Autumn 2014. Lecture 3
 
Простая линейная регрессия в системе R
Простая линейная регрессия в системе RПростая линейная регрессия в системе R
Простая линейная регрессия в системе R
 
ИТМО Machine Learning 2015. Рекомендательные системы
ИТМО Machine Learning 2015. Рекомендательные системыИТМО Machine Learning 2015. Рекомендательные системы
ИТМО Machine Learning 2015. Рекомендательные системы
 
графы
графыграфы
графы
 
Дмитрий Кропотов, ВМК МГУ, Группа Байесовских Методов, «Методы оптимизации бо...
Дмитрий Кропотов, ВМК МГУ, Группа Байесовских Методов, «Методы оптимизации бо...Дмитрий Кропотов, ВМК МГУ, Группа Байесовских Методов, «Методы оптимизации бо...
Дмитрий Кропотов, ВМК МГУ, Группа Байесовских Методов, «Методы оптимизации бо...
 
Как впихнуть утро в сосновом лесу в 4 килобайта. Иван Авдеев. UNIGINE Open Ai...
Как впихнуть утро в сосновом лесу в 4 килобайта. Иван Авдеев. UNIGINE Open Ai...Как впихнуть утро в сосновом лесу в 4 килобайта. Иван Авдеев. UNIGINE Open Ai...
Как впихнуть утро в сосновом лесу в 4 килобайта. Иван Авдеев. UNIGINE Open Ai...
 
Лекция 13 Теоретико-числовые алгоритмы Часть 2
Лекция 13 Теоретико-числовые алгоритмы Часть 2Лекция 13 Теоретико-числовые алгоритмы Часть 2
Лекция 13 Теоретико-числовые алгоритмы Часть 2
 
Лекция 13: Трудноразрешимые задачи. NP-полнота.
Лекция 13: Трудноразрешимые задачи. NP-полнота.Лекция 13: Трудноразрешимые задачи. NP-полнота.
Лекция 13: Трудноразрешимые задачи. NP-полнота.
 
экспертные системы
экспертные системыэкспертные системы
экспертные системы
 
2014.12.06 04 Евгений Тюменцев — Откуда появились s.o.l.i.d. принципы
2014.12.06 04 Евгений Тюменцев — Откуда появились s.o.l.i.d. принципы2014.12.06 04 Евгений Тюменцев — Откуда появились s.o.l.i.d. принципы
2014.12.06 04 Евгений Тюменцев — Откуда появились s.o.l.i.d. принципы
 
Математическое обоснование S.O.L.I.D принципов
Математическое обоснование S.O.L.I.D принциповМатематическое обоснование S.O.L.I.D принципов
Математическое обоснование S.O.L.I.D принципов
 
Лекция 12 Теоретико-числовые алгоритмы Часть 1
Лекция 12 Теоретико-числовые алгоритмы Часть 1Лекция 12 Теоретико-числовые алгоритмы Часть 1
Лекция 12 Теоретико-числовые алгоритмы Часть 1
 
Советский суперкомпьютер К-340А и секретные вычисления
Советский суперкомпьютер К-340А и секретные вычисленияСоветский суперкомпьютер К-340А и секретные вычисления
Советский суперкомпьютер К-340А и секретные вычисления
 
Григорий Анатольевич Кабатянский - Конечные алгебры, геометрии и коды
Григорий Анатольевич Кабатянский - Конечные алгебры, геометрии и кодыГригорий Анатольевич Кабатянский - Конечные алгебры, геометрии и коды
Григорий Анатольевич Кабатянский - Конечные алгебры, геометрии и коды
 
20081116 structuralcomplexitytheory lecture09-10
20081116 structuralcomplexitytheory lecture09-1020081116 structuralcomplexitytheory lecture09-10
20081116 structuralcomplexitytheory lecture09-10
 

More from romovpa

Машинное обучение для ваших игр и бизнеса
Машинное обучение для ваших игр и бизнесаМашинное обучение для ваших игр и бизнеса
Машинное обучение для ваших игр и бизнесаromovpa
 
Applications of Machine Learning in DOTA2: Literature Review and Practical Kn...
Applications of Machine Learning in DOTA2: Literature Review and Practical Kn...Applications of Machine Learning in DOTA2: Literature Review and Practical Kn...
Applications of Machine Learning in DOTA2: Literature Review and Practical Kn...romovpa
 
Проекты для студентов ФКН ВШЭ
Проекты для студентов ФКН ВШЭПроекты для студентов ФКН ВШЭ
Проекты для студентов ФКН ВШЭromovpa
 
A Simple yet Efficient Method for a Credit Card Upselling Prediction
A Simple yet Efficient Method for a Credit Card Upselling PredictionA Simple yet Efficient Method for a Credit Card Upselling Prediction
A Simple yet Efficient Method for a Credit Card Upselling Predictionromovpa
 
Dota Science: Роль киберспорта в обучении анализу данных
Dota Science: Роль киберспорта в обучении анализу данныхDota Science: Роль киберспорта в обучении анализу данных
Dota Science: Роль киберспорта в обучении анализу данныхromovpa
 
Non-Bayesian Additive Regularization for Multimodal Topic Modeling of Large C...
Non-Bayesian Additive Regularization for Multimodal Topic Modeling of Large C...Non-Bayesian Additive Regularization for Multimodal Topic Modeling of Large C...
Non-Bayesian Additive Regularization for Multimodal Topic Modeling of Large C...romovpa
 
Машинное обучение с элементами киберспорта
Машинное обучение с элементами киберспортаМашинное обучение с элементами киберспорта
Машинное обучение с элементами киберспортаromovpa
 
RecSys Challenge 2015: ensemble learning with categorical features
RecSys Challenge 2015: ensemble learning with categorical featuresRecSys Challenge 2015: ensemble learning with categorical features
RecSys Challenge 2015: ensemble learning with categorical featuresromovpa
 
Структурный SVM и отчет по курсовой
Структурный SVM и отчет по курсовойСтруктурный SVM и отчет по курсовой
Структурный SVM и отчет по курсовойromovpa
 
Fields of Experts (доклад)
Fields of Experts (доклад)Fields of Experts (доклад)
Fields of Experts (доклад)romovpa
 
Структурное обучение и S-SVM
Структурное обучение и S-SVMСтруктурное обучение и S-SVM
Структурное обучение и S-SVMromovpa
 
Глобальная дискретная оптимизация при помощи разрезов графов
Глобальная дискретная оптимизация при помощи разрезов графовГлобальная дискретная оптимизация при помощи разрезов графов
Глобальная дискретная оптимизация при помощи разрезов графовromovpa
 

More from romovpa (12)

Машинное обучение для ваших игр и бизнеса
Машинное обучение для ваших игр и бизнесаМашинное обучение для ваших игр и бизнеса
Машинное обучение для ваших игр и бизнеса
 
Applications of Machine Learning in DOTA2: Literature Review and Practical Kn...
Applications of Machine Learning in DOTA2: Literature Review and Practical Kn...Applications of Machine Learning in DOTA2: Literature Review and Practical Kn...
Applications of Machine Learning in DOTA2: Literature Review and Practical Kn...
 
Проекты для студентов ФКН ВШЭ
Проекты для студентов ФКН ВШЭПроекты для студентов ФКН ВШЭ
Проекты для студентов ФКН ВШЭ
 
A Simple yet Efficient Method for a Credit Card Upselling Prediction
A Simple yet Efficient Method for a Credit Card Upselling PredictionA Simple yet Efficient Method for a Credit Card Upselling Prediction
A Simple yet Efficient Method for a Credit Card Upselling Prediction
 
Dota Science: Роль киберспорта в обучении анализу данных
Dota Science: Роль киберспорта в обучении анализу данныхDota Science: Роль киберспорта в обучении анализу данных
Dota Science: Роль киберспорта в обучении анализу данных
 
Non-Bayesian Additive Regularization for Multimodal Topic Modeling of Large C...
Non-Bayesian Additive Regularization for Multimodal Topic Modeling of Large C...Non-Bayesian Additive Regularization for Multimodal Topic Modeling of Large C...
Non-Bayesian Additive Regularization for Multimodal Topic Modeling of Large C...
 
Машинное обучение с элементами киберспорта
Машинное обучение с элементами киберспортаМашинное обучение с элементами киберспорта
Машинное обучение с элементами киберспорта
 
RecSys Challenge 2015: ensemble learning with categorical features
RecSys Challenge 2015: ensemble learning with categorical featuresRecSys Challenge 2015: ensemble learning with categorical features
RecSys Challenge 2015: ensemble learning with categorical features
 
Структурный SVM и отчет по курсовой
Структурный SVM и отчет по курсовойСтруктурный SVM и отчет по курсовой
Структурный SVM и отчет по курсовой
 
Fields of Experts (доклад)
Fields of Experts (доклад)Fields of Experts (доклад)
Fields of Experts (доклад)
 
Структурное обучение и S-SVM
Структурное обучение и S-SVMСтруктурное обучение и S-SVM
Структурное обучение и S-SVM
 
Глобальная дискретная оптимизация при помощи разрезов графов
Глобальная дискретная оптимизация при помощи разрезов графовГлобальная дискретная оптимизация при помощи разрезов графов
Глобальная дискретная оптимизация при помощи разрезов графов
 

Факторизационные модели в рекомендательных системах

  • 1. Факторизационные модели в рекомендательных системах Петр Ромов 15 октября 2013 г. 1
  • 2. План Факторизационные модели Модель SVD Сложные модели предпочтения Factorization Machines
  • 3. Outline Факторизационные модели Модель SVD Сложные модели предпочтения Factorization Machines
  • 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
  • 23. Outline Факторизационные модели Модель SVD Сложные модели предпочтения Factorization Machines
  • 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.
  • 30. Пользовательские сессии Предположение: поведение пользователя слегка меняется во время различных посещений. s — номер сессии ˜bu = bu + bu,s ˜pu = pu + pu,s 26
  • 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
  • 33. Outline Факторизационные модели Модель SVD Сложные модели предпочтения Factorization Machines
  • 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 как правило содержат слагаемые, которых нет в оригинальных моделях.
  • 39. Свойства Мультилинеарность по параметрам ˆy(x; θ) = gθ(x) + θhθ(x) Выражение для быстрого подсчета ˆy(x): ˆy(x; Θ) = w0 + wT x + 1 2 K k=1   p i=1 vikxi 2 − p i=1 v2 ikx2 i   34
  • 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
  • 43. Блочная структура данных                                                                                                                                                                                                                                                                                                                        Figure 3: (a) In relational domains, design matrices X have large blocks of repeating patterns (example from Figure 2). (b) Repeating patterns in X can be formalized by a block notation (see section 2.3) which stems directly from the relational structure of the original data. Machine learning methods have to make use of repeating patterns in X to scale to large relational datasets. to process feature vectors in the original space, i.e. by con- catenating the vectors (eq. 1) – not even on-the-fly. On-the- where λl ∈ R+ is a predefined regularization constant for the l-th model parameter and ei = yi − ˆy(xi) is the i-th residual                                                                                                                                                                                                                                                                                                                        igure 3: (a) In relational domains, design matrices X have large blocks of repeating patterns (example from igure 2). (b) Repeating patterns in X can be formalized by a block notation (see section 2.3) which stems irectly from the relational structure of the original data. Machine learning methods have to make use of epeating patterns in X to scale to large relational datasets. 37