Online recommendations at scale using matrix factorisation

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]

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.

Transcript of Online recommendations at scale using matrix factorisation

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