Your SlideShare is downloading. ×
0
Recommendation Engines: Some Practical and Theoretical Considerations
Recommendation Engines: Some Practical and Theoretical Considerations
Recommendation Engines: Some Practical and Theoretical Considerations
Recommendation Engines: Some Practical and Theoretical Considerations
Recommendation Engines: Some Practical and Theoretical Considerations
Recommendation Engines: Some Practical and Theoretical Considerations
Recommendation Engines: Some Practical and Theoretical Considerations
Recommendation Engines: Some Practical and Theoretical Considerations
Recommendation Engines: Some Practical and Theoretical Considerations
Recommendation Engines: Some Practical and Theoretical Considerations
Recommendation Engines: Some Practical and Theoretical Considerations
Recommendation Engines: Some Practical and Theoretical Considerations
Recommendation Engines: Some Practical and Theoretical Considerations
Recommendation Engines: Some Practical and Theoretical Considerations
Recommendation Engines: Some Practical and Theoretical Considerations
Recommendation Engines: Some Practical and Theoretical Considerations
Recommendation Engines: Some Practical and Theoretical Considerations
Recommendation Engines: Some Practical and Theoretical Considerations
Recommendation Engines: Some Practical and Theoretical Considerations
Recommendation Engines: Some Practical and Theoretical Considerations
Recommendation Engines: Some Practical and Theoretical Considerations
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Recommendation Engines: Some Practical and Theoretical Considerations

595

Published on

A talk given at Youku.com about the machine learning and scalability aspects of contemporary recommendation systems.

A talk given at Youku.com about the machine learning and scalability aspects of contemporary recommendation systems.

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
595
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
19
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Introduction Collaborative Filtering Sparsity and Scalability Contextuality Conclusions Recommendation Engines: Some Practical and Theoretical Considerations Research Seminar at Youku.com Peter Wittek ˚ University of Boras & Tsinghua University April 22, 2013 Peter Wittek Recommendation Engines
  • 2. Introduction Collaborative Filtering Sparsity and Scalability Contextuality ConclusionsOutline 1 Introduction 2 Collaborative Filtering 3 Sparsity and Scalability 4 Contextuality 5 Conclusions Peter Wittek Recommendation Engines
  • 3. Introduction Collaborative Filtering Sparsity and Scalability Contextuality ConclusionsWhat It Is About Objective: Predict user preferences Content-based filtering versus collaborative filtering Users versus content/metadata indexing Hybrid systems Roots in information retrieval, relevance feedback Peter Wittek Recommendation Engines
  • 4. Introduction Collaborative Filtering Sparsity and Scalability Contextuality ConclusionsAn Example: Slope One A simple baseline method Easy to implement, efficient Slope One 1.5 − 1 = 0.5 1 1.5 User A 2 ? User B Item I Item J ? = 2 + (1.5 − 1) = 2.5 Peter Wittek Recommendation Engines
  • 5. Introduction Collaborative Filtering Sparsity and Scalability Contextuality ConclusionsBackground Operations Memory-based Simple Robust Cosine dissimilarity, Euclidean distance, etc. Model-based Full array of machine learning algorithms The kernel trick a) b) Peter Wittek Recommendation Engines
  • 6. Introduction Collaborative Filtering Sparsity and Scalability Contextuality ConclusionsOutline 1 Introduction 2 Collaborative Filtering 3 Sparsity and Scalability 4 Contextuality 5 Conclusions Peter Wittek Recommendation Engines
  • 7. Introduction Collaborative Filtering Sparsity and Scalability Contextuality ConclusionsUser Recommendations Even a few ratings are more accurate than metada The cold start problem Analysing users’ behaviour, preferences, ratings Explicit versus implicit data Scalability and sparsity Peter Wittek Recommendation Engines
  • 8. Introduction Collaborative Filtering Sparsity and Scalability Contextuality ConclusionsLearning Methods Simple ones: k-NN, decision trees More intricate ones: matrix factorization, support vectors, artificial neural networks A feed-forward neural network Peter Wittek Recommendation Engines
  • 9. Introduction Collaborative Filtering Sparsity and Scalability Contextuality ConclusionsAn Example Pipeline Peter Wittek Recommendation Engines
  • 10. Introduction Collaborative Filtering Sparsity and Scalability Contextuality ConclusionsOutline 1 Introduction 2 Collaborative Filtering 3 Sparsity and Scalability 4 Contextuality 5 Conclusions Peter Wittek Recommendation Engines
  • 11. Introduction Collaborative Filtering Sparsity and Scalability Contextuality ConclusionsThe Matrix We Are Facing High-dimensional Sparse, missing elements 0.01%-0.1% nonzero Low-rank User types The problem as a sparse matrix Users (≈ 107 − 108 ) ? ? ? 4 ? ? 1 ? ? ? Videos (≈ 108 − 109 ) ? ? ? ? 5 1 ? ? ? 2 Peter Wittek Recommendation Engines
  • 12. Introduction Collaborative Filtering Sparsity and Scalability Contextuality ConclusionsDealing With Sparsity Rating from 1 − 5 That is three bits at best For Netflix: log2 |users| = 18.8 log2 |movies| = 14.1 The numbers date to the competition (pre-2009). Each entry will barely take three bytes Further tweaks can halve the storage requirement Peter Wittek Recommendation Engines
  • 13. Introduction Collaborative Filtering Sparsity and Scalability Contextuality ConclusionsLow Rank Approximation Goal: Estimate ratings for unknown elements Singular Value Decomposition A = U x S x VT Here S is a diagonal matrix containing the singular values in decreasing order. Peter Wittek Recommendation Engines
  • 14. Introduction Collaborative Filtering Sparsity and Scalability Contextuality ConclusionsConceptual Dynamics The matrix is not static Incremental biseration+Gaussian blurring+3D visualization Snapshots on BBC videos (a) (b) Peter Wittek Recommendation Engines
  • 15. Introduction Collaborative Filtering Sparsity and Scalability Contextuality ConclusionsScalability Learning algorithms are computationally demanding Some parallelize well Apache Mahout originally grew out of a scalable CF library Based on Apache Hadoop MapReduce: scaling out on a large number of nodes of commodity hardware Peter Wittek Recommendation Engines
  • 16. Introduction Collaborative Filtering Sparsity and Scalability Contextuality ConclusionsReal-Time Systems Update operations and queries Parallel and distributed execution Acceleration by graphics hardware Massively parallel architecture GPU Compute Device Compute Compute Unit Unit Stream Cores Peter Wittek Recommendation Engines
  • 17. Introduction Collaborative Filtering Sparsity and Scalability Contextuality ConclusionsOutline 1 Introduction 2 Collaborative Filtering 3 Sparsity and Scalability 4 Contextuality 5 Conclusions Peter Wittek Recommendation Engines
  • 18. Introduction Collaborative Filtering Sparsity and Scalability Contextuality ConclusionsWhat Is Contextuality The users’ preferences are not static The preferences are a function of the present context Indirect clues: current browsing history, recent purchase history, etc. Infer context-type/micro-profile Small improvements over baseline methods have already been reported Peter Wittek Recommendation Engines
  • 19. Introduction Collaborative Filtering Sparsity and Scalability Contextuality ConclusionsEnter Quantum Mechanics Foraging theory: how to maximize net energy intake in a patchy environment Quantum-like contextual patterns emerge from classical decisions Foraging decisions can translate to problems in recommendation systems Forget Bayes’ rule: Consider Luder’s rule ¨ ||Pb1 |ψa1 ||2 = ||Pb1 Pa1 |ψ ||2 /||Pa1 |ψ ||2 (1) Two operators are generally not commutative, leading to a sequential, context-sensitive model of decision making. Peter Wittek Recommendation Engines
  • 20. Introduction Collaborative Filtering Sparsity and Scalability Contextuality ConclusionsOutline 1 Introduction 2 Collaborative Filtering 3 Sparsity and Scalability 4 Contextuality 5 Conclusions Peter Wittek Recommendation Engines
  • 21. Introduction Collaborative Filtering Sparsity and Scalability Contextuality ConclusionsSummary A large part of recommendation systems is an engineering problem Hybridise collaborative and content-based filtering Assemble and tune machine learning pipelines Measure prediction quality and monetary gains Continue tuning Exciting theoretical considerations await further research Peter Wittek Recommendation Engines

×