Recommendation Engines: Some Practical and Theoretical Considerations
Upcoming SlideShare
Loading in...5
×
 

Recommendation Engines: Some Practical and Theoretical Considerations

on

  • 787 views

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.

Statistics

Views

Total Views
787
Views on SlideShare
787
Embed Views
0

Actions

Likes
1
Downloads
14
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Recommendation Engines: Some Practical and Theoretical Considerations Recommendation Engines: Some Practical and Theoretical Considerations Presentation Transcript

  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • Introduction Collaborative Filtering Sparsity and Scalability Contextuality ConclusionsAn Example Pipeline Peter Wittek Recommendation Engines
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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