ݺߣ

ݺߣShare a Scribd company logo
Рекомендательная система: быстрый старт
Рекомендательная
система:
быстрый старт
Андрей Данильченко
разработчик
Мы живем в эпоху
рекомендательных систем!
Классификация RS
Available data
User history Content
Collaborative Content-based
Hybrid
Tags
&
Metadata
Выигрывает тот, у кого больше
данных…
Алгоритм
Какие данные у нас есть?
•  Рейтинги (explicit feedback) ?
•  Implicit feedback !
–  Знаем силу и направленность feedback-а
–  Знаем, насколько этому можно верить
iALS — функционал
min
x*,y*
cui (pui − xu
T
yi )
u,i
∑
2
+ λ xu
u
∑
2
+ yi
i
∑
2#
$
%
&
'
(
iALS — объяснение (1)
min
x*,y*
cui (pui − xu
T
yi )
u,i
∑
2
+...
iALS — интуиция
Preferences
User
features
Item
features
≈ x
# users
#items
# users
#items
# features
#features
iALS — объяснение (2)
min
x*,y*
cui (pui − xu
T
yi )
u,i
∑
2
+ λ xu
u
∑
2
+ yi
i
∑
2#
$
%
&
'
(
Регуляризация
А как все это оптимизировать?
Alternating Least Squares
xu = YT
Cu
Y + λI( )
−1
YT
Cu
p(u)
yi = YT
Ci
Y + λI( )
−1
YT
Ci
p(i)
X-step:
Y-step:
Alternating Least Squares — трюк
xu = YT
Cu
Y + λI( )
−1
YT
Cu
p(u)
YT
Cu
Y =YT
Y +YT
Cu
− I( )Y
X-step:
Alternating Least Squares — трюк (2)
xu = YT
Cu
Y + λI( )
−1
YT
Cu
p(u)
X-step:
Au du
Au = A0 + −c0 +cui( )Yu
T
Yu
i:(u,i)∈R
∑
du = d0 + −c0r0 +cuirui( )Yu
i:(u,i)∈R
∑
Oryx
Oryx — архитектура
Audioscrobbler dataset (2005)
•  148 111 пользователей
•  1 631 028 исполнителей
•  24 296 858 «событий»
http://www-etud.iro.umontreal.ca/~bergstrj/audioscrobbler_data.html
Давайте попробуем!
Андрей Данильченко
разработчик
apdanilchenko@yandex.ru
Удачи!

More Related Content

Рекомендательная система: быстрый старт