online recommendations at scale using matrix factorisation
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
![Page 1: Online recommendations at scale using matrix factorisation](https://reader034.vdocuments.mx/reader034/viewer/2022051610/548154b9b37959492b8b5cf8/html5/thumbnails/1.jpg)
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
![Page 2: Online recommendations at scale using matrix factorisation](https://reader034.vdocuments.mx/reader034/viewer/2022051610/548154b9b37959492b8b5cf8/html5/thumbnails/2.jpg)
![Page 3: Online recommendations at scale using matrix factorisation](https://reader034.vdocuments.mx/reader034/viewer/2022051610/548154b9b37959492b8b5cf8/html5/thumbnails/3.jpg)
![Page 4: Online recommendations at scale using matrix factorisation](https://reader034.vdocuments.mx/reader034/viewer/2022051610/548154b9b37959492b8b5cf8/html5/thumbnails/4.jpg)
![Page 5: Online recommendations at scale using matrix factorisation](https://reader034.vdocuments.mx/reader034/viewer/2022051610/548154b9b37959492b8b5cf8/html5/thumbnails/5.jpg)
75% of the 30 million daily movie starts are sourced from recommendations."
![Page 6: Online recommendations at scale using matrix factorisation](https://reader034.vdocuments.mx/reader034/viewer/2022051610/548154b9b37959492b8b5cf8/html5/thumbnails/6.jpg)
a key differentiating factor"
![Page 7: Online recommendations at scale using matrix factorisation](https://reader034.vdocuments.mx/reader034/viewer/2022051610/548154b9b37959492b8b5cf8/html5/thumbnails/7.jpg)
3 challenges
![Page 8: Online recommendations at scale using matrix factorisation](https://reader034.vdocuments.mx/reader034/viewer/2022051610/548154b9b37959492b8b5cf8/html5/thumbnails/8.jpg)
![Page 9: Online recommendations at scale using matrix factorisation](https://reader034.vdocuments.mx/reader034/viewer/2022051610/548154b9b37959492b8b5cf8/html5/thumbnails/9.jpg)
![Page 10: Online recommendations at scale using matrix factorisation](https://reader034.vdocuments.mx/reader034/viewer/2022051610/548154b9b37959492b8b5cf8/html5/thumbnails/10.jpg)
![Page 11: Online recommendations at scale using matrix factorisation](https://reader034.vdocuments.mx/reader034/viewer/2022051610/548154b9b37959492b8b5cf8/html5/thumbnails/11.jpg)
![Page 12: Online recommendations at scale using matrix factorisation](https://reader034.vdocuments.mx/reader034/viewer/2022051610/548154b9b37959492b8b5cf8/html5/thumbnails/12.jpg)
![Page 13: Online recommendations at scale using matrix factorisation](https://reader034.vdocuments.mx/reader034/viewer/2022051610/548154b9b37959492b8b5cf8/html5/thumbnails/13.jpg)
![Page 14: Online recommendations at scale using matrix factorisation](https://reader034.vdocuments.mx/reader034/viewer/2022051610/548154b9b37959492b8b5cf8/html5/thumbnails/14.jpg)
How do you serve recommendations from millions of items to millions of users online?
![Page 15: Online recommendations at scale using matrix factorisation](https://reader034.vdocuments.mx/reader034/viewer/2022051610/548154b9b37959492b8b5cf8/html5/thumbnails/15.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051610/548154b9b37959492b8b5cf8/html5/thumbnails/16.jpg)
f( )
![Page 17: Online recommendations at scale using matrix factorisation](https://reader034.vdocuments.mx/reader034/viewer/2022051610/548154b9b37959492b8b5cf8/html5/thumbnails/17.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051610/548154b9b37959492b8b5cf8/html5/thumbnails/18.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051610/548154b9b37959492b8b5cf8/html5/thumbnails/19.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051610/548154b9b37959492b8b5cf8/html5/thumbnails/20.jpg)
13x40M I L L I O NR A T I N G S
![Page 21: Online recommendations at scale using matrix factorisation](https://reader034.vdocuments.mx/reader034/viewer/2022051610/548154b9b37959492b8b5cf8/html5/thumbnails/21.jpg)
![Page 22: Online recommendations at scale using matrix factorisation](https://reader034.vdocuments.mx/reader034/viewer/2022051610/548154b9b37959492b8b5cf8/html5/thumbnails/22.jpg)
![Page 23: Online recommendations at scale using matrix factorisation](https://reader034.vdocuments.mx/reader034/viewer/2022051610/548154b9b37959492b8b5cf8/html5/thumbnails/23.jpg)
![Page 24: Online recommendations at scale using matrix factorisation](https://reader034.vdocuments.mx/reader034/viewer/2022051610/548154b9b37959492b8b5cf8/html5/thumbnails/24.jpg)
![Page 25: Online recommendations at scale using matrix factorisation](https://reader034.vdocuments.mx/reader034/viewer/2022051610/548154b9b37959492b8b5cf8/html5/thumbnails/25.jpg)
![Page 26: Online recommendations at scale using matrix factorisation](https://reader034.vdocuments.mx/reader034/viewer/2022051610/548154b9b37959492b8b5cf8/html5/thumbnails/26.jpg)
![Page 27: Online recommendations at scale using matrix factorisation](https://reader034.vdocuments.mx/reader034/viewer/2022051610/548154b9b37959492b8b5cf8/html5/thumbnails/27.jpg)
![Page 28: Online recommendations at scale using matrix factorisation](https://reader034.vdocuments.mx/reader034/viewer/2022051610/548154b9b37959492b8b5cf8/html5/thumbnails/28.jpg)
![Page 29: Online recommendations at scale using matrix factorisation](https://reader034.vdocuments.mx/reader034/viewer/2022051610/548154b9b37959492b8b5cf8/html5/thumbnails/29.jpg)
Interface Delegate Router Worker
requeststart
route
compute
top-N
to jsonreply
merge
![Page 30: Online recommendations at scale using matrix factorisation](https://reader034.vdocuments.mx/reader034/viewer/2022051610/548154b9b37959492b8b5cf8/html5/thumbnails/30.jpg)
Interface Delegate Router Worker
requeststart
route
compute
top-N
to jsonreply
merge
![Page 31: Online recommendations at scale using matrix factorisation](https://reader034.vdocuments.mx/reader034/viewer/2022051610/548154b9b37959492b8b5cf8/html5/thumbnails/31.jpg)
Did it work?
![Page 32: Online recommendations at scale using matrix factorisation](https://reader034.vdocuments.mx/reader034/viewer/2022051610/548154b9b37959492b8b5cf8/html5/thumbnails/32.jpg)
Setup:
• 1-3 machines
• 1 million items
• same rack = high-speed
• 1 test machine
![Page 33: Online recommendations at scale using matrix factorisation](https://reader034.vdocuments.mx/reader034/viewer/2022051610/548154b9b37959492b8b5cf8/html5/thumbnails/33.jpg)
Performance!
![Page 34: Online recommendations at scale using matrix factorisation](https://reader034.vdocuments.mx/reader034/viewer/2022051610/548154b9b37959492b8b5cf8/html5/thumbnails/34.jpg)
Performance!
huh?!
![Page 35: Online recommendations at scale using matrix factorisation](https://reader034.vdocuments.mx/reader034/viewer/2022051610/548154b9b37959492b8b5cf8/html5/thumbnails/35.jpg)
Did it work?wel
l
![Page 36: Online recommendations at scale using matrix factorisation](https://reader034.vdocuments.mx/reader034/viewer/2022051610/548154b9b37959492b8b5cf8/html5/thumbnails/36.jpg)
74% = 74%Offline Online
![Page 37: Online recommendations at scale using matrix factorisation](https://reader034.vdocuments.mx/reader034/viewer/2022051610/548154b9b37959492b8b5cf8/html5/thumbnails/37.jpg)
![Page 38: Online recommendations at scale using matrix factorisation](https://reader034.vdocuments.mx/reader034/viewer/2022051610/548154b9b37959492b8b5cf8/html5/thumbnails/38.jpg)
Summary:
... clustering depends on data ...
... need balanced clusters ...
... memory bound ...
... scales ok ...
![Page 39: Online recommendations at scale using matrix factorisation](https://reader034.vdocuments.mx/reader034/viewer/2022051610/548154b9b37959492b8b5cf8/html5/thumbnails/39.jpg)
Thank you!
![Page 40: Online recommendations at scale using matrix factorisation](https://reader034.vdocuments.mx/reader034/viewer/2022051610/548154b9b37959492b8b5cf8/html5/thumbnails/40.jpg)
![Page 41: Online recommendations at scale using matrix factorisation](https://reader034.vdocuments.mx/reader034/viewer/2022051610/548154b9b37959492b8b5cf8/html5/thumbnails/41.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051610/548154b9b37959492b8b5cf8/html5/thumbnails/42.jpg)
Extra material...
![Page 43: Online recommendations at scale using matrix factorisation](https://reader034.vdocuments.mx/reader034/viewer/2022051610/548154b9b37959492b8b5cf8/html5/thumbnails/43.jpg)
![Page 44: Online recommendations at scale using matrix factorisation](https://reader034.vdocuments.mx/reader034/viewer/2022051610/548154b9b37959492b8b5cf8/html5/thumbnails/44.jpg)
![Page 45: Online recommendations at scale using matrix factorisation](https://reader034.vdocuments.mx/reader034/viewer/2022051610/548154b9b37959492b8b5cf8/html5/thumbnails/45.jpg)
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