Building Large-scale Real-world Recommender Systems - Recsys2012 tutorial

Xavier Amatriain
Xavier AmatriainCofounder/CTO at Curai
Building	
  Industrial-­‐scale	
  Real-­‐world	
  Recommender	
  Systems	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  September	
  11,	
  2012	
  
	
  
Xavier	
  Amatriain	
  
Personaliza8on	
  Science	
  and	
  Engineering	
  -­‐	
  Ne?lix	
                                                                                                                                                                         @xamat	
  
Outline
1.  Anatomy of Netflix Personalization
2.  Data & Models
3.  Consumer (Data) Science
4.  Architectures
Anatomy of
Netflix
Personalization
  Everything is a Recommendation
Everything is personalized
                    Ranking




                              Note:
                              Recommendations
       Rows




                              are per household,
                              not individual user




                                                    4
Top 10
  Personalization awareness




All       Dad     Dad&Mom Daughter    All    All?   Daughter   Son   Mom   Mom




                                     Diversity

                                                                                 5
Support for Recommendations




                         Social Support   6
Watch again & Continue Watching




                                  7
Genres




8
Genre rows
§  Personalized genre rows focus on user interest
   §  Also provide context and “evidence”
   §  Important for member satisfaction – moving personalized rows to top on
       devices increased retention
§  How are they generated?
   §  Implicit: based on user’s recent plays, ratings, & other interactions
   §  Explicit taste preferences
   §  Hybrid:combine the above
   §  Also take into account:
   §  Freshness - has this been shown before?
   §  Diversity– avoid repeating tags and genres, limit number of TV genres, etc.
Genres - personalization




                           10
Genres - personalization




                           11
Genres- explanations




                       12
Genres- explanations




                       13
Genres – user involvement




                            14
Genres – user involvement




                            15
Similars
 §  Displayed in
     many different
     contexts
    §  In response to
        user actions/
        context (search,
        queue add…)
    §  More like… rows
Anatomy of a Personalization - Recap
§  Everything is a recommendation: not only rating
    prediction, but also ranking, row selection, similarity…
§  We strive to make it easy for the user, but…
§  We want the user to be aware and be involved in the
    recommendation process
§  Deal with implicit/explicit and hybrid feedback
§  Add support/explanations for recommendations
§  Consider issues such as diversity or freshness
                                                               17
Data
  &
Models
§  Plays
Big Data   §  Behavior
           §  Geo-Information
           §  Time
           §  Ratings
           §  Searches
           §  Impressions
           §  Device info
           §  Metadata
           §  Social
           §  …


                                 19
Big Data   §  25M+ subscribers
@Netflix   §  Ratings: 4M/day
           §  Searches: 3M/day
           §  Plays: 30M/day
           §  2B hours streamed in Q4
               2011
           §  1B hours in June 2012



                                         20
Models
§    Logistic/linear regression
§    Elastic nets
§    Matrix Factorization
§    Markov Chains
§    Clustering
§    LDA
§    Association Rules
§    Gradient Boosted Decision Trees
§  …

                                        21
Rating Prediction




                    22
2007 Progress Prize
§  KorBell team (AT&T) improved by 8.43%
§  Spent ~2,000 hours
§  Combined 107 prediction algorithms with linear
    equation
§  Gave us the source code
2007 Progress Prize
§  Top 2 algorithms
   §  SVD - Prize RMSE: 0.8914
   §  RBM - Prize RMSE: 0.8990
§  Linear blend Prize RMSE: 0.88
§  Limitations
   §  Designed for 100M ratings, we have 5B ratings
   §  Not adaptable as users add ratings
   §  Performance issues
§  Currently in use as part of Netflix’ rating prediction component
SVD
X[n x m] = U[n x r] S [ r x r] (V[m x r])T




§    X: m x n matrix (e.g., m users, n videos)

§    U: m x r matrix (m users, r concepts)
§    S: r x r diagonal matrix (strength of each ‘concept’) (r: rank of the matrix)

§    V: r x n matrix (n videos, r concepts)
Simon Funk’s SVD
§  One of the most
    interesting findings
    during the Netflix
    Prize came out of a
    blog post
§  Incremental, iterative,
    and approximate way
    to compute the SVD
    using gradient
    descent
                              http://sifter.org/~simon/journal/20061211.html   26
SVD for Rating Prediction
§  Associate each user with a user-factors vector pu ∈ ℜ f
§  Associate each item with an item-factors vector qv ∈ ℜ f
§  Define a baseline estimate buv = µ + bu + bv to account for
    user and item deviation from the average
§  Predict rating using the rule
                    '            T
                   r = buv + p qv
                   uv            u




                                                                  27
SVD++
§  Koren et. al proposed an asymmetric variation that includes
    implicit feedback:
                             $     −
                                     1
                                                                           −
                                                                               1           '
                  '         T
                             & R(u) 2
                 r = buv + q &
                 uv         v             ∑       (ruj − buj )x j + N(u)       2
                                                                                    ∑ yj ) )
                             %           j∈R(u)                                    j∈N (u) (

§  Where
   §  qv , xv , yv ∈ ℜ f are three item factor vectors
   §  Users are not parametrized, but rather represented by:
     §  R(u): items rated by user u
     §  N(u): items for which the user has given an implicit preference (e.g. rated
         vs. not rated)


                                                                                               28
RBM
First generation neural networks (~60s)

                                      Like   Hate
§  Perceptrons (~1960)                             output units -
  §  Single layer of hand-coded                    class labels
      features
  §  Linear activation function
  §  Fundamentally limited in what                    non-adaptive
      they can learn to do.                            hand-coded
                                                       features

                                                       input units -
                                                       features
Second generation neural networks (~80s)
                       Compare output to
Back-propagate         correct answer to
                       compute error signal
error signal to
get derivatives
                                              outputs
for learning
          Non-linear
          activation
          function
                                                 hidden layers



                                              input features
Belief Networks (~90s)
§  Directed acyclic graph                  stochas8c	
  
    composed of stochastic                  hidden	
  	
  	
  	
  	
  	
  	
  	
  
    variables with weighted                 cause	
  
    connections.
§  Can observe some of the
    variables
§  Solve two problems:
   §  Inference: Infer the states of the
       unobserved variables.                         visible	
  	
  
   §  Learning: Adjust the                          effect	
  
       interactions between variables
       to make the network more likely
       to generate the observed data.
Restricted Boltzmann Machine
§  Restrict the connectivity to make learning easier.
    §  Only one layer of hidden units.
       §  Although multiple layers are possible          hidden
    §  No connections between hidden units.                     j
§  Hidden units are independent given the visible
    states..
    §  So we can quickly get an unbiased sample from
        the posterior distribution over hidden “causes”   i
        when given a data-vector
                                                              visible
§  RBMs can be stacked to form Deep Belief
    Nets (DBN)
RBM for the Netflix Prize




                            34
What about the final prize ensembles?
§  Our offline studies showed they were too
    computationally intensive to scale
§  Expected improvement not worth the
    engineering effort
§  Plus, focus had already shifted to other
    issues that had more impact than rating
    prediction...

                                               35
Ranking   Key algorithm, sorts titles in most
                                     contexts
Ranking
§  Ranking = Scoring + Sorting + Filtering       §  Factors
    bags of movies for presentation to a user        §  Accuracy
§  Goal: Find the best possible ordering of a       §  Novelty
    set of videos for a user within a specific       §  Diversity
    context in real-time                             §  Freshness
§  Objective: maximize consumption                  §  Scalability
§  Aspirations: Played & “enjoyed” titles have      §  …
    best score
§  Akin to CTR forecast for ads/search results
Ranking
§  Popularity is the obvious baseline
§  Ratings prediction is a clear secondary data
    input that allows for personalization
§  We have added many other features (and tried
    many more that have not proved useful)
§  What about the weights?
  §  Based on A/B testing
  §  Machine-learned
Example: Two features, linear model
                                                       1	
  
Predicted Rating




                                               2	
  




                                                                                                                                  Final	
  Ranking	
  
                                       3	
  
                                   4	
                                       Linear	
  Model:	
  
                                                               frank(u,v)	
  =	
  w1	
  p(v)	
  +	
  w2	
  r(u,v)	
  +	
  b	
  
                           5	
  




                                   Popularity
                                                                                                                                                         39
Results




          40
Learning to rank
§  Machine learning problem: goal is to construct ranking
    model from training data
§  Training data can have partial order or binary judgments
    (relevant/not relevant).
§  Resulting order of the items typically induced from a
    numerical score
§  Learning to rank is a key element for personalization
§  You can treat the problem as a standard supervised
    classification problem

                                                               41
Learning to Rank Approaches
1.  Pointwise
   §    Ranking function minimizes loss function defined on individual
         relevance judgment
   §    Ranking score based on regression or classification
   §    Ordinal regression, Logistic regression, SVM, GBDT, …
2.  Pairwise
   §    Loss function is defined on pair-wise preferences
   §    Goal: minimize number of inversions in ranking
   §    Ranking problem is then transformed into the binary classification
         problem
   §    RankSVM, RankBoost, RankNet, FRank…
Learning to rank - metrics
§  Quality of ranking measured using metrics as
  §  Normalized Discounted Cumulative Gain
                                                   n
                      DCG                            relevancei
        NDCG =            where DCG = relevance1 + ∑            and IDCG = ideal ranking
                     IDCG                          2    log 2 i
  §  Mean Reciprocal Rank (MRR)
                1          1
       MRR =
                H
                     ∑ rank(h )      where hi are the positive “hits” from the user
                     h∈H       i

  §  Mean average Precision (MAP)
               N

              ∑ AveP(n)                                                                  tp
      MAP =    n=1
                                   where N can be number of users, items… and P =
                      N                                                               tp + fp



                                                                                                43
Learning to rank - metrics
§  Quality of ranking measured using metrics as
   §  Fraction of Concordant Pairs (FCP)
     §  Given items xi and xj, user preference P and a ranking method R, a
         concordant pair (CP) is { xi , x j } s.t.P(xi ) > P(x j ) ⇔ R(xi ) < R(x j )
                      ∑CP(x , x )
                               i       j

     §  Then FCP =   i≠ j
                         n(n −1)
   §  Others…                     2
§  But, it is hard to optimize machine-learned models directly on
    these measures
   §  They are not differentiable
§  Recent research on models that directly optimize ranking
    measures

                                                                                        44
Learning to Rank Approaches
3.     Listwise
      a.      Directly optimizing IR measures (difficult since they are not differentiable)
                  §      Directly optimize IR measures through Genetic Programming
                  §      Directly optimize measures with Simulated Annealing
                  §      Gradient descent on smoothed version of objective function
                  §      SVM-MAP relaxes the MAP metric by adding it to the SVM constraints
                  §      AdaRank uses boosting to optimize NDCG
      b.      Indirect Loss Function
                  §      RankCosine uses similarity between the ranking list and the ground truth as
                          loss function
                  §      ListNet uses KL-divergence as loss function by defining a probability
                          distribution
            §          Problem: optimization in the listwise loss function does not necessarily optimize
                        IR metrics
Similars

           §  Different similarities computed
               from different sources: metadata,
               ratings, viewing data…
           §  Similarities can be treated as
               data/features
           §  Machine Learned models
               improve our concept of “similarity”




                                                46
Data & Models - Recap
§  All sorts of feedback from the user can help generate better
    recommendations
§  Need to design systems that capture and take advantage of
    all this data
§  The right model is as important as the right data
§  It is important to come up with new theoretical models, but
    also need to think about application to a domain, and practical
    issues
§  Rating prediction models are only part of the solution to
    recommendation (think about ranking, similarity…)

                                                                      47
Consumer
(Data) Science
Consumer Science
§  Main goal is to effectively innovate for customers
§  Innovation goals
  §  “If you want to increase your success rate, double
      your failure rate.” – Thomas Watson, Sr., founder of
      IBM
  §  The only real failure is the failure to innovate
  §  Fail cheaply
  §  Know why you failed/succeeded

                                                             49
Consumer (Data) Science
1.  Start with a hypothesis:
   §  Algorithm/feature/design X will increase member engagement
       with our service, and ultimately member retention
2.  Design a test
   §  Develop a solution or prototype
   §  Think about dependent & independent variables, control,
       significance…
3.  Execute the test
4.  Let data speak for itself

                                                                    50
Offline/Online testing process
     days                    Weeks to months




 Offline                Online A/B                           Rollout
                                                           Feature to
 testing    [success]
                         testing               [success]    all users



              [fail]




                                                                   51
Offline testing process
                  Initial
                Hypothesis
                              Decide
Reformulate                   Model                        Rollout
Hypothesis                                                Prototype           Rollout
                            Train Model                                     Feature to
         [no]                                             Wait for
                                                                             all users

      Try
                               offline
                                                   Online A/B
                                                          Results

                                                         Analyze
   different
   model?
                [yes]
                                Test
                                                    testing
                                                         Results

                                                                         [success]
                    [no]      Hypothesis                   Significant
                               validated                  improvement
                                offline?                    on users?
                                           [yes]
                   [fail]                                                            52
                                                                 [no]
Offline testing
§  Optimize algorithms offline
§  Measure model performance, using metrics such as:
   §  Mean Reciprocal Rank, Normalized Discounted Cumulative Gain, Fraction of
       Concordant Pairs, Precision/Recall & F-measures, AUC, RMSE, Diversity…

§  Offline performance used as an indication to make informed
    decisions on follow-up A/B tests
§  A critical (and unsolved) issue is how offline metrics can
    correlate with A/B test results.
§  Extremely important to define a coherent offline evaluation
    framework (e.g. How to create training/testing datasets is not
    trivial)

                                                                                  53
Online A/B testing process
                                                         Choose
                                             Design A/
                                                         Control
                                              B Test
                                                         Group
                             Decide
Reformulate                  Model                        Rollout
Hypothesis                                               Prototype                Rollout
                           Train Model                                          Feature to
         [no]                                            Wait for
                              offline                                            all users

      Try
               Offline                                   Results

                                                         Analyze
   different
   model?      testing
                [yes]
                               Test
                                                         Results


                                                          Significant
                             Hypothesis   [success]      improvement
                              validated                    on users?
                    [no]       offline?                                 [yes]


                                                                [no]                    54
Executing A/B tests
§  Many different metrics, but ultimately trust user
    engagement (e.g. hours of play and customer retention)
§  Think about significance and hypothesis testing
   §  Our tests usually have thousands of members and 2-20 cells
§  A/B Tests allow you to try radical ideas or test many
    approaches at the same time.
   §  We typically have hundreds of customer A/B tests running
§  Decisions on the product always data-driven

                                                                    55
What to measure
§  OEC: Overall Evaluation Criteria
§  In an AB test framework, the measure of success is key
§  Short-term metrics do not always align with long term
    goals
   §  E.g. CTR: generating more clicks might mean that our
       recommendations are actually worse
§  Use long term metrics such as LTV (Life time value)
    whenever possible
   §  In Netflix, we use member retention
                                                              56
What to measure
§  Short-term metrics can sometimes be informative, and
    may allow for faster decision-taking
   §  At Netflix we use many such as hours streamed by users or
       %hours from a given algorithm
§  But, be aware of several caveats of using early decision
    mechanisms
                                                 Initial effects appear to trend.
                                                 See “Trustworthy Online
                                                 Controlled Experiments: Five
                                                 Puzzling Outcomes
                                                 Explained” [Kohavi et. Al. KDD
                                                 12]


                                                                                    57
Consumer Data Science - Recap
§  Consumer Data Science aims to innovate for the
    customer by running experiments and letting data speak
§  This is mainly done through online AB Testing
§  However, we can speed up innovation by experimenting
    offline
§  But, both for online and offline experimentation, it is
    important to choose the right metric and experimental
    framework

                                                              58
Architectures



                59
Technology




             hQp://techblog.ne?lix.com	
     60
61
Event & Data
Distribution




               62
Event & Data Distribution
•  UI devices should broadcast many
   different kinds of user events
    •    Clicks
    •    Presentations
    •    Browsing events
    •    …
•  Events vs. data
    •  Some events only need to be
       propagated and trigger an action
       (low latency, low information per
       event)
    •  Others need to be processed and
       “turned into” data (higher latency,
       higher information quality).
    •  And… there are many in between
•  Real-time event flow managed
   through internal tool (Manhattan)
•  Data flow mostly managed through
   Hadoop.

                                             63
Offline Jobs




               64
Offline Jobs
•  Two kinds of offline jobs
     •  Model training
     •  Batch offline computation of
        recommendations/
        intermediate results
•  Offline queries either in Hive or
   PIG
•  Need a publishing mechanism
   that solves several issues
     •  Notify readers when result of
        query is ready
     •  Support different repositories
        (s3, cassandra…)
     •  Handle errors, monitoring…
     •  We do this through Hermes
                                         65
Computation




              66
Computation
•  Two ways of computing personalized
   results
    •  Batch/offline
    •  Online
•  Each approach has pros/cons
    •  Offline
         +    Allows more complex computations
         +    Can use more data
         -    Cannot react to quick changes
         -    May result in staleness
    •  Online
         +    Can respond quickly to events
         +    Can use most recent data
         -    May fail because of SLA
         -    Cannot deal with “complex”
              computations
•  It’s not an either/or decision
    •  Both approaches can be combined

                                                 67
Signals & Models




                   68
Signals & Models

•  Both offline and online algorithms are
   based on three different inputs:
    •  Models: previously trained from
       existing data
    •  (Offline) Data: previously
       processed and stored information
    •  Signals: fresh data obtained from
       live services
        •  User-related data
        •  Context data (session, date,
           time…)



                                          69
Results




          70
Results
•  Recommendations can be serviced
   from:
    •  Previously computed lists
    •  Online algorithms
    •  A combination of both
•  The decision on where to service the
   recommendation from can respond to
   many factors including context.
•  Also, important to think about the
   fallbacks (what if plan A fails)
•  Previously computed lists/intermediate
   results can be stored in a variety of
   ways
     •  Cache
     •  Cassandra
     •  Relational DB
                                            71
Alerts and Monitoring
§  A non-trivial concern in large-scale recommender
    systems
§  Monitoring: continuously observe quality of system
§  Alert: fast notification if quality of system goes below a
    certain pre-defined threshold
§  Questions:
   §  What do we need to monitor?
   §  How do we know something is “bad enough” to alert


                                                                 72
What to monitor
                                             Did something go
§  Staleness                                  wrong here?

   §  Monitor time since last data update




                                                                73
What to monitor
§  Algorithmic quality
   §  Monitor different metrics by comparing what users do and what
       your algorithm predicted they would do




                                                                       74
What to monitor
§  Algorithmic quality
   §  Monitor different metrics by comparing what users do and what
       your algorithm predicted they would do

           Did something go
             wrong here?




                                                                       75
What to monitor
§  Algorithmic source for users
   §  Monitor how users interact with different algorithms
                                                Algorithm X

                                        Did something go
                                          wrong here?



                                                              New version




                                                                            76
When to alert
§  Alerting thresholds are hard to tune
   §  Avoid unnecessary alerts (the “learn-to-ignore problem”)
   §  Avoid important issues being noticed before the alert happens
§  Rules of thumb
   §  Alert on anything that will impact user experience significantly
   §  Alert on issues that are actionable
   §  If a noticeable event happens without an alert… add a new alert
       for next time



                                                                          77
Conclusions

              78
The Personalization Problem
§  The Netflix Prize simplified the recommendation problem
    to predicting ratings
§  But…
  §  User ratings are only one of the many data inputs we have
  §  Rating predictions are only part of our solution
     §  Other algorithms such as ranking or similarity are very important

§  We can reformulate the recommendation problem
  §  Function to optimize: probability a user chooses something and
      enjoys it enough to come back to the service

                                                                             79
More to Recsys than Algorithms
§  Not only is there more to algorithms than rating
    prediction
§  There is more to Recsys than algorithms
   §  User Interface & Feedback
   §  Data
   §  AB Testing
   §  Systems & Architectures




                                                       80
More data +
         Better models +
     More accurate metrics +
Better approaches & architectures
  Lots of room for improvement!
                                    81
We’re hiring!




Xavier Amatriain (@xamat)
 xamatriain@netflix.com
1 of 82

Recommended

Recommender Systems In Industry by
Recommender Systems In IndustryRecommender Systems In Industry
Recommender Systems In IndustryXavier Amatriain
5.1K views128 slides
Past, present, and future of Recommender Systems: an industry perspective by
Past, present, and future of Recommender Systems: an industry perspectivePast, present, and future of Recommender Systems: an industry perspective
Past, present, and future of Recommender Systems: an industry perspectiveXavier Amatriain
11K views71 slides
Deep Learning for Recommender Systems by
Deep Learning for Recommender SystemsDeep Learning for Recommender Systems
Deep Learning for Recommender SystemsJustin Basilico
21.1K views35 slides
Recent Trends in Personalization: A Netflix Perspective by
Recent Trends in Personalization: A Netflix PerspectiveRecent Trends in Personalization: A Netflix Perspective
Recent Trends in Personalization: A Netflix PerspectiveJustin Basilico
30.3K views64 slides
Time, Context and Causality in Recommender Systems by
Time, Context and Causality in Recommender SystemsTime, Context and Causality in Recommender Systems
Time, Context and Causality in Recommender SystemsYves Raimond
6K views35 slides
Introduction to Recommendation Systems by
Introduction to Recommendation SystemsIntroduction to Recommendation Systems
Introduction to Recommendation SystemsTrieu Nguyen
11.8K views40 slides

More Related Content

What's hot

Context Aware Recommendations at Netflix by
Context Aware Recommendations at NetflixContext Aware Recommendations at Netflix
Context Aware Recommendations at NetflixLinas Baltrunas
5.7K views38 slides
Personalized Page Generation for Browsing Recommendations by
Personalized Page Generation for Browsing RecommendationsPersonalized Page Generation for Browsing Recommendations
Personalized Page Generation for Browsing RecommendationsJustin Basilico
5.3K views44 slides
Recommender system by
Recommender systemRecommender system
Recommender systemNilotpal Pramanik
682 views32 slides
Qcon SF 2013 - Machine Learning & Recommender Systems @ Netflix Scale by
Qcon SF 2013 - Machine Learning & Recommender Systems @ Netflix ScaleQcon SF 2013 - Machine Learning & Recommender Systems @ Netflix Scale
Qcon SF 2013 - Machine Learning & Recommender Systems @ Netflix ScaleXavier Amatriain
15.1K views38 slides
Déjà Vu: The Importance of Time and Causality in Recommender Systems by
Déjà Vu: The Importance of Time and Causality in Recommender SystemsDéjà Vu: The Importance of Time and Causality in Recommender Systems
Déjà Vu: The Importance of Time and Causality in Recommender SystemsJustin Basilico
11.8K views45 slides
Personalizing "The Netflix Experience" with Deep Learning by
Personalizing "The Netflix Experience" with Deep LearningPersonalizing "The Netflix Experience" with Deep Learning
Personalizing "The Netflix Experience" with Deep LearningAnoop Deoras
1.1K views41 slides

What's hot(20)

Context Aware Recommendations at Netflix by Linas Baltrunas
Context Aware Recommendations at NetflixContext Aware Recommendations at Netflix
Context Aware Recommendations at Netflix
Linas Baltrunas5.7K views
Personalized Page Generation for Browsing Recommendations by Justin Basilico
Personalized Page Generation for Browsing RecommendationsPersonalized Page Generation for Browsing Recommendations
Personalized Page Generation for Browsing Recommendations
Justin Basilico5.3K views
Qcon SF 2013 - Machine Learning & Recommender Systems @ Netflix Scale by Xavier Amatriain
Qcon SF 2013 - Machine Learning & Recommender Systems @ Netflix ScaleQcon SF 2013 - Machine Learning & Recommender Systems @ Netflix Scale
Qcon SF 2013 - Machine Learning & Recommender Systems @ Netflix Scale
Xavier Amatriain15.1K views
Déjà Vu: The Importance of Time and Causality in Recommender Systems by Justin Basilico
Déjà Vu: The Importance of Time and Causality in Recommender SystemsDéjà Vu: The Importance of Time and Causality in Recommender Systems
Déjà Vu: The Importance of Time and Causality in Recommender Systems
Justin Basilico11.8K views
Personalizing "The Netflix Experience" with Deep Learning by Anoop Deoras
Personalizing "The Netflix Experience" with Deep LearningPersonalizing "The Netflix Experience" with Deep Learning
Personalizing "The Netflix Experience" with Deep Learning
Anoop Deoras1.1K views
Deep Learning for Recommender Systems by Yves Raimond
Deep Learning for Recommender SystemsDeep Learning for Recommender Systems
Deep Learning for Recommender Systems
Yves Raimond15.4K views
Calibrated Recommendations by Harald Steck
Calibrated RecommendationsCalibrated Recommendations
Calibrated Recommendations
Harald Steck4.2K views
Recommender system introduction by Liang Xiang
Recommender system   introductionRecommender system   introduction
Recommender system introduction
Liang Xiang12.3K views
Recsys 2016 tutorial: Lessons learned from building real-life recommender sys... by Xavier Amatriain
Recsys 2016 tutorial: Lessons learned from building real-life recommender sys...Recsys 2016 tutorial: Lessons learned from building real-life recommender sys...
Recsys 2016 tutorial: Lessons learned from building real-life recommender sys...
Xavier Amatriain16.5K views
Sequential Decision Making in Recommendations by Jaya Kawale
Sequential Decision Making in RecommendationsSequential Decision Making in Recommendations
Sequential Decision Making in Recommendations
Jaya Kawale2.1K views
Making Netflix Machine Learning Algorithms Reliable by Justin Basilico
Making Netflix Machine Learning Algorithms ReliableMaking Netflix Machine Learning Algorithms Reliable
Making Netflix Machine Learning Algorithms Reliable
Justin Basilico11.8K views
Recent advances in deep recommender systems by NAVER Engineering
Recent advances in deep recommender systemsRecent advances in deep recommender systems
Recent advances in deep recommender systems
NAVER Engineering1.9K views
Learning a Personalized Homepage by Justin Basilico
Learning a Personalized HomepageLearning a Personalized Homepage
Learning a Personalized Homepage
Justin Basilico6.5K views
Recommendation at Netflix Scale by Justin Basilico
Recommendation at Netflix ScaleRecommendation at Netflix Scale
Recommendation at Netflix Scale
Justin Basilico21.6K views
Boston ML - Architecting Recommender Systems by James Kirk
Boston ML - Architecting Recommender SystemsBoston ML - Architecting Recommender Systems
Boston ML - Architecting Recommender Systems
James Kirk8.6K views
Recommender Systems by T212
Recommender SystemsRecommender Systems
Recommender Systems
T21243.9K views
A Multi-Armed Bandit Framework For Recommendations at Netflix by Jaya Kawale
A Multi-Armed Bandit Framework For Recommendations at NetflixA Multi-Armed Bandit Framework For Recommendations at Netflix
A Multi-Armed Bandit Framework For Recommendations at Netflix
Jaya Kawale11.1K views
Missing values in recommender models by Parmeshwar Khurd
Missing values in recommender modelsMissing values in recommender models
Missing values in recommender models
Parmeshwar Khurd122 views

Viewers also liked

Kdd 2014 Tutorial - the recommender problem revisited by
Kdd 2014 Tutorial -  the recommender problem revisitedKdd 2014 Tutorial -  the recommender problem revisited
Kdd 2014 Tutorial - the recommender problem revisitedXavier Amatriain
46.9K views135 slides
Use of Analytics by Netflix - Case Study by
Use of Analytics by Netflix - Case StudyUse of Analytics by Netflix - Case Study
Use of Analytics by Netflix - Case StudySaket Toshniwal
14.4K views12 slides
Recommender system algorithm and architecture by
Recommender system algorithm and architectureRecommender system algorithm and architecture
Recommender system algorithm and architectureLiang Xiang
40.7K views39 slides
Music Recommendations at Scale with Spark by
Music Recommendations at Scale with SparkMusic Recommendations at Scale with Spark
Music Recommendations at Scale with SparkChris Johnson
58.6K views65 slides
Recsys 2014 Tutorial - The Recommender Problem Revisited by
Recsys 2014 Tutorial - The Recommender Problem RevisitedRecsys 2014 Tutorial - The Recommender Problem Revisited
Recsys 2014 Tutorial - The Recommender Problem RevisitedXavier Amatriain
27K views112 slides
Music recommendations @ MLConf 2014 by
Music recommendations @ MLConf 2014Music recommendations @ MLConf 2014
Music recommendations @ MLConf 2014Erik Bernhardsson
28.6K views44 slides

Viewers also liked(20)

Kdd 2014 Tutorial - the recommender problem revisited by Xavier Amatriain
Kdd 2014 Tutorial -  the recommender problem revisitedKdd 2014 Tutorial -  the recommender problem revisited
Kdd 2014 Tutorial - the recommender problem revisited
Xavier Amatriain46.9K views
Use of Analytics by Netflix - Case Study by Saket Toshniwal
Use of Analytics by Netflix - Case StudyUse of Analytics by Netflix - Case Study
Use of Analytics by Netflix - Case Study
Saket Toshniwal14.4K views
Recommender system algorithm and architecture by Liang Xiang
Recommender system algorithm and architectureRecommender system algorithm and architecture
Recommender system algorithm and architecture
Liang Xiang40.7K views
Music Recommendations at Scale with Spark by Chris Johnson
Music Recommendations at Scale with SparkMusic Recommendations at Scale with Spark
Music Recommendations at Scale with Spark
Chris Johnson58.6K views
Recsys 2014 Tutorial - The Recommender Problem Revisited by Xavier Amatriain
Recsys 2014 Tutorial - The Recommender Problem RevisitedRecsys 2014 Tutorial - The Recommender Problem Revisited
Recsys 2014 Tutorial - The Recommender Problem Revisited
Xavier Amatriain27K views
Music recommendations @ MLConf 2014 by Erik Bernhardsson
Music recommendations @ MLConf 2014Music recommendations @ MLConf 2014
Music recommendations @ MLConf 2014
Erik Bernhardsson28.6K views
How to Build a Recommendation Engine on Spark by Caserta
How to Build a Recommendation Engine on SparkHow to Build a Recommendation Engine on Spark
How to Build a Recommendation Engine on Spark
Caserta 37.5K views
Recommender Systems (Machine Learning Summer School 2014 @ CMU) by Xavier Amatriain
Recommender Systems (Machine Learning Summer School 2014 @ CMU)Recommender Systems (Machine Learning Summer School 2014 @ CMU)
Recommender Systems (Machine Learning Summer School 2014 @ CMU)
Xavier Amatriain184.6K views
The Science and the Magic of User Feedback for Recommender Systems by Xavier Amatriain
The Science and the Magic of User Feedback for Recommender SystemsThe Science and the Magic of User Feedback for Recommender Systems
The Science and the Magic of User Feedback for Recommender Systems
Xavier Amatriain19.3K views
Key Lessons Learned Building Recommender Systems for Large-Scale Social Netw... by Christian Posse
 Key Lessons Learned Building Recommender Systems for Large-Scale Social Netw... Key Lessons Learned Building Recommender Systems for Large-Scale Social Netw...
Key Lessons Learned Building Recommender Systems for Large-Scale Social Netw...
Christian Posse3.3K views
Дмитрий Сидорин. Как применить Big Data для роста трафика и продаж by Дмитрий Шахов
Дмитрий Сидорин. Как применить Big Data для роста трафика и продажДмитрий Сидорин. Как применить Big Data для роста трафика и продаж
Дмитрий Сидорин. Как применить Big Data для роста трафика и продаж
Применение Big Data в маркетинге by Evgeniy Pavlovskiy
Применение Big Data в маркетингеПрименение Big Data в маркетинге
Применение Big Data в маркетинге
Evgeniy Pavlovskiy932 views
Co-occurrence Based Recommendations with Mahout, Scala and Spark by sscdotopen
Co-occurrence Based Recommendations with Mahout, Scala and SparkCo-occurrence Based Recommendations with Mahout, Scala and Spark
Co-occurrence Based Recommendations with Mahout, Scala and Spark
sscdotopen8.9K views
BIG2016- Lessons Learned from building real-life user-focused Big Data systems by Xavier Amatriain
BIG2016- Lessons Learned from building real-life user-focused Big Data systemsBIG2016- Lessons Learned from building real-life user-focused Big Data systems
BIG2016- Lessons Learned from building real-life user-focused Big Data systems
Xavier Amatriain3.4K views
Big Data в маркетинге. Просто о непонятном: задачи, возможности, реальность by Techart Marketing Group
Big Data в маркетинге. Просто о непонятном: задачи, возможности, реальностьBig Data в маркетинге. Просто о непонятном: задачи, возможности, реальность
Big Data в маркетинге. Просто о непонятном: задачи, возможности, реальность
Zombies, Run! Transforming Fitness, Games & Story by Adrian Hon
Zombies, Run! Transforming Fitness, Games & StoryZombies, Run! Transforming Fitness, Games & Story
Zombies, Run! Transforming Fitness, Games & Story
Adrian Hon1.3K views
Musicas cifradas bossa nova samba 01 by Elvis Live
Musicas cifradas bossa nova samba 01Musicas cifradas bossa nova samba 01
Musicas cifradas bossa nova samba 01
Elvis Live3.2K views
Mapas conceptuales de solci thieroldt ♥ by Solcita123
Mapas conceptuales de solci thieroldt ♥Mapas conceptuales de solci thieroldt ♥
Mapas conceptuales de solci thieroldt ♥
Solcita123907 views

Similar to Building Large-scale Real-world Recommender Systems - Recsys2012 tutorial

Netflix Recommendations - Beyond the 5 Stars by
Netflix Recommendations - Beyond the 5 StarsNetflix Recommendations - Beyond the 5 Stars
Netflix Recommendations - Beyond the 5 StarsXavier Amatriain
21.2K views82 slides
Xavier amatriain, dir algorithms netflix m lconf 2013 by
Xavier amatriain, dir algorithms netflix m lconf 2013Xavier amatriain, dir algorithms netflix m lconf 2013
Xavier amatriain, dir algorithms netflix m lconf 2013MLconf
3.4K views47 slides
MLConf - Emmys, Oscars & Machine Learning Algorithms at Netflix by
MLConf - Emmys, Oscars & Machine Learning Algorithms at NetflixMLConf - Emmys, Oscars & Machine Learning Algorithms at Netflix
MLConf - Emmys, Oscars & Machine Learning Algorithms at NetflixXavier Amatriain
4K views47 slides
Ask Me Any Rating: A Content-based Recommender System based on Recurrent Neur... by
Ask Me Any Rating: A Content-based Recommender System based on Recurrent Neur...Ask Me Any Rating: A Content-based Recommender System based on Recurrent Neur...
Ask Me Any Rating: A Content-based Recommender System based on Recurrent Neur...Claudio Greco
165 views36 slides
Ask Me Any Rating: A Content-based Recommender System based on Recurrent Neur... by
Ask Me Any Rating: A Content-based Recommender System based on Recurrent Neur...Ask Me Any Rating: A Content-based Recommender System based on Recurrent Neur...
Ask Me Any Rating: A Content-based Recommender System based on Recurrent Neur...Alessandro Suglia
516 views36 slides
Facets and Pivoting for Flexible and Usable Linked Data Exploration by
Facets and Pivoting for Flexible and Usable Linked Data ExplorationFacets and Pivoting for Flexible and Usable Linked Data Exploration
Facets and Pivoting for Flexible and Usable Linked Data ExplorationRoberto García
1K views24 slides

Similar to Building Large-scale Real-world Recommender Systems - Recsys2012 tutorial(20)

Netflix Recommendations - Beyond the 5 Stars by Xavier Amatriain
Netflix Recommendations - Beyond the 5 StarsNetflix Recommendations - Beyond the 5 Stars
Netflix Recommendations - Beyond the 5 Stars
Xavier Amatriain21.2K views
Xavier amatriain, dir algorithms netflix m lconf 2013 by MLconf
Xavier amatriain, dir algorithms netflix m lconf 2013Xavier amatriain, dir algorithms netflix m lconf 2013
Xavier amatriain, dir algorithms netflix m lconf 2013
MLconf3.4K views
MLConf - Emmys, Oscars & Machine Learning Algorithms at Netflix by Xavier Amatriain
MLConf - Emmys, Oscars & Machine Learning Algorithms at NetflixMLConf - Emmys, Oscars & Machine Learning Algorithms at Netflix
MLConf - Emmys, Oscars & Machine Learning Algorithms at Netflix
Xavier Amatriain4K views
Ask Me Any Rating: A Content-based Recommender System based on Recurrent Neur... by Claudio Greco
Ask Me Any Rating: A Content-based Recommender System based on Recurrent Neur...Ask Me Any Rating: A Content-based Recommender System based on Recurrent Neur...
Ask Me Any Rating: A Content-based Recommender System based on Recurrent Neur...
Claudio Greco165 views
Ask Me Any Rating: A Content-based Recommender System based on Recurrent Neur... by Alessandro Suglia
Ask Me Any Rating: A Content-based Recommender System based on Recurrent Neur...Ask Me Any Rating: A Content-based Recommender System based on Recurrent Neur...
Ask Me Any Rating: A Content-based Recommender System based on Recurrent Neur...
Alessandro Suglia516 views
Facets and Pivoting for Flexible and Usable Linked Data Exploration by Roberto García
Facets and Pivoting for Flexible and Usable Linked Data ExplorationFacets and Pivoting for Flexible and Usable Linked Data Exploration
Facets and Pivoting for Flexible and Usable Linked Data Exploration
Roberto García1K views
Machine Learning with Mahout by bigdatasyd
Machine Learning with MahoutMachine Learning with Mahout
Machine Learning with Mahout
bigdatasyd6K views
acmsigtalkshare-121023190142-phpapp01.pptx by dongchangim30
acmsigtalkshare-121023190142-phpapp01.pptxacmsigtalkshare-121023190142-phpapp01.pptx
acmsigtalkshare-121023190142-phpapp01.pptx
dongchangim304 views
Reward constrained interactive recommendation with natural language feedback ... by Jeong-Gwan Lee
Reward constrained interactive recommendation with natural language feedback ...Reward constrained interactive recommendation with natural language feedback ...
Reward constrained interactive recommendation with natural language feedback ...
Jeong-Gwan Lee42 views
2011-02-03 LA RubyConf Rails3 TDD Workshop by Wolfram Arnold
2011-02-03 LA RubyConf Rails3 TDD Workshop2011-02-03 LA RubyConf Rails3 TDD Workshop
2011-02-03 LA RubyConf Rails3 TDD Workshop
Wolfram Arnold708 views
Inventing the future Business Programming Language by ESUG
Inventing the future  Business Programming LanguageInventing the future  Business Programming Language
Inventing the future Business Programming Language
ESUG1.1K views
BehavioMetrics: A Big Data Approach by Jiang Zhu
BehavioMetrics: A Big Data ApproachBehavioMetrics: A Big Data Approach
BehavioMetrics: A Big Data Approach
Jiang Zhu1K views
Recommender Systems from A to Z – The Right Dataset by Crossing Minds
Recommender Systems from A to Z – The Right DatasetRecommender Systems from A to Z – The Right Dataset
Recommender Systems from A to Z – The Right Dataset
Crossing Minds535 views
Tag And Tag Based Recommender by gu wendong
Tag And Tag Based RecommenderTag And Tag Based Recommender
Tag And Tag Based Recommender
gu wendong3.5K views
2009 - Node XL v.84+ - Social Media Network Visualization Tools For Excel 2007 by Marc Smith
2009 - Node XL v.84+ - Social Media Network Visualization Tools For Excel 20072009 - Node XL v.84+ - Social Media Network Visualization Tools For Excel 2007
2009 - Node XL v.84+ - Social Media Network Visualization Tools For Excel 2007
Marc Smith5.1K views
Webpage Personalization and User Profiling by yingfeng
Webpage Personalization and User ProfilingWebpage Personalization and User Profiling
Webpage Personalization and User Profiling
yingfeng735 views
Graph Based Machine Learning with Applications to Media Analytics by NYC Predictive Analytics
Graph Based Machine Learning with Applications to Media AnalyticsGraph Based Machine Learning with Applications to Media Analytics
Graph Based Machine Learning with Applications to Media Analytics
Neural Nets Deconstructed by Paul Sterk
Neural Nets DeconstructedNeural Nets Deconstructed
Neural Nets Deconstructed
Paul Sterk105 views
Deep learning from a novice perspective by Anirban Santara
Deep learning from a novice perspectiveDeep learning from a novice perspective
Deep learning from a novice perspective
Anirban Santara1.2K views

More from Xavier Amatriain

Data/AI driven product development: from video streaming to telehealth by
Data/AI driven product development: from video streaming to telehealthData/AI driven product development: from video streaming to telehealth
Data/AI driven product development: from video streaming to telehealthXavier Amatriain
436 views50 slides
AI-driven product innovation: from Recommender Systems to COVID-19 by
AI-driven product innovation: from Recommender Systems to COVID-19AI-driven product innovation: from Recommender Systems to COVID-19
AI-driven product innovation: from Recommender Systems to COVID-19Xavier Amatriain
864 views77 slides
AI for COVID-19 - Q42020 update by
AI for COVID-19 - Q42020 updateAI for COVID-19 - Q42020 update
AI for COVID-19 - Q42020 updateXavier Amatriain
1.3K views29 slides
AI for COVID-19: An online virtual care approach by
AI for COVID-19: An online virtual care approachAI for COVID-19: An online virtual care approach
AI for COVID-19: An online virtual care approachXavier Amatriain
1.8K views15 slides
Lessons learned from building practical deep learning systems by
Lessons learned from building practical deep learning systemsLessons learned from building practical deep learning systems
Lessons learned from building practical deep learning systemsXavier Amatriain
71.9K views61 slides
AI for healthcare: Scaling Access and Quality of Care for Everyone by
AI for healthcare: Scaling Access and Quality of Care for EveryoneAI for healthcare: Scaling Access and Quality of Care for Everyone
AI for healthcare: Scaling Access and Quality of Care for EveryoneXavier Amatriain
2.5K views29 slides

More from Xavier Amatriain(20)

Data/AI driven product development: from video streaming to telehealth by Xavier Amatriain
Data/AI driven product development: from video streaming to telehealthData/AI driven product development: from video streaming to telehealth
Data/AI driven product development: from video streaming to telehealth
Xavier Amatriain436 views
AI-driven product innovation: from Recommender Systems to COVID-19 by Xavier Amatriain
AI-driven product innovation: from Recommender Systems to COVID-19AI-driven product innovation: from Recommender Systems to COVID-19
AI-driven product innovation: from Recommender Systems to COVID-19
Xavier Amatriain864 views
AI for COVID-19: An online virtual care approach by Xavier Amatriain
AI for COVID-19: An online virtual care approachAI for COVID-19: An online virtual care approach
AI for COVID-19: An online virtual care approach
Xavier Amatriain1.8K views
Lessons learned from building practical deep learning systems by Xavier Amatriain
Lessons learned from building practical deep learning systemsLessons learned from building practical deep learning systems
Lessons learned from building practical deep learning systems
Xavier Amatriain71.9K views
AI for healthcare: Scaling Access and Quality of Care for Everyone by Xavier Amatriain
AI for healthcare: Scaling Access and Quality of Care for EveryoneAI for healthcare: Scaling Access and Quality of Care for Everyone
AI for healthcare: Scaling Access and Quality of Care for Everyone
Xavier Amatriain2.5K views
Towards online universal quality healthcare through AI by Xavier Amatriain
Towards online universal quality healthcare through AITowards online universal quality healthcare through AI
Towards online universal quality healthcare through AI
Xavier Amatriain1.7K views
From one to zero: Going smaller as a growth strategy by Xavier Amatriain
From one to zero: Going smaller as a growth strategyFrom one to zero: Going smaller as a growth strategy
From one to zero: Going smaller as a growth strategy
Xavier Amatriain1.8K views
Medical advice as a Recommender System by Xavier Amatriain
Medical advice as a Recommender SystemMedical advice as a Recommender System
Medical advice as a Recommender System
Xavier Amatriain5.6K views
Past present and future of Recommender Systems: an Industry Perspective by Xavier Amatriain
Past present and future of Recommender Systems: an Industry PerspectivePast present and future of Recommender Systems: an Industry Perspective
Past present and future of Recommender Systems: an Industry Perspective
Xavier Amatriain7.2K views
Staying Shallow & Lean in a Deep Learning World by Xavier Amatriain
Staying Shallow & Lean in a Deep Learning WorldStaying Shallow & Lean in a Deep Learning World
Staying Shallow & Lean in a Deep Learning World
Xavier Amatriain7.6K views
Machine Learning for Q&A Sites: The Quora Example by Xavier Amatriain
Machine Learning for Q&A Sites: The Quora ExampleMachine Learning for Q&A Sites: The Quora Example
Machine Learning for Q&A Sites: The Quora Example
Xavier Amatriain6.2K views
Strata 2016 - Lessons Learned from building real-life Machine Learning Systems by Xavier Amatriain
Strata 2016 -  Lessons Learned from building real-life Machine Learning SystemsStrata 2016 -  Lessons Learned from building real-life Machine Learning Systems
Strata 2016 - Lessons Learned from building real-life Machine Learning Systems
Xavier Amatriain5.9K views
Barcelona ML Meetup - Lessons Learned by Xavier Amatriain
Barcelona ML Meetup - Lessons LearnedBarcelona ML Meetup - Lessons Learned
Barcelona ML Meetup - Lessons Learned
Xavier Amatriain3.2K views
10 more lessons learned from building Machine Learning systems - MLConf by Xavier Amatriain
10 more lessons learned from building Machine Learning systems - MLConf10 more lessons learned from building Machine Learning systems - MLConf
10 more lessons learned from building Machine Learning systems - MLConf
Xavier Amatriain376.1K views
10 more lessons learned from building Machine Learning systems by Xavier Amatriain
10 more lessons learned from building Machine Learning systems10 more lessons learned from building Machine Learning systems
10 more lessons learned from building Machine Learning systems
Xavier Amatriain180.1K views
Machine Learning to Grow the World's Knowledge by Xavier Amatriain
Machine Learning to Grow  the World's KnowledgeMachine Learning to Grow  the World's Knowledge
Machine Learning to Grow the World's Knowledge
Xavier Amatriain29.6K views

Recently uploaded

Webinar : Desperately Seeking Transformation - Part 2: Insights from leading... by
Webinar : Desperately Seeking Transformation - Part 2:  Insights from leading...Webinar : Desperately Seeking Transformation - Part 2:  Insights from leading...
Webinar : Desperately Seeking Transformation - Part 2: Insights from leading...The Digital Insurer
91 views52 slides
Qualifying SaaS, IaaS.pptx by
Qualifying SaaS, IaaS.pptxQualifying SaaS, IaaS.pptx
Qualifying SaaS, IaaS.pptxSachin Bhandari
1.1K views8 slides
Discover Aura Workshop (12.5.23).pdf by
Discover Aura Workshop (12.5.23).pdfDiscover Aura Workshop (12.5.23).pdf
Discover Aura Workshop (12.5.23).pdfNeo4j
15 views55 slides
KubeConNA23 Recap.pdf by
KubeConNA23 Recap.pdfKubeConNA23 Recap.pdf
KubeConNA23 Recap.pdfMichaelOLeary82
24 views27 slides
MVP and prioritization.pdf by
MVP and prioritization.pdfMVP and prioritization.pdf
MVP and prioritization.pdfrahuldharwal141
39 views8 slides
Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or... by
Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or...Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or...
Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or...ShapeBlue
199 views20 slides

Recently uploaded(20)

Webinar : Desperately Seeking Transformation - Part 2: Insights from leading... by The Digital Insurer
Webinar : Desperately Seeking Transformation - Part 2:  Insights from leading...Webinar : Desperately Seeking Transformation - Part 2:  Insights from leading...
Webinar : Desperately Seeking Transformation - Part 2: Insights from leading...
Discover Aura Workshop (12.5.23).pdf by Neo4j
Discover Aura Workshop (12.5.23).pdfDiscover Aura Workshop (12.5.23).pdf
Discover Aura Workshop (12.5.23).pdf
Neo4j15 views
Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or... by ShapeBlue
Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or...Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or...
Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or...
ShapeBlue199 views
AIM102-S_Cognizant_CognizantCognitive by PhilipBasford
AIM102-S_Cognizant_CognizantCognitiveAIM102-S_Cognizant_CognizantCognitive
AIM102-S_Cognizant_CognizantCognitive
PhilipBasford21 views
Bronack Skills - Risk Management and SRE v1.0 12-3-2023.pdf by ThomasBronack
Bronack Skills - Risk Management and SRE v1.0 12-3-2023.pdfBronack Skills - Risk Management and SRE v1.0 12-3-2023.pdf
Bronack Skills - Risk Management and SRE v1.0 12-3-2023.pdf
ThomasBronack31 views
Business Analyst Series 2023 - Week 4 Session 8 by DianaGray10
Business Analyst Series 2023 -  Week 4 Session 8Business Analyst Series 2023 -  Week 4 Session 8
Business Analyst Series 2023 - Week 4 Session 8
DianaGray10145 views
Transcript: Redefining the book supply chain: A glimpse into the future - Tec... by BookNet Canada
Transcript: Redefining the book supply chain: A glimpse into the future - Tec...Transcript: Redefining the book supply chain: A glimpse into the future - Tec...
Transcript: Redefining the book supply chain: A glimpse into the future - Tec...
BookNet Canada41 views
Redefining the book supply chain: A glimpse into the future - Tech Forum 2023 by BookNet Canada
Redefining the book supply chain: A glimpse into the future - Tech Forum 2023Redefining the book supply chain: A glimpse into the future - Tech Forum 2023
Redefining the book supply chain: A glimpse into the future - Tech Forum 2023
BookNet Canada44 views
Initiating and Advancing Your Strategic GIS Governance Strategy by Safe Software
Initiating and Advancing Your Strategic GIS Governance StrategyInitiating and Advancing Your Strategic GIS Governance Strategy
Initiating and Advancing Your Strategic GIS Governance Strategy
Safe Software184 views
PCCC23:日本AMD株式会社 テーマ1「AMD Instinct™ アクセラレーターの概要」 by PC Cluster Consortium
PCCC23:日本AMD株式会社 テーマ1「AMD Instinct™ アクセラレーターの概要」PCCC23:日本AMD株式会社 テーマ1「AMD Instinct™ アクセラレーターの概要」
PCCC23:日本AMD株式会社 テーマ1「AMD Instinct™ アクセラレーターの概要」
Measurecamp Brussels - Synthetic data.pdf by Human37
Measurecamp Brussels - Synthetic data.pdfMeasurecamp Brussels - Synthetic data.pdf
Measurecamp Brussels - Synthetic data.pdf
Human37 26 views
Future of AR - Facebook Presentation by Rob McCarty
Future of AR - Facebook PresentationFuture of AR - Facebook Presentation
Future of AR - Facebook Presentation
Rob McCarty65 views
The Power of Heat Decarbonisation Plans in the Built Environment by IES VE
The Power of Heat Decarbonisation Plans in the Built EnvironmentThe Power of Heat Decarbonisation Plans in the Built Environment
The Power of Heat Decarbonisation Plans in the Built Environment
IES VE84 views

Building Large-scale Real-world Recommender Systems - Recsys2012 tutorial

  • 1. Building  Industrial-­‐scale  Real-­‐world  Recommender  Systems                                                                                                                            September  11,  2012     Xavier  Amatriain   Personaliza8on  Science  and  Engineering  -­‐  Ne?lix   @xamat  
  • 2. Outline 1.  Anatomy of Netflix Personalization 2.  Data & Models 3.  Consumer (Data) Science 4.  Architectures
  • 3. Anatomy of Netflix Personalization Everything is a Recommendation
  • 4. Everything is personalized Ranking Note: Recommendations Rows are per household, not individual user 4
  • 5. Top 10 Personalization awareness All Dad Dad&Mom Daughter All All? Daughter Son Mom Mom Diversity 5
  • 6. Support for Recommendations Social Support 6
  • 7. Watch again & Continue Watching 7
  • 9. Genre rows §  Personalized genre rows focus on user interest §  Also provide context and “evidence” §  Important for member satisfaction – moving personalized rows to top on devices increased retention §  How are they generated? §  Implicit: based on user’s recent plays, ratings, & other interactions §  Explicit taste preferences §  Hybrid:combine the above §  Also take into account: §  Freshness - has this been shown before? §  Diversity– avoid repeating tags and genres, limit number of TV genres, etc.
  • 14. Genres – user involvement 14
  • 15. Genres – user involvement 15
  • 16. Similars §  Displayed in many different contexts §  In response to user actions/ context (search, queue add…) §  More like… rows
  • 17. Anatomy of a Personalization - Recap §  Everything is a recommendation: not only rating prediction, but also ranking, row selection, similarity… §  We strive to make it easy for the user, but… §  We want the user to be aware and be involved in the recommendation process §  Deal with implicit/explicit and hybrid feedback §  Add support/explanations for recommendations §  Consider issues such as diversity or freshness 17
  • 19. §  Plays Big Data §  Behavior §  Geo-Information §  Time §  Ratings §  Searches §  Impressions §  Device info §  Metadata §  Social §  … 19
  • 20. Big Data §  25M+ subscribers @Netflix §  Ratings: 4M/day §  Searches: 3M/day §  Plays: 30M/day §  2B hours streamed in Q4 2011 §  1B hours in June 2012 20
  • 21. Models §  Logistic/linear regression §  Elastic nets §  Matrix Factorization §  Markov Chains §  Clustering §  LDA §  Association Rules §  Gradient Boosted Decision Trees §  … 21
  • 23. 2007 Progress Prize §  KorBell team (AT&T) improved by 8.43% §  Spent ~2,000 hours §  Combined 107 prediction algorithms with linear equation §  Gave us the source code
  • 24. 2007 Progress Prize §  Top 2 algorithms §  SVD - Prize RMSE: 0.8914 §  RBM - Prize RMSE: 0.8990 §  Linear blend Prize RMSE: 0.88 §  Limitations §  Designed for 100M ratings, we have 5B ratings §  Not adaptable as users add ratings §  Performance issues §  Currently in use as part of Netflix’ rating prediction component
  • 25. SVD X[n x m] = U[n x r] S [ r x r] (V[m x r])T §  X: m x n matrix (e.g., m users, n videos) §  U: m x r matrix (m users, r concepts) §  S: r x r diagonal matrix (strength of each ‘concept’) (r: rank of the matrix) §  V: r x n matrix (n videos, r concepts)
  • 26. Simon Funk’s SVD §  One of the most interesting findings during the Netflix Prize came out of a blog post §  Incremental, iterative, and approximate way to compute the SVD using gradient descent http://sifter.org/~simon/journal/20061211.html 26
  • 27. SVD for Rating Prediction §  Associate each user with a user-factors vector pu ∈ ℜ f §  Associate each item with an item-factors vector qv ∈ ℜ f §  Define a baseline estimate buv = µ + bu + bv to account for user and item deviation from the average §  Predict rating using the rule ' T r = buv + p qv uv u 27
  • 28. SVD++ §  Koren et. al proposed an asymmetric variation that includes implicit feedback: $ − 1 − 1 ' ' T & R(u) 2 r = buv + q & uv v ∑ (ruj − buj )x j + N(u) 2 ∑ yj ) ) % j∈R(u) j∈N (u) ( §  Where §  qv , xv , yv ∈ ℜ f are three item factor vectors §  Users are not parametrized, but rather represented by: §  R(u): items rated by user u §  N(u): items for which the user has given an implicit preference (e.g. rated vs. not rated) 28
  • 29. RBM
  • 30. First generation neural networks (~60s) Like Hate §  Perceptrons (~1960) output units - §  Single layer of hand-coded class labels features §  Linear activation function §  Fundamentally limited in what non-adaptive they can learn to do. hand-coded features input units - features
  • 31. Second generation neural networks (~80s) Compare output to Back-propagate correct answer to compute error signal error signal to get derivatives outputs for learning Non-linear activation function hidden layers input features
  • 32. Belief Networks (~90s) §  Directed acyclic graph stochas8c   composed of stochastic hidden                 variables with weighted cause   connections. §  Can observe some of the variables §  Solve two problems: §  Inference: Infer the states of the unobserved variables. visible     §  Learning: Adjust the effect   interactions between variables to make the network more likely to generate the observed data.
  • 33. Restricted Boltzmann Machine §  Restrict the connectivity to make learning easier. §  Only one layer of hidden units. §  Although multiple layers are possible hidden §  No connections between hidden units. j §  Hidden units are independent given the visible states.. §  So we can quickly get an unbiased sample from the posterior distribution over hidden “causes” i when given a data-vector visible §  RBMs can be stacked to form Deep Belief Nets (DBN)
  • 34. RBM for the Netflix Prize 34
  • 35. What about the final prize ensembles? §  Our offline studies showed they were too computationally intensive to scale §  Expected improvement not worth the engineering effort §  Plus, focus had already shifted to other issues that had more impact than rating prediction... 35
  • 36. Ranking Key algorithm, sorts titles in most contexts
  • 37. Ranking §  Ranking = Scoring + Sorting + Filtering §  Factors bags of movies for presentation to a user §  Accuracy §  Goal: Find the best possible ordering of a §  Novelty set of videos for a user within a specific §  Diversity context in real-time §  Freshness §  Objective: maximize consumption §  Scalability §  Aspirations: Played & “enjoyed” titles have §  … best score §  Akin to CTR forecast for ads/search results
  • 38. Ranking §  Popularity is the obvious baseline §  Ratings prediction is a clear secondary data input that allows for personalization §  We have added many other features (and tried many more that have not proved useful) §  What about the weights? §  Based on A/B testing §  Machine-learned
  • 39. Example: Two features, linear model 1   Predicted Rating 2   Final  Ranking   3   4   Linear  Model:   frank(u,v)  =  w1  p(v)  +  w2  r(u,v)  +  b   5   Popularity 39
  • 40. Results 40
  • 41. Learning to rank §  Machine learning problem: goal is to construct ranking model from training data §  Training data can have partial order or binary judgments (relevant/not relevant). §  Resulting order of the items typically induced from a numerical score §  Learning to rank is a key element for personalization §  You can treat the problem as a standard supervised classification problem 41
  • 42. Learning to Rank Approaches 1.  Pointwise §  Ranking function minimizes loss function defined on individual relevance judgment §  Ranking score based on regression or classification §  Ordinal regression, Logistic regression, SVM, GBDT, … 2.  Pairwise §  Loss function is defined on pair-wise preferences §  Goal: minimize number of inversions in ranking §  Ranking problem is then transformed into the binary classification problem §  RankSVM, RankBoost, RankNet, FRank…
  • 43. Learning to rank - metrics §  Quality of ranking measured using metrics as §  Normalized Discounted Cumulative Gain n DCG relevancei NDCG = where DCG = relevance1 + ∑ and IDCG = ideal ranking IDCG 2 log 2 i §  Mean Reciprocal Rank (MRR) 1 1 MRR = H ∑ rank(h ) where hi are the positive “hits” from the user h∈H i §  Mean average Precision (MAP) N ∑ AveP(n) tp MAP = n=1 where N can be number of users, items… and P = N tp + fp 43
  • 44. Learning to rank - metrics §  Quality of ranking measured using metrics as §  Fraction of Concordant Pairs (FCP) §  Given items xi and xj, user preference P and a ranking method R, a concordant pair (CP) is { xi , x j } s.t.P(xi ) > P(x j ) ⇔ R(xi ) < R(x j ) ∑CP(x , x ) i j §  Then FCP = i≠ j n(n −1) §  Others… 2 §  But, it is hard to optimize machine-learned models directly on these measures §  They are not differentiable §  Recent research on models that directly optimize ranking measures 44
  • 45. Learning to Rank Approaches 3.  Listwise a.  Directly optimizing IR measures (difficult since they are not differentiable) §  Directly optimize IR measures through Genetic Programming §  Directly optimize measures with Simulated Annealing §  Gradient descent on smoothed version of objective function §  SVM-MAP relaxes the MAP metric by adding it to the SVM constraints §  AdaRank uses boosting to optimize NDCG b.  Indirect Loss Function §  RankCosine uses similarity between the ranking list and the ground truth as loss function §  ListNet uses KL-divergence as loss function by defining a probability distribution §  Problem: optimization in the listwise loss function does not necessarily optimize IR metrics
  • 46. Similars §  Different similarities computed from different sources: metadata, ratings, viewing data… §  Similarities can be treated as data/features §  Machine Learned models improve our concept of “similarity” 46
  • 47. Data & Models - Recap §  All sorts of feedback from the user can help generate better recommendations §  Need to design systems that capture and take advantage of all this data §  The right model is as important as the right data §  It is important to come up with new theoretical models, but also need to think about application to a domain, and practical issues §  Rating prediction models are only part of the solution to recommendation (think about ranking, similarity…) 47
  • 49. Consumer Science §  Main goal is to effectively innovate for customers §  Innovation goals §  “If you want to increase your success rate, double your failure rate.” – Thomas Watson, Sr., founder of IBM §  The only real failure is the failure to innovate §  Fail cheaply §  Know why you failed/succeeded 49
  • 50. Consumer (Data) Science 1.  Start with a hypothesis: §  Algorithm/feature/design X will increase member engagement with our service, and ultimately member retention 2.  Design a test §  Develop a solution or prototype §  Think about dependent & independent variables, control, significance… 3.  Execute the test 4.  Let data speak for itself 50
  • 51. Offline/Online testing process days Weeks to months Offline Online A/B Rollout Feature to testing [success] testing [success] all users [fail] 51
  • 52. Offline testing process Initial Hypothesis Decide Reformulate Model Rollout Hypothesis Prototype Rollout Train Model Feature to [no] Wait for all users Try offline Online A/B Results Analyze different model? [yes] Test testing Results [success] [no] Hypothesis Significant validated improvement offline? on users? [yes] [fail] 52 [no]
  • 53. Offline testing §  Optimize algorithms offline §  Measure model performance, using metrics such as: §  Mean Reciprocal Rank, Normalized Discounted Cumulative Gain, Fraction of Concordant Pairs, Precision/Recall & F-measures, AUC, RMSE, Diversity… §  Offline performance used as an indication to make informed decisions on follow-up A/B tests §  A critical (and unsolved) issue is how offline metrics can correlate with A/B test results. §  Extremely important to define a coherent offline evaluation framework (e.g. How to create training/testing datasets is not trivial) 53
  • 54. Online A/B testing process Choose Design A/ Control B Test Group Decide Reformulate Model Rollout Hypothesis Prototype Rollout Train Model Feature to [no] Wait for offline all users Try Offline Results Analyze different model? testing [yes] Test Results Significant Hypothesis [success] improvement validated on users? [no] offline? [yes] [no] 54
  • 55. Executing A/B tests §  Many different metrics, but ultimately trust user engagement (e.g. hours of play and customer retention) §  Think about significance and hypothesis testing §  Our tests usually have thousands of members and 2-20 cells §  A/B Tests allow you to try radical ideas or test many approaches at the same time. §  We typically have hundreds of customer A/B tests running §  Decisions on the product always data-driven 55
  • 56. What to measure §  OEC: Overall Evaluation Criteria §  In an AB test framework, the measure of success is key §  Short-term metrics do not always align with long term goals §  E.g. CTR: generating more clicks might mean that our recommendations are actually worse §  Use long term metrics such as LTV (Life time value) whenever possible §  In Netflix, we use member retention 56
  • 57. What to measure §  Short-term metrics can sometimes be informative, and may allow for faster decision-taking §  At Netflix we use many such as hours streamed by users or %hours from a given algorithm §  But, be aware of several caveats of using early decision mechanisms Initial effects appear to trend. See “Trustworthy Online Controlled Experiments: Five Puzzling Outcomes Explained” [Kohavi et. Al. KDD 12] 57
  • 58. Consumer Data Science - Recap §  Consumer Data Science aims to innovate for the customer by running experiments and letting data speak §  This is mainly done through online AB Testing §  However, we can speed up innovation by experimenting offline §  But, both for online and offline experimentation, it is important to choose the right metric and experimental framework 58
  • 60. Technology hQp://techblog.ne?lix.com   60
  • 61. 61
  • 63. Event & Data Distribution •  UI devices should broadcast many different kinds of user events •  Clicks •  Presentations •  Browsing events •  … •  Events vs. data •  Some events only need to be propagated and trigger an action (low latency, low information per event) •  Others need to be processed and “turned into” data (higher latency, higher information quality). •  And… there are many in between •  Real-time event flow managed through internal tool (Manhattan) •  Data flow mostly managed through Hadoop. 63
  • 65. Offline Jobs •  Two kinds of offline jobs •  Model training •  Batch offline computation of recommendations/ intermediate results •  Offline queries either in Hive or PIG •  Need a publishing mechanism that solves several issues •  Notify readers when result of query is ready •  Support different repositories (s3, cassandra…) •  Handle errors, monitoring… •  We do this through Hermes 65
  • 67. Computation •  Two ways of computing personalized results •  Batch/offline •  Online •  Each approach has pros/cons •  Offline +  Allows more complex computations +  Can use more data -  Cannot react to quick changes -  May result in staleness •  Online +  Can respond quickly to events +  Can use most recent data -  May fail because of SLA -  Cannot deal with “complex” computations •  It’s not an either/or decision •  Both approaches can be combined 67
  • 69. Signals & Models •  Both offline and online algorithms are based on three different inputs: •  Models: previously trained from existing data •  (Offline) Data: previously processed and stored information •  Signals: fresh data obtained from live services •  User-related data •  Context data (session, date, time…) 69
  • 70. Results 70
  • 71. Results •  Recommendations can be serviced from: •  Previously computed lists •  Online algorithms •  A combination of both •  The decision on where to service the recommendation from can respond to many factors including context. •  Also, important to think about the fallbacks (what if plan A fails) •  Previously computed lists/intermediate results can be stored in a variety of ways •  Cache •  Cassandra •  Relational DB 71
  • 72. Alerts and Monitoring §  A non-trivial concern in large-scale recommender systems §  Monitoring: continuously observe quality of system §  Alert: fast notification if quality of system goes below a certain pre-defined threshold §  Questions: §  What do we need to monitor? §  How do we know something is “bad enough” to alert 72
  • 73. What to monitor Did something go §  Staleness wrong here? §  Monitor time since last data update 73
  • 74. What to monitor §  Algorithmic quality §  Monitor different metrics by comparing what users do and what your algorithm predicted they would do 74
  • 75. What to monitor §  Algorithmic quality §  Monitor different metrics by comparing what users do and what your algorithm predicted they would do Did something go wrong here? 75
  • 76. What to monitor §  Algorithmic source for users §  Monitor how users interact with different algorithms Algorithm X Did something go wrong here? New version 76
  • 77. When to alert §  Alerting thresholds are hard to tune §  Avoid unnecessary alerts (the “learn-to-ignore problem”) §  Avoid important issues being noticed before the alert happens §  Rules of thumb §  Alert on anything that will impact user experience significantly §  Alert on issues that are actionable §  If a noticeable event happens without an alert… add a new alert for next time 77
  • 79. The Personalization Problem §  The Netflix Prize simplified the recommendation problem to predicting ratings §  But… §  User ratings are only one of the many data inputs we have §  Rating predictions are only part of our solution §  Other algorithms such as ranking or similarity are very important §  We can reformulate the recommendation problem §  Function to optimize: probability a user chooses something and enjoys it enough to come back to the service 79
  • 80. More to Recsys than Algorithms §  Not only is there more to algorithms than rating prediction §  There is more to Recsys than algorithms §  User Interface & Feedback §  Data §  AB Testing §  Systems & Architectures 80
  • 81. More data + Better models + More accurate metrics + Better approaches & architectures Lots of room for improvement! 81
  • 82. We’re hiring! Xavier Amatriain (@xamat) xamatriain@netflix.com