46
Building a Recommendation Engine Sophie Watson [email protected]

Building a Recommendation Engine Sophie Watson sophie@redhat

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Building a Recommendation Engine Sophie Watson sophie@redhat

Building a Recommendation EngineSophie Watson [email protected]

Page 2: Building a Recommendation Engine Sophie Watson sophie@redhat
Page 3: Building a Recommendation Engine Sophie Watson sophie@redhat

Outline

Page 4: Building a Recommendation Engine Sophie Watson sophie@redhat

Collaborative Filtering

Page 5: Building a Recommendation Engine Sophie Watson sophie@redhat

Collaborative Filtering

Page 6: Building a Recommendation Engine Sophie Watson sophie@redhat

Collaborative Filtering

A: 5★ B: 3★ C: 3★

A: 5★ B: 5★ C: 3★

A: 5★ B: ??? C: 3★

Page 7: Building a Recommendation Engine Sophie Watson sophie@redhat

Collaborative Filtering

A: 5★ B: 3★ C: 3★

A: 5★ B: 5★ C: 3★

A: 5★ B: 4★ C: 3★

Page 8: Building a Recommendation Engine Sophie Watson sophie@redhat

Alternating Least Squares

Page 9: Building a Recommendation Engine Sophie Watson sophie@redhat

Alternating Least Squares

Page 10: Building a Recommendation Engine Sophie Watson sophie@redhat
Page 11: Building a Recommendation Engine Sophie Watson sophie@redhat
Page 12: Building a Recommendation Engine Sophie Watson sophie@redhat
Page 13: Building a Recommendation Engine Sophie Watson sophie@redhat
Page 14: Building a Recommendation Engine Sophie Watson sophie@redhat
Page 15: Building a Recommendation Engine Sophie Watson sophie@redhat
Page 16: Building a Recommendation Engine Sophie Watson sophie@redhat

DISCLAIMER: I’M IGNORING THE OVERFITTING TERM IN MSE COMPUTATION

Page 17: Building a Recommendation Engine Sophie Watson sophie@redhat
Page 18: Building a Recommendation Engine Sophie Watson sophie@redhat
Page 19: Building a Recommendation Engine Sophie Watson sophie@redhat
Page 20: Building a Recommendation Engine Sophie Watson sophie@redhat
Page 21: Building a Recommendation Engine Sophie Watson sophie@redhat
Page 22: Building a Recommendation Engine Sophie Watson sophie@redhat
Page 23: Building a Recommendation Engine Sophie Watson sophie@redhat

Alternating Least Squares

Page 24: Building a Recommendation Engine Sophie Watson sophie@redhat

Implicit Data

User, Product (Artist) , # Plays

1 3 1

Page 25: Building a Recommendation Engine Sophie Watson sophie@redhat

Implicit Data

User, Product (Artist) , # Plays

1 3 1

1 2 0

Page 26: Building a Recommendation Engine Sophie Watson sophie@redhat

Implicit Data

User, Product (Artist) , # Plays

1 3 1

1 2 0

1 1 100

Page 27: Building a Recommendation Engine Sophie Watson sophie@redhat

Implicit Alternating Least Squares

Page 28: Building a Recommendation Engine Sophie Watson sophie@redhat

Implicit Alternating Least Squares

The aim:

preference

Page 29: Building a Recommendation Engine Sophie Watson sophie@redhat

Implicit Alternating Least Squares

The aim:

preference

user, item

Page 30: Building a Recommendation Engine Sophie Watson sophie@redhat

Implicit Alternating Least Squares

The recorded data: preference

recording

Page 31: Building a Recommendation Engine Sophie Watson sophie@redhat

Implicit Alternating Least Squares

The recorded data: preference

recording

Page 32: Building a Recommendation Engine Sophie Watson sophie@redhat

Implicit Alternating Least Squares

Confidence preference

recording

Page 33: Building a Recommendation Engine Sophie Watson sophie@redhat

Implicit Alternating Least Squares

Confidence preference

recording

tuning parameter

Page 34: Building a Recommendation Engine Sophie Watson sophie@redhat

Implicit Alternating Least Squares

Minimisation preference

recording

user factor vector item factor vector

Page 35: Building a Recommendation Engine Sophie Watson sophie@redhat

What does Spark offer?

predictormodeller

Spark cluster

Page 36: Building a Recommendation Engine Sophie Watson sophie@redhat

Data● Lastfm dataset● Widely used in recommendation engine research● 17 million recordings / 360K users / 200K artists

Page 37: Building a Recommendation Engine Sophie Watson sophie@redhat

Building a model

Page 38: Building a Recommendation Engine Sophie Watson sophie@redhat

Making Predictions

Page 39: Building a Recommendation Engine Sophie Watson sophie@redhat
Page 40: Building a Recommendation Engine Sophie Watson sophie@redhat
Page 41: Building a Recommendation Engine Sophie Watson sophie@redhat

Training and Validation

R

60%

40%

train the model

validate the model

Page 42: Building a Recommendation Engine Sophie Watson sophie@redhat

Rank and Lambda

lambda

Root M

ean Squared Error

Rank Lambda

Root M

ean Squared Error

Root M

ean Squared Error

Page 43: Building a Recommendation Engine Sophie Watson sophie@redhat

Iterations

< 0.0001

Iterations

Root M

ean Squared Error

Page 44: Building a Recommendation Engine Sophie Watson sophie@redhat

Microservices

predictormodeller

cachestore

datastore

frontend

modelstore

Spark cluster

Page 45: Building a Recommendation Engine Sophie Watson sophie@redhat

radanalytics.io

Page 46: Building a Recommendation Engine Sophie Watson sophie@redhat

[email protected]

@sophwats