Top Banner
20

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

Jul 07, 2015

Download

Education

Lecture for DM labs, first part.
Introducing iALS and demonstrating ORYX recommender
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Рекомендательная система: быстрый старт
Page 2: Рекомендательная система: быстрый старт

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

Андрей Данильченко разработчик

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

Мы живем в эпоху рекомендательных систем!

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

Классификация RS

Available data

User history Content

Collaborative Content-based

Hybrid

Tags &

Metadata

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

Выигрывает тот, у кого больше данных…

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

Алгоритм

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

Какие данные у нас есть?

• Рейтинги (explicit feedback) ? •  Implicit feedback !

–  Знаем силу и направленность feedback-а –  Знаем, насколько этому можно верить

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

iALS — функционал

minx*,y*

cui (pui − xuT yi )

u,i∑

2+λ xu

u∑

2+ yi

i∑

2#

$%

&

'(

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

iALS — объяснение (1)

minx*,y*

cui (pui − xuT yi )

u,i∑

2+...

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

iALS — интуиция

Preferences User features

Item features

≈ x

# users

# it

ems

# users

# it

ems

# features

# fe

atur

es

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

iALS — объяснение (2)

minx*,y*

cui (pui − xuT yi )

u,i∑

2+λ xu

u∑

2+ yi

i∑

2#

$%

&

'(

Регуляризация

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

А как все это оптимизировать?

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

Alternating Least Squares

xu = Y TCuY +λI( )−1Y TCup(u)

yi = Y TCiY +λI( )−1Y TCi p(i)

X-step:

Y-step:

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

Alternating Least Squares — трюк

xu = Y TCuY +λI( )−1Y TCup(u)

Y TCuY =Y TY +Y T Cu − I( )Y

X-step:

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

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∑

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

Oryx

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

Oryx — архитектура

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

Audioscrobbler dataset (2005)

• 148 111 пользователей • 1 631 028 исполнителей • 24 296 858 «событий»

http://www-etud.iro.umontreal.ca/~bergstrj/audioscrobbler_data.html

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

Давайте попробуем!

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

Андрей Данильченко

разработчик

[email protected]

Удачи!