45
Thesis presentation: Online recommendations at scale with matrix factorisation . Royal Institute of Technology, Stockholm, Sweden Instituto Superior Técnico, Lisbon, Portugal Universitat Politécnica de Catalunya, Barcelona, Spain 22 June 2012 Marcus Ljungblad [email protected]

Online recommendations at scale using matrix factorisation

Embed Size (px)

DESCRIPTION

This presentation was used for my thesis defense held at Universidad Politecnica de Catalunya, Spain, for a double-degree master programme in Distributed Computing. The other two universities participating in the programme are Royal Institute of Technology, Stockholm, Sweden and Instituto Tecnico Superior, Lisbon, Portugal.

Citation preview

Page 1: Online recommendations at scale using matrix factorisation

Thesis presentation:

Online recommendations at scale with matrix factorisation.

Royal Institute of Technology, Stockholm, SwedenInstituto Superior Técnico, Lisbon, PortugalUniversitat Politécnica de Catalunya, Barcelona, Spain

22 June 2012Marcus Ljungblad

[email protected]

Page 2: Online recommendations at scale using matrix factorisation
Page 3: Online recommendations at scale using matrix factorisation
Page 4: Online recommendations at scale using matrix factorisation
Page 5: Online recommendations at scale using matrix factorisation

75% of the 30 million daily movie starts are sourced from recommendations."

Page 6: Online recommendations at scale using matrix factorisation

a key differentiating factor"

Page 7: Online recommendations at scale using matrix factorisation

3 challenges

Page 8: Online recommendations at scale using matrix factorisation
Page 9: Online recommendations at scale using matrix factorisation
Page 10: Online recommendations at scale using matrix factorisation
Page 11: Online recommendations at scale using matrix factorisation
Page 12: Online recommendations at scale using matrix factorisation
Page 13: Online recommendations at scale using matrix factorisation
Page 14: Online recommendations at scale using matrix factorisation

How do you serve recommendations from millions of items to millions of users online?

Page 15: Online recommendations at scale using matrix factorisation

2 4 4 ? 13 5 ? ? 1? 4 2 1 ?

1 ? 1 3 3

Video ratingsU

sers

Page 16: Online recommendations at scale using matrix factorisation

f( )

Page 17: Online recommendations at scale using matrix factorisation

2.05 3.97 3.96 2.12 1.012.93 5.02 3.21 1.61 0.982.15 3.95 2.01 1.05 1.10 1.00 4.29 1.01 2.96 2.98

Video ratingsU

sers

Page 18: Online recommendations at scale using matrix factorisation

2.05 3.97 3.96 2.12 1.012.93 5.02 3.21 1.61 0.982.15 3.95 2.01 1.05 1.10 1.00 4.29 1.01 2.96 2.98

Video ratings

Use

rs

2 4 4 ? 13 5 ? ? 1? 4 2 1 ?1 ? 1 3 3

Page 19: Online recommendations at scale using matrix factorisation

2.05 3.97 3.96 2.12 1.012.93 5.02 3.21 1.61 0.982.15 3.95 2.01 1.05 1.10 1.00 4.29 1.01 2.96 2.98

Page 20: Online recommendations at scale using matrix factorisation

13x40M I L L I O NR A T I N G S

Page 21: Online recommendations at scale using matrix factorisation
Page 22: Online recommendations at scale using matrix factorisation
Page 23: Online recommendations at scale using matrix factorisation
Page 24: Online recommendations at scale using matrix factorisation
Page 25: Online recommendations at scale using matrix factorisation
Page 26: Online recommendations at scale using matrix factorisation
Page 27: Online recommendations at scale using matrix factorisation
Page 28: Online recommendations at scale using matrix factorisation
Page 29: Online recommendations at scale using matrix factorisation

Interface Delegate Router Worker

requeststart

route

compute

top-N

to jsonreply

merge

Page 30: Online recommendations at scale using matrix factorisation

Interface Delegate Router Worker

requeststart

route

compute

top-N

to jsonreply

merge

Page 31: Online recommendations at scale using matrix factorisation

Did it work?

Page 32: Online recommendations at scale using matrix factorisation

Setup:

• 1-3 machines

• 1 million items

• same rack = high-speed

• 1 test machine

Page 33: Online recommendations at scale using matrix factorisation

Performance!

Page 34: Online recommendations at scale using matrix factorisation

Performance!

huh?!

Page 35: Online recommendations at scale using matrix factorisation

Did it work?wel

l

Page 36: Online recommendations at scale using matrix factorisation

74% = 74%Offline Online

Page 37: Online recommendations at scale using matrix factorisation
Page 38: Online recommendations at scale using matrix factorisation

Summary:

... clustering depends on data ...

... need balanced clusters ...

... memory bound ...

... scales ok ...

Page 39: Online recommendations at scale using matrix factorisation

Thank you!

Page 40: Online recommendations at scale using matrix factorisation
Page 41: Online recommendations at scale using matrix factorisation

Photos and pictures borrowed from the Internetz:

Iron Maiden cover: http://en.wikipedia.org/wiki/File:Iron_Maiden_(album)_cover.jpgCat picture: http://www.lastfm.es/group/CatsCoins: http://www.sxc.hu/photo/1235540iPhones: http://blog.bayuamus.com/2011/08/user-experience-comparison-between-htc-salsa-and-samsung-galaxy-mini/Amazon recommendations: http://mashable.com/2010/08/06/online-retail-facebook-data/TV remote: http://www.flickr.com/photos/62337512@N00/2749561795/sizes/z/in/photostream/Headphones: http://www.flickr.com/photos/markusschoepke/82957375/sizes/m/in/photostream/Function: http://en.wikipedia.org/wiki/File:Graph_of_example_function.svgHome servers: http://www.flickr.com/photos/fabrico/477844434/sizes/z/in/photostream/

Page 42: Online recommendations at scale using matrix factorisation

Extra material...

Page 43: Online recommendations at scale using matrix factorisation
Page 44: Online recommendations at scale using matrix factorisation
Page 45: Online recommendations at scale using matrix factorisation

A X Y D B L S Z Q

A X Y D B L S Z Q

A X Y D B L S Z Q

(1/2) / 1

(1/1) / 1

(1/1 + 2/3) / 2