Upload
andrey-danilchenko
View
226
Download
4
Embed Size (px)
DESCRIPTION
Lecture for DM labs, first part. Introducing iALS and demonstrating ORYX recommender
Citation preview
Рекомендательная система: быстрый старт
Андрей Данильченко разработчик
Мы живем в эпоху рекомендательных систем!
Классификация RS
Available data
User history Content
Collaborative Content-based
Hybrid
Tags &
Metadata
Выигрывает тот, у кого больше данных…
Алгоритм
Какие данные у нас есть?
• Рейтинги (explicit feedback) ? • Implicit feedback !
– Знаем силу и направленность feedback-а – Знаем, насколько этому можно верить
iALS — функционал
minx*,y*
cui (pui − xuT yi )
u,i∑
2+λ xu
u∑
2+ yi
i∑
2#
$%
&
'(
iALS — объяснение (1)
minx*,y*
cui (pui − xuT yi )
u,i∑
2+...
iALS — интуиция
Preferences User features
Item features
≈ x
# users
# it
ems
# users
# it
ems
# features
# fe
atur
es
iALS — объяснение (2)
minx*,y*
cui (pui − xuT yi )
u,i∑
2+λ xu
u∑
2+ yi
i∑
2#
$%
&
'(
Регуляризация
А как все это оптимизировать?
Alternating Least Squares
xu = Y TCuY +λI( )−1Y TCup(u)
yi = Y TCiY +λI( )−1Y TCi p(i)
X-step:
Y-step:
Alternating Least Squares — трюк
xu = Y TCuY +λI( )−1Y TCup(u)
Y TCuY =Y TY +Y T Cu − I( )Y
X-step:
Alternating Least Squares — трюк (2)
xu = Y TCuY +λI( )−1Y TCup(u)
X-step:
Au duAu = A0 + −c0 + cui( )YuTYu
i:(u,i)∈R∑
du = d0 + −c0r0 + cuirui( )Yui:(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
Давайте попробуем!