Анализ алгоритмов обучения коллаборативных рекомендательных систем
3
В контексте задачи машинного обучения
y
— это исходные дан-
ные, т. е. известная информация, а
x
— параметры модели, которые
мы хотим обучить. Например, представим данные как рейтинги, ко-
торые ставили пользователи продуктам, а параметры модели — фак-
торы, которые мы обучаем для пользователей и продуктов.
Каждая из вероятностей тоже имеет свой смысл.
p
(
x
|
y
) —
распределение вероятностей параметров модели после того, как были
учтены исходные данные. Эта вероятность также называется апостери-
орной вероятностью.
p
(
y|x
) — это так называемое правдоподобие, веро-
ятность данных при условии зафиксированных параметров модели.
Основным недостатком алгоритма Байеса является требование
выборки больших размеров для обучения, а также факт, что если ис-
ходная условная вероятность равна нулю, предсказанная вероятность
также будет равна нулю. Поэтому в последнее время предпочитают
использовать другие алгоритмы.
Алгоритм SVD.
Представим, что у есть матрица, состоящая из
рейтингов (лайков, фактов покупки и т. п.), которые пользователи
(строки матрицы) присвоили продуктам (столбцы матрицы). Получа-
ется матрица
( )
,
,
1,
1
N M
i q i
a
R r
= =
=
, в которой записаны известные нам рей-
тинги. Как правило, один пользователь не сможет оценить значи-
тельную долю продуктов. Поэтому вряд ли будет много продуктов,
которые готова оценить значительная доля пользователей. Это озна-
чает, что матрица
R
— сильно разреженная.
Для разреженных матриц обычно используется так называе-
мое сингулярное разложение [1] в виде
T
R UDV
=
.
R
— матрица большого размера
N
×
M
, но малого ранга
f
(разрежен-
ные матрицы часто бывают малого ранга), ее можно разложить в
произведение матрицы
N
×
f
и матрицы
f
×
M
, тем самым резко сокра-
тив число параметров c
N
×
M
до (
N + M
)
f
.
Основное же свойство SVD заключается в том, что оно дает оп-
тимальное приближение, если в матрице
D
просто оставить ровно
f
первых диагональных элементов, а остальные обнулить:
1
1
2
T
T
T
σ 0 0 0
σ 0 0
0
σ 0 0
0 σ 0
.
0
0 0 0
0 0 σ
0
0 0 0
f
k
X UDV U
V U
V
⎡
⎤
⎢
⎥
⎛
⎞
⎢
⎥
⎜
⎟
⎢
⎥
⎜
⎟
=
=
≈ ⎢
⎥
⎜
⎟
⎢
⎥
⎜
⎟
⎢
⎥
⎝
⎠
⎢
⎥
⎢
⎥
⎣
⎦
K K
M
M M
M
K
K K
K
M M
M
K K
K
M
M M
M
K K