SlideShare uma empresa Scribd logo
1 de 167
Baixar para ler offline
Recommender
Systems, MaTRICES
and Graphs
Roelof Pieters
roelof@vionlabs.com
14 May 2014 @ KTH
About me
Interests in:
• IR, RecSys, Big Data, ML, NLP, SNA,
Graphs, CV, Data Visualization, Discourse
Analysis
History:
• 2002-2006: almost-BA Computer Science @
Amsterdam Tech Uni (dropped out in 2006)
• 2006-2010: BA Cultural Anthropology @
Leiden & Amsterdam Uni’s
• 2010-2012: MA Social Anthropology @
Stockholm Uni
• 2011-Current: Working @ Vionlabs
se.linkedin.com/in/roelofpieters/
roelof@vionlabs.com
Say Hello!
St: Eriksgatan 63
112 33 Stockholm - Sweden
Email: hello@vionlabs.com
Tech company here in Stockholm with Geeks
and Movie lovers…
Since 2009:
• Digital ecosystems for network operators,
cable TV companies, and film distributor
such as Tele2/Comviq, Cyberia, and
Warner Bros
• Various software and hardware hacks for
different companies: Webbstory, Excito,
Spotify, Samsung
Focus since 2012:
• Movie and TV recommendation 

service
FoorSee
WE LOVE MOVIES….
Outline
•Recommender Systems
•Algorithms*
•Graphs
(* math magicians better pay attention here)
Outline
•Recommender Systems
•Taxonomy
•History
•Evaluating Recommenders
•Algorithms*
•Graphs
(* math magicians better pay attention here)
Information Retrieval
• Recommender
Systems as part of
Information Retrieval
Document(s)Document(s)Document(s)Document(s)Document(s)
Retrieval
USER
Query
• Information Retrieval is
the activity of obtaining
information resources
relevant to an
information need from a
collection of information
resources.
IR: Measure Success
• Recall: success in retrieving all correct documents
• Precision: success in retrieving the most relevant
documents
• Given a set of terms and a set of document terms
select only the most relevant documents
(precision), and preferably all the relevant ones
(recall)
“generate meaningful recommendations to a
(collection of) user(s) for items or products that
might interest them”
Recommender Systems
Where can RS be found?
• Movie recommendation (Netflix)
• Related product recommendation (Amazon)
• Web page ranking (Google)
• Social recommendation (Facebook)
• News content recommendation (Yahoo)
• Priority inbox & spam filtering (Google)
• Online dating (OK Cupid)
• Computational Advertising (Yahoo)
Outline
•Recommender Systems
•Taxonomy
•History
•Evaluating Recommenders
•Algorithms*
•Graphs
(* math magicians better pay attention here)
Taxonomy of RS
• Collaborative Filtering (CF)
• Content Based Filtering (CBF)
• Knowledge Based Filtering (KBF)
• Hybrid
Taxonomy of RS
• Collaborative Filtering (CF)!
• Content Based Filtering (CBF)
• Knowledge Based Filtering (KBF)
• Hybrid
Collaborative Filtering:
• relies on past user behavior
• Implicit feedback
• Explicit feedback
• requires no gathering of external data
• sparse data
• domain free
• cold start problem
16
Collaborative
(Dietmar et. al. At ‘AI 2011)
User based Collaborative Filtering
User based Collaborative Filtering
Taxonomy of RS
• Collaborative Filtering (CF)
• Content Based Filtering (CBF)!
• Knowledge Based Filtering (KBF)
• Hybrid
Content Filtering
• creates profile for user/movie
• requires gathering external data
• dense data
• domain-bounded
• no cold start problem
20
Content based
(Dietmar et. al. At ‘AI 2013)
Item based Collaborative Filtering
Item based Collaborative Filtering
Taxonomy of RS
• Collaborative Filtering (CF)
• Content Based Filtering (CBF)
• Knowledge Based Filtering (KBF)!
• Hybrid
Knowledge based
(Dietmar et. al. At ‘AI 2013)
Knowledge based Content Filtering
Knowledge based Content Filtering
Knowledge based Content Filtering
Taxonomy of RS
• Collaborative Filtering (CF)
• Content Based Filtering (CBF)
• Knowledge Based Filtering (KBF)
• Hybrid
Hybrid
(Dietmar et. al. At ‘AI 2013)
Outline
•Recommender Systems
•Taxonomy
•History
•Evaluating Recommenders
•Algorithms*
•Graphs
(* math magicians better pay attention here)
History
• 1992-1995: Manual Collaborative Filtering
• 1994-2000: Automatic Collaborative Filtering +
Content
• 2000+: Commercialization…
TQL:
Tapestry (1992)
(Golberg et. al 1992)
Grouplens (1994)
(Resnick et. al 1994)
2000+: Commercial CF’s
• 2001: Amazon starts using item based collaborative
filtering (Patent filed at 1998)
• 2000: Pandora starts music genome

project, where each song“is analyzed using up to 450
distinct musical characteristics by a trained music analyst.”
• 2006-2009: Netflix Contents: 2 of many algorithms put
in use by Netflix replacing “Cinematch": Matrix
Factorization (SVD) and Restricted Boltzmann
Machines (RBM)

(http://www.pandora.com/about/mgp)
(http://www.netflixprize.com)
Annual Conferences
• RecSys (since 2007) http://recsys.acm.org
• SIGIR (since 1978) http://sigir.org/
• KDD (official since 1998) http://www.kdd.org/
• KDD Cup
Ongoing Discussion
• Evaluation
• Scalability
• Similarity versus Diversity
• Cold start (items + users)
• Fraud
• Imbalanced dataset or Sparsity
• Personalization
• Filter Bubbles
• Privacy
• Data Collection
Outline
•Recommender Systems
•Taxonomy
•History
•Evaluating Recommenders
•Algorithms*
•Graphs
(* math magicians better pay attention here)
Evaluating Recommenders
• Least mean squares prediction error
• RMSE





• Similarity measure enough ?





rmse(S) =
s
|S| 1
X
(i,u)2S
(ˆrui rui)2
Evaluating Recommenders
rmse(S) =
s
|S| 1
X
(i,u)2S
(ˆrui rui)2
Evaluating Recommenders
rmse(S) =
s
|S| 1
X
(i,u)2S
(ˆrui rui)2
Evaluating Recommenders
rmse(S) =
s
|S| 1
X
(i,u)2S
(ˆrui rui)2
Evaluating Recommenders
rmse(S) =
s
|S| 1
X
(i,u)2S
(ˆrui rui)2
Evaluating Recommenders
rmse(S) =
s
|S| 1
X
(i,u)2S
(ˆrui rui)2
Evaluating Recommenders
rmse(S) =
s
|S| 1
X
(i,u)2S
(ˆrui rui)2
Evaluating Recommenders
rmse(S) =
s
|S| 1
X
(i,u)2S
(ˆrui rui)2
Outline
•Recommender Systems
•Algorithms*
•Graphs
(* math magicians better pay attention here)
Outline
•Recommender Systems
•Algorithms*
•Content based Algorithms *
•Collaborative Algorithms *
•Classification
•Rating/Ranking *
•Graphs
(* math magicians better pay attention here)
• content is exploited (item to item filtering)
• content model:
• keywords (ie TF-IDF)
• similarity/distance measures:
• Euclidean distance:
• L1 and L2-norm
• Jaccard distance
Content-based Filtering
• (adjusted) Cosine distance
• Edit distance
• Hamming distance
• similarity/distance measures:
• Euclidean distance

• Jaccard distance

• Cosine distance
Content-based Filtering
dot product x.y is 

1 × 2 + 2 × 1 + (−1) × 1 = 3
x = [1,2, −1] and = [2,1,1].
L2-norm =

√12 + 22 + (−1)2 = 6
ie:
• similarity/distance measures:
• Euclidean distance

• Jaccard distance

• Cosine distance
Content-based Filtering
dot product x.y is 

1 × 2 + 2 × 1 + (−1) × 1 = 3
x = [1,2, −1] and = [2,1,1].
cosine of angle:

3/(√6√6) =1/2
cos distance of 1/2:
60 degrees,
L2-norm =

√12 + 22 + (−1)2 = 6
ie:
Examples
• Item to Query
• Item to Item
• Item to User
Examples
• Item to Query!
• Item to Item
• Item to User
Example: Item to Query
Title Price Genre Rating
The Avengers 5 Action 3,7
Spiderman II 10 Action 4,5
user query q : 

“price (6) AND genre(Adventure) AND rating (4)”
weights of features: 0.22 0.450.33
Sim(q,”The Avengers”) = 

0.22 x (1 - 1/25) + 0.33 x 0 + 0.45 x (1 - 0.3/5) = 0.6342
1-25 price range no matchdiff of 1 diff of 0.3 0-5 rating range
Sim(q,”Spiderman II”) = 0.5898 

(0.6348 if we count rating 4.5 > 4 as match)
Weighted Sum:
Examples
• Item to Query
• Item to Item!
• Item to User
Example: Item to Item Similarity
Title ReleaseTime Genres Actors Rating
TA 90s, start 90s, 1993 Action, Comedy, Romance X,Y,Z 3,7
S2 90s, start 90s, 1991 Action W,X,Z 4,5
numeric
Array of Booleans
Sim(X,Y) = 1 - d(X,Y) 

or 

Sim(X,Y) = exp(- d(X,Y))
where 0 ≤ wi ≤ 1, and i=1..n (number of features).
Set of hierarchical
related symbols
Title ReleaseTime Genres Actors Rating
TA 90s, start 90s, 1993 Action, Comedy, Romance X,Y,Z 3,7
S2 90s, start 90s, 1991 Action W,X,Z 4,5
numeric
Array of Booleans
Set of hierarchical
related symbols
X1 = (90s,S90s,1993)
X2 = (1,1,1)
X3 = (0,1,1,1)
X4 = 3.7
TA
W 0.5 0.3 0.2
X1 = (90s,S90s,1991)
X2 = (1,0,0)
X3 = (1,1,0,1)
X4 = 4.5
S2
weights of feature all the same
weights of categories within “Release
time” different
Example: Item to Item Similarity
X1 = (90s,S90s,1993)
X2 = (1,1,1)
X3 = (0,1,1,1)
X4 = 3.7
TA
W 0.5 0.3 0.2
X1 = (90s,S90s,1991)
X2 = (1,0,0)
X3 = (1,1,0,1)
X4 = 4.5
S2


exp(- (1/√4) √d1(X1,Y1)2 +…+d4(X4,Y4 )2 ) =
exp(- )
exp(-(1/√4) √(1-(0.3+0.5))2 + (1-1/3)2 +(1-2/4)2 + (1-0.8/5)2 ) =
exp(-(1/√4) √(1.5745 ) = exp(-0.339) = 0.534
Sim( dest1,dest2 ) =
Example: Item to Item Similarity
(content factors)
Examples
• Item to Query
• Item to Item
• Item to User
Example: Item to User
Title Roelof Klas Mo Max X
(Action)
X
(
)
The Avengers 5 1 2 5 0.8 0.1
Spiderman II ? 2 1 ? 0.9 0.2
American Pie 2 5 ? 1 0.05 0.9
X(1) =
1

0.8

0.1
For each user u, learn a parameter ∈
R(n+1)
.

Predict user u as rating movie i with
( )T
x(i)
Title Roelof Klas Mo Max X
(Action)
X
(
)
The Avengers 5 1 2 5 0.8 0.1
Spiderman II ? 2 1 ? 0.9 0.2
American Pie 2 5 ? 1 0.05 0.9
Mo ( (3)
) and Klas ( (2)
)
predict rating Mo ( (3)
),

American pie (X(3)
)
(2) (3)(1) (4)
X(1)
X(2)
X(3)
X(3) =
1

0.05

0.9
temp
(3)
=
0

0

5
Example: Item to User
Title Roelof Klas Mo Max X
(Action)
X
(
)
The Avengers 5 1 2 5 0.8 0.1
Spiderman II ? 2 1 ? 0.9 0.2
American Pie 2 5 ? 1 0.05 0.9
Mo ( (3)
) and Klas ( (2)
)
predict rating Mo ( (3)
),

American pie (X(3)
)
(2) (3)(1) (4)
X(1)
X(2)
X(3)
1

0.05

0.9
0

0

5
Example: Item to User
dot product
≈ 4.5
Title Roelof Klas Mo Max X
(Action)
X
(
)
The Avengers 5 1 2 5 0.8 0.1
Spiderman II ? 2 1 ? 0.9 0.2
American Pie 2 5 4.5 1 0.05 0.9
Mo ( (3)
) and Klas ( (2)
)
predict rating Mo ( (3)
),

American pie (X(3)
)
(2) (3)(1) (4)
X(1)
X(2)
X(3)
1

0.05

0.9
0

0

5
Example: Item to User
dot product
≈ 4.5
Title Roelof Klas Mo Max X
(Action)
X
(
)
The Avengers 5 1 2 5 0.8 0.1
Spiderman II ≈4 2 1 ≈4 0.9 0.2
American Pie 2 5 4.5 1 0.05 0.9
How do we learn these user factor parameters?
(2) (3)(1) (4)
X(1)
X(2)
X(3)
Example: Item to User
problem formulation:!
• r(i,u) = 1 if user u has rated movie i, otherwise 0
• y
(i,u)
= rating by user u on movie i (if defined)
•
(u)
= parameter vector for user u
• x
(i)
= feature vector for movie i
• For user u, movie i, predicted rating: ( )
T
(x
(i)
)
• temp m
(u)
= # of movies rated by user u



min ∑ ( ( (u))T!(i) - "(i,u) )2 + ∑ ( )2
ƛ
——
2
#
k=1
(u)
(u)
1
2
——
m(u)m(u)
Example: Item to User
Say what?• learning (u) =
(A. Ng. 2013)
min ∑ ∑ (( (u))T!(i) - "(i,u))2 + ∑ ∑ ( )2
ƛ
—
2
#
u=1
problem formulation:!
• learning (u):
• learning (1), (2) , … , #
:
#
1
2
—
min ∑ ( ( (u))T!(i) - "(i,u) )2 + ∑ ( )2
ƛ
—
2
#
k=1
(u)
(u)
1
2
—
#u
k=1
(u)
regularization term
#
squared error term
actualpredicted
learn for “all” users
Example: Item to Userremember:

y = rating 

parameter vector for a user

x = feature vector for a movie
Outline
•Recommender Systems
•Algorithms*
•Content based Algorithms *
•Collaborative Algorithms *
•Classification
•Rating/Ranking *
•Graphs
(* math magicians better pay attention here)
Collaborative Filtering:
• User-based approach!
• Find a set of users Si who rated item j, that are most similar to
ui
• compute predicted Vij score as a function of ratings of item j
given by Si (usually weighted linear combination)
• Item-based approach!
• Find a set of most similar items Sj to the item j which were
rated by ui
• compute predicted Vij score as a function of ui's ratings for Sj
Collaborative Filtering:
• Two primary models:
• Neighborhood models!
• focus on relationships between movies or users
• Latent Factor models
• focus on factors inferred from (rating) patterns
• computerized alternative to naive content creation
• predicts rating by dot product of user and movie locations
on known dimensions
68
(Sarwar, B. et al. 2001)
Neighborhood (user oriented)
69
(pic from Koren et al. 2009)
Neighbourhood Methods
• Problems:
• Ratings biased per user
• Ratings biased towards certain items
• Ratings change over time
• Ratings can rapidly change through real time
events (Oscar nomination, etc)
• Bias correction needed
Latent Factors
71
• latent factor models map users and items into a
latent feature space
• user's feature vector denotes the user's affinity to
each of the features
• item's feature vector represents how much the
item itself is related to the features.
• rating is approximated by the dot product of the
user feature vector and the item feature vector.
Latent Factors (users+movies)
72
(pic from Koren et al. 2009)
Latent Factors (x+y)
73
(http://xkcd.com/388/)
xkcd.com
Latent Factor models
• Matrix Factorization:
• characterizes items + users by vectors of
factors inferred from (ratings or other user-
item related) patterns
• Given a list of users and items, and user-item
interactions, predict user behavior
• can deal with sparse data (matrix)
• can incorporate additional information
74
Matrix Factorization
• Dimensionality reduction
• Principal Components Analysis, PCA
• Singular Value Decomposition, SVD
• Non Negative Matrix Factorization, NNMF
Matrix Factorization: SVD
SVD, Singular Value Decomposition
• transforms correlated variables into a set of
uncorrelated ones that better expose the various
relationships among the original data items.
• identifies and orders the dimensions along
which data points exhibit the most variation.
• allowing us to find the best approximation of the
original data points using fewer dimensions.
SVD: Matrix Decomposition
77
U: document-to-concept similarity
matrix !
V: term-to-concept similarity matrix !
ƛ : its diagonal elements: ‘strength’ of
each concept !
(pic by Xavier Amatriain 2013)
SVD for 

Collaborative Filtering
each item i associated with vector qi ∈ ℝf 

each user u associated with vector pu ∈ ℝf 

qi measures extent to which item possesses factors

pu measures extent of interest for user in items which
possess high on factors

user-item interactions modeled as dot products within
the factor space, measured by qi
T pu

user u rating on item i approximates: rui = qi
T pu
78
^
SVD for 

Collaborative Filtering
• compute u,i mappings: qi,pu ∈ ℝ
f
• factor user, item matrix
• imputation (Sarwar et.al. 2000)
• model only observed ratings + regularization (Funk 2006; Koren
2008)
• learn factor vectors qi and pu by minimizing (regularized) squared
error on set of known ratings: approximate user u rating of item i,
denoted by rui, leading to Learning Algorithm:



79
^
SVD Visualized
regression line reducing two dimensional
space into one dimensional one
reducing three dimensional (multidimensional)
space into two dimensional plane
SVD Visualized
SVD: Code Away!
<Coding Time>
82
Stochastic Gradient Descent
• optimizable by Stochastic Gradient Descent
(SGD) (Funk 2006)
• incremental learning
• loops trough ratings and computes prediction
error for predicted rating on rui :



• modify parameters by magnitude proportional
to y in opposite direction of the gradient, giving
learning rule:







83
and
Gradient Descent
<Coding Time>
84
Alternating Least Squares
• optimizable by Alternating Least Squares (ALS) (2006)
• both qi and pu unknown: minimum function not convex

—> can not be solved for a minimum.
• ALS rotates between fixing qi’s and pu’s
• Fix qi or pu makes optimization problem quadratic 

—> one not optimized can now be solved
• qi and pu independently computed of other item/user factors:
parallelization
• Best for implicit data (dense matrix)
85
Alternating Least Squares
• rotates between fixing qi’s and pu’s
• when all pu’s fixed, recompute qi’s by solving a least
squares problem:

• Fix matrix P as some matrix P, so that minimization problem:

• or fix Q similarly as:

• Learning Rule:

86
where
and
• Add Biases:
• Add Input Sources: Implicit
Feedback:

pu in rui becomes (pu + 

+ (…) )Add
Temporal Aspect / time-varying
parameters



• Vary Confidence Levels of Inputs
Develop Further…
87
and
pic: Lei Guo 2012
(Salakhutdinov & 

Mnih 2008; Koren 2010)
Develop Further…
• Final Algoritm:







88
confidence bias terms
regularization
(Paterek,A. 2007)
• Final Algorithm with Temporal dimensions:







Develop Further…
89
• So what if we don’t have any content factors
known?
• Probabilistic Matrix Factorization to the rescue!
• describe each user and each movie by a
small set of attributes
Probabilistic Matrix
Factorization
• Imagine we have the following rating data:















we could say that Roelof and Klas like Action
movies, but don’t like Comedy’s, while its the
opposite for Mo and Max
Title Roelof Klas Mo Max
The Avengers 5 1 1 4
Spiderman II 4 2 1 5
American Pie 3 5 4 1
Shrek 1 4 5 2
Probabilistic Matrix
Factorization
• This could be represented by the PMF model by using three
dimensional vectors to describe each user and each movie.
• example latent vectors: • AV: [0, 0.3]
• SPII: [1, 0.3]
• AP [1, 0.3]
• SH [1, 0.3]
• Roelof: [0, 3]
• Klas: [8, 3]
• Mo [10, 3]
• Max [10, 3]
• predict rating by dot product
of user vector with the item
vector
• So predicting Klas’ rating for
Spiderman II = 8*1 + 3*0.3 =
• But descriptions of users
and movies not known
ahead of time.
• PGM discovers such latent
characteristics
<CODE TIME>
ratings
Probabilistic Matrix
Factorization
Outline
•Recommender Systems
•Algorithms*
•Content based Algorithms *
•Collaborative Algorithms *
•Classification
•Rating/Ranking *
•Graphs
(* math magicians better pay attention here)
Classification
• k-Nearest Neighbors (KNN)
• Decision Trees
• Rule-Based
• Bayesian
• Artificial Neural Networks
• Support Vector Machines
Classification
• k-Nearest Neighbors (KNN)!
• Decision Trees
• Rule-Based
• Bayesian
• Artificial Neural Networks
• Support Vector Machines
k-Nearest Neighbor s
• non parametric lazy learning algorithm
• data as feature space
• simple and fast
• k-nn classification
• k-nn regression: density estimation
kNN: Classification
• Classify
• several Xi used to classify Y
• compare (X1
p,X2
p) and (X1
q,Xq) by Squared
Euclidean distance: 

d2
pq = (X1
p - x1
q)2 + (X2
p - X2q)2
• find k-Nearest Neighbors
kNN: Classification
• input: content extracted emotional values of 561
movies. thanks: Johannes Östling :)










 ie:
dimensions of
movie
“Hamlet”:
KNN
<CODE>
k-Nearest Neighbors
emotional
dimension “Anger”
vs “Love”
k-Nearest Neighbors
Negative: afraid, confused, helpless', hurt,
sad, angry, depressed
Positive: good, interested, love, positive,
strong
aggregate of
positive and
negative
emotions
Outline
•Recommender Systems
•Algorithms*
•Content based Algorithms *
•Collaborative Algorithms *
•Classification
•Rating/Ranking *
•Graphs
(* math magicians better pay attention here)
Rating predictions:
• Pos — Neg
• Average
• Bayesian (Weighted) Estimates
• Lower bound of Wilson score confidence interval
for a Bernoulli parameter
Rating predictions:
• Pos — Neg!
• Average
• Bayesian (Weighted) Estimates
• Lower bound of Wilson score confidence interval
for a Bernoulli parameter
P — N
• (Positive ratings) - (Negative ratings)
• Problematic:











(http://www.urbandictionary.com/define.php?term=movies)
Rating predictions:
• Pos — Neg
• Average!
• Bayesian (Weighted) Estimates
• Lower bound of Wilson score confidence interval
for a Bernoulli parameter
Average
• (Positive ratings) / (Total ratings)
• Problematic:











(http://www.amazon.co.uk/gp/bestsellers/electronics/)
Rating predictions:
• Pos — Neg
• Average
• Bayesian (Weighted) Estimates!
• Lower bound of Wilson score confidence interval
for a Bernoulli parameter
Ratings
• Top Ranking at IMDB (gives Bayesian estimate):
• Weighted Rating (WR) = 

(v / (v+m)) × R + (m / (v+m)) × C!
• Where:
R = average for the movie (mean) = (Rating)

v = number of votes for the movie = (votes)

m = minimum votes required to be listed in the Top 250
(currently 25000)

C = the mean vote across the whole report (currently 7.0)
Bayesian (Weighted)
Estimates
• :
• weighted average on a 

per-item basis:
(source(s): http://www.imdb.com/title/tt0368891/ratings)
Bayesian (Weighted)
Estimates @ IMDB
Bayesian Weights for m = 1250
0"
0,1"
0,2"
0,3"
0,4"
0,5"
0,6"
0,7"
0,8"
0,9"
1"
0" 250" 500" 750" 1000" 1250" 2000" 3000" 4000" 5000"
specific" global"
• specific part for
individual items
• global part is
constant over all
items
• can be
precalculated
m=1250
Rating predictions:
• Pos — Neg
• Average
• Bayesian (Weighted) Estimates
• Lower bound of Wilson score confidence
interval for a Bernoulli parameter
Wilson Score interval
• 1927 by Edwin B. Wilson





• Given the ratings I have, there is a 95% chance
that the "real" fraction of positive ratings is at
least what?
Wilson Score interval
• used by Reddit for comments ranking
• “rank the best comments highest 

regardless of their submission time”
• algorithm introduced to Reddit by 

Randall Munroe (the author of xkcd).
• treats the vote count as a statistical sampling of a
hypothetical full vote by everyone, much as in an
opinion poll.
Wilson Score interval
• Endpoints for Wilson Score interval:







• Reddit’s comment Ranking function

(phat+z*z/(2*n) - z*sqrt((phat*(1-phat) + z*z/(4*n))/n))
/(1+z*z/n)
CODE
CODE
Bernoulli anyone?
*as the trial (N) = 2 (2
throws of dice) its actually
not a real Bernoulli
distribution
What’s next?
GRAPHS
Outline
•Recommender Systems
•Algorithms*
•Graphs
(* math magicians better pay attention here)
Graph Based Approaches
• Whats a Graph?!
• Why Graphs?
• Who uses Graphs?
• Talking with Graphs
• Graph example: Recommendations
• Graph example: Data Analysis
What’s a Graph?
124
Movie
has_genre
Genre
features_actor
Actor
Director
directed_by
likes
User
watches
rates
Userlikes_user
likes_user
friends
follows comments_movie
Comment
likes_com
m
ent
likes_actor
…
has_X
etcetera
locations!
time!
moods!
keywords!
…
Vertices (Nodes)
Edges (Relations)
Graph Based Approaches
• Whats a Graph?
• Why Graphs?!
• Who uses Graphs?
• Talking with Graphs
• Graph example: Recommendations
• Graph example: Data Analysis
Why Graphs?
• more complex (social networks…)
• more connected (wikis, pingbacks, rdf, collaborative
tagging)
• more semi-structured (wikis, rss)
• more decentralized: democratization of content production
(blogs, twitter*, social media*)
and just: MORE
Its the nature of todays Data, which is getting:
Data Trend
“Every 2 days we
create as much
information as we did
up to 2003”

— Eric Schmidt, Google
Why Graphs?
Graphs vs Relational
128
relational
graph
graph
(pic by Michael Hunger, neo4j)
Why Graphs?
Its Fast!
Matrix based Calculations: 

Exponential run-time 

(items x users x factori x …)
Graphs vs Relational
129
relational
graph
graph
(pic by Michael Hunger, neo4j)
Why Graphs?
Its Fast!
Graph based Calculations: 

Linear/Constant run-time 

(item of interest x relations)
Its 

White-Board

Friendly !
(pic by Michael Hunger, neo4j)
Why Graphs?
(pic by Michael Hunger, neo4j)
Its 

White-Board

Friendly !
Why Graphs?
(pic by Michael Hunger, neo4j)
Its 

White-Board

Friendly !
Why Graphs?
Graph Based Approaches
• Whats a Graph?
• Why Graphs?
• Who uses Graphs?!
• Talking with Graphs
• Graph example: Recommendations
• Graph example: Data Analysis
Who uses Graphs?
• Facebook: Open Graph (https://
developers.facebook.com/docs/opengraph)
• Google: Knowledge Graph (http://
www.google.com/insidesearch/features/search/
knowledge.html)
• Twitter: FlockDB (https://github.com/twitter/flockdb)
• Mozilla: Pancake (https://wiki.mozilla.org/Pancake)
• (…)
135
(pic by Michael Hunger, neo4j)
Graph Based Approaches
• Whats a Graph?
• Why Graphs?
• Who uses Graphs?
• Talking with Graphs!
• Graph example: Recommendations
• Graph example: Data Analysis
Talking with Graphs
• Graphs can be queried!
• no unions for comparison, but traversals!
• many different graph traversal patterns
(xkcd)
graph traversal patterns
• traversals can be seen as a diffusion
proces over a graph!
• “Energy” moves over a graph and spreads
out through the network!
• energy:
(Ghahramani 2012)
Energy Diffusion
(pic by Marko A. Rodriguez, 2011)
Energy Diffusion
(pic by Marko A. Rodriguez, 2011)
energy = 4
Energy Diffusion
(pic by Marko A. Rodriguez, 2011)
energy = 3
Energy Diffusion
(pic by Marko A. Rodriguez, 2011)
energy = 2
Energy Diffusion
(pic by Marko A. Rodriguez, 2011)
energy = 1
Graph Based Approaches
• Whats a Graph?
• Why Graphs?
• Who uses Graphs?
• Talking with Graphs
• Graph example: Recommendations!
• Graph example: Data Analysis
Diffusion Example:
Recommendations
• Energy diffusion is an easy algorithms for
making recommendations!
• different paths make different
recommendations!
• different paths for different problems can
be solved on same graph/domain!
• recommendation = “jumps” through the
data
Friend
Recommendation
• Who are my friends’ friends that are not
me or my friends
(pic by Marko A. Rodriguez, 2011)
Friend
Recommendation
• Who are my friends’ friends



• Who are my friends’ friends that are not
me or my friends
G.V(‘me’).outE[knows].inV.outE.inV
G.V(‘me’).outE[knows].inV.aggregate(x).outE.

inV{!x.contains(it)}
Product
Recommendation
• Who likes what I like —> of these things, what
do they like which I dont’ already like
(pic by Marko A. Rodriguez, 2011)
Product
Recommendation
• Who likes what I like

• Who likes what I like —> of these things, what
do they like which I dont’ already like

• Who likes what I like —> of these things, what
do they like which I dont’ already like
G.V(‘me’).outE[likes].inV.inE[likes].outV
G.V(‘me’).outE[likes].inV.aggregate(x).inE[likes].

outV.outE[like].inV{!x.contains(it)}
G.V(‘me’).outE[likes].inV.inE[likes].outV.outE[like].inV
Recommendations at

with FoorSee
Graph Based Approaches
• Whats a Graph?
• Why Graphs?
• Who uses Graphs?
• Talking with Graphs
• Graph example: Recommendations
• Graph example: Data Analysis
154
Pulp Fiction
Graphs: Conclusion
• Fast!
• Scalable!
• Diversification!
• No Cold Start!
• Sparsity/Density not applicable
Graphs: Conclusion
• NaturalVisualizable!
• Feedback / Understandable!
• Connectable to the “web” / semantic web!
• Social Network Analysis!
• Real Time Updates / Recommendations !
WARNING
Graphs 

are 

Addictive!
Les Miserables
Facebook Network
References
• J. Dietmar, G. Friedrich and M. Zanker (2011) “Recommender Systems”,
International Joint Conference on Artificial Intelligence Barcelona
• Z. Ghahramani (2012) “Graph-based Semi-supervised Learning”, MLSS,
La Palma
• D. Goldbergs, D. Nichols, B.M. Oki and D. Terry (1992) “Using
collaborative filtering to weave an information tapestry”, Communications
of the ACM 35 (12)
• M. Hunger (2013) “Data Modeling with Neo4j”, http://
www.slideshare.net/neo4j/data-modeling-with-neo4j-25767444
• S. Funk (2006) “Netflix Update: Try This at Home”, sifter.org/~simon/
journal/20061211.html
159
References
• Y. Koren (2008) “Factorization meets the Neighborhood: A
Multifaceted Collaborative Filtering Model”, SIGKDD, http://
public.research.att.com/~volinsky/netflix/kdd08koren.pdf
• Y. Koren & C. Bell, (2007) “Scalable Collaborative Filtering with
Jointly Derived Neighborhood Interpolation Weights”
• Y, Koren (2010) “Collaborative filtering with temporal dynamics”
• A. Ng. (2013) Machine Learning, ml-004 @ Coursera
• A. Paterek (2007) “Improving Regularized Singular Value
Decomposition for Collaborative Filtering”, KDD
160
References
• P. Resnick, N. Iacovou, M. Suchak, P. Bergstrom and J. Riedl (1994),
“GroupLens: An Open Architecture for Collaborative Filtering of
Netnews”, Proceedings of ACM
• B.R. Sarwar et al. (2000) “Application of Dimensionality Reduction in
Recommender System—A case Study”, WebKDD
• B. Saewar, G. Karypis, J. Konstan, J, Riedl (2001) “Item-Based
Collaborative Filtering Recommendation Algorithms”
• R. Salakhutdinov & A. Mnih (2008) “Probabilistic Matrix
Factorization”
• xkcd.com
161
Take Away Points
• Focus on the best Question, not just the Answer…!
• Best Match (most similar) vs Most Popular!
• Personalized vs Global Factors!
• Less is More ?!
• What is relevant?
Thanks for listening!
163
(xkcd)
Say What?
• So what other stuff do we do at Vionlabs?

• Some examples of data extraction which is fed into
our BAG (Big Ass Grap)…
Computer Vision
NLTK
167

Mais conteúdo relacionado

Mais procurados

Collaborative filtering for recommendation systems in Python, Nicolas Hug
Collaborative filtering for recommendation systems in Python, Nicolas HugCollaborative filtering for recommendation systems in Python, Nicolas Hug
Collaborative filtering for recommendation systems in Python, Nicolas HugPôle Systematic Paris-Region
 
Recommender systems
Recommender systemsRecommender systems
Recommender systemsTamer Rezk
 
Tag And Tag Based Recommender
Tag And Tag Based RecommenderTag And Tag Based Recommender
Tag And Tag Based Recommendergu wendong
 
Recommender systems using collaborative filtering
Recommender systems using collaborative filteringRecommender systems using collaborative filtering
Recommender systems using collaborative filteringD Yogendra Rao
 
Recommendation engines
Recommendation enginesRecommendation engines
Recommendation enginesGeorgian Micsa
 
Summary of a Recommender Systems Survey paper
Summary of a Recommender Systems Survey paperSummary of a Recommender Systems Survey paper
Summary of a Recommender Systems Survey paperChangsung Moon
 
Recommender Systems
Recommender SystemsRecommender Systems
Recommender SystemsT212
 
The Universal Recommender
The Universal RecommenderThe Universal Recommender
The Universal RecommenderPat Ferrel
 
Collaborative Filtering
Collaborative FilteringCollaborative Filtering
Collaborative FilteringTayfun Sen
 
Models for Information Retrieval and Recommendation
Models for Information Retrieval and RecommendationModels for Information Retrieval and Recommendation
Models for Information Retrieval and RecommendationArjen de Vries
 
Recommender systems: Content-based and collaborative filtering
Recommender systems: Content-based and collaborative filteringRecommender systems: Content-based and collaborative filtering
Recommender systems: Content-based and collaborative filteringViet-Trung TRAN
 
Recommendation system
Recommendation system Recommendation system
Recommendation system Vikrant Arya
 
Recommender system introduction
Recommender system   introductionRecommender system   introduction
Recommender system introductionLiang Xiang
 
Intro to Mahout
Intro to MahoutIntro to Mahout
Intro to MahoutUri Lavi
 
Tutorial: Context-awareness In Information Retrieval and Recommender Systems
Tutorial: Context-awareness In Information Retrieval and Recommender SystemsTutorial: Context-awareness In Information Retrieval and Recommender Systems
Tutorial: Context-awareness In Information Retrieval and Recommender SystemsYONG ZHENG
 
[RIIT 2017] Identifying Grey Sheep Users By The Distribution of User Similari...
[RIIT 2017] Identifying Grey Sheep Users By The Distribution of User Similari...[RIIT 2017] Identifying Grey Sheep Users By The Distribution of User Similari...
[RIIT 2017] Identifying Grey Sheep Users By The Distribution of User Similari...YONG ZHENG
 
[Final]collaborative filtering and recommender systems
[Final]collaborative filtering and recommender systems[Final]collaborative filtering and recommender systems
[Final]collaborative filtering and recommender systemsFalitokiniaina Rabearison
 
Similarity & Recommendation - CWI Scientific Meeting - Sep 27th, 2013
Similarity & Recommendation - CWI Scientific Meeting - Sep 27th, 2013Similarity & Recommendation - CWI Scientific Meeting - Sep 27th, 2013
Similarity & Recommendation - CWI Scientific Meeting - Sep 27th, 2013Arjen de Vries
 
Interactive Recommender Systems with Netflix and Spotify
Interactive Recommender Systems with Netflix and SpotifyInteractive Recommender Systems with Netflix and Spotify
Interactive Recommender Systems with Netflix and SpotifyChris Johnson
 

Mais procurados (20)

Collaborative filtering for recommendation systems in Python, Nicolas Hug
Collaborative filtering for recommendation systems in Python, Nicolas HugCollaborative filtering for recommendation systems in Python, Nicolas Hug
Collaborative filtering for recommendation systems in Python, Nicolas Hug
 
Recommender systems
Recommender systemsRecommender systems
Recommender systems
 
Collaborative filtering
Collaborative filteringCollaborative filtering
Collaborative filtering
 
Tag And Tag Based Recommender
Tag And Tag Based RecommenderTag And Tag Based Recommender
Tag And Tag Based Recommender
 
Recommender systems using collaborative filtering
Recommender systems using collaborative filteringRecommender systems using collaborative filtering
Recommender systems using collaborative filtering
 
Recommendation engines
Recommendation enginesRecommendation engines
Recommendation engines
 
Summary of a Recommender Systems Survey paper
Summary of a Recommender Systems Survey paperSummary of a Recommender Systems Survey paper
Summary of a Recommender Systems Survey paper
 
Recommender Systems
Recommender SystemsRecommender Systems
Recommender Systems
 
The Universal Recommender
The Universal RecommenderThe Universal Recommender
The Universal Recommender
 
Collaborative Filtering
Collaborative FilteringCollaborative Filtering
Collaborative Filtering
 
Models for Information Retrieval and Recommendation
Models for Information Retrieval and RecommendationModels for Information Retrieval and Recommendation
Models for Information Retrieval and Recommendation
 
Recommender systems: Content-based and collaborative filtering
Recommender systems: Content-based and collaborative filteringRecommender systems: Content-based and collaborative filtering
Recommender systems: Content-based and collaborative filtering
 
Recommendation system
Recommendation system Recommendation system
Recommendation system
 
Recommender system introduction
Recommender system   introductionRecommender system   introduction
Recommender system introduction
 
Intro to Mahout
Intro to MahoutIntro to Mahout
Intro to Mahout
 
Tutorial: Context-awareness In Information Retrieval and Recommender Systems
Tutorial: Context-awareness In Information Retrieval and Recommender SystemsTutorial: Context-awareness In Information Retrieval and Recommender Systems
Tutorial: Context-awareness In Information Retrieval and Recommender Systems
 
[RIIT 2017] Identifying Grey Sheep Users By The Distribution of User Similari...
[RIIT 2017] Identifying Grey Sheep Users By The Distribution of User Similari...[RIIT 2017] Identifying Grey Sheep Users By The Distribution of User Similari...
[RIIT 2017] Identifying Grey Sheep Users By The Distribution of User Similari...
 
[Final]collaborative filtering and recommender systems
[Final]collaborative filtering and recommender systems[Final]collaborative filtering and recommender systems
[Final]collaborative filtering and recommender systems
 
Similarity & Recommendation - CWI Scientific Meeting - Sep 27th, 2013
Similarity & Recommendation - CWI Scientific Meeting - Sep 27th, 2013Similarity & Recommendation - CWI Scientific Meeting - Sep 27th, 2013
Similarity & Recommendation - CWI Scientific Meeting - Sep 27th, 2013
 
Interactive Recommender Systems with Netflix and Spotify
Interactive Recommender Systems with Netflix and SpotifyInteractive Recommender Systems with Netflix and Spotify
Interactive Recommender Systems with Netflix and Spotify
 

Destaque

Deep Learning in practice : Speech recognition and beyond - Meetup
Deep Learning in practice : Speech recognition and beyond - MeetupDeep Learning in practice : Speech recognition and beyond - Meetup
Deep Learning in practice : Speech recognition and beyond - MeetupLINAGORA
 
John Richardson - 2015 - KyotoEBMT System Description for the 2nd Workshop on...
John Richardson - 2015 - KyotoEBMT System Description for the 2nd Workshop on...John Richardson - 2015 - KyotoEBMT System Description for the 2nd Workshop on...
John Richardson - 2015 - KyotoEBMT System Description for the 2nd Workshop on...Association for Computational Linguistics
 
Satoshi Sonoh - 2015 - Toshiba MT System Description for the WAT2015 Workshop
Satoshi Sonoh - 2015 - Toshiba MT System Description for the WAT2015 WorkshopSatoshi Sonoh - 2015 - Toshiba MT System Description for the WAT2015 Workshop
Satoshi Sonoh - 2015 - Toshiba MT System Description for the WAT2015 WorkshopAssociation for Computational Linguistics
 
Zhongyuan Zhu - 2015 - Evaluating Neural Machine Translation in English-Japan...
Zhongyuan Zhu - 2015 - Evaluating Neural Machine Translation in English-Japan...Zhongyuan Zhu - 2015 - Evaluating Neural Machine Translation in English-Japan...
Zhongyuan Zhu - 2015 - Evaluating Neural Machine Translation in English-Japan...Association for Computational Linguistics
 
John Richardson - 2015 - KyotoEBMT System Description for the 2nd Workshop on...
John Richardson - 2015 - KyotoEBMT System Description for the 2nd Workshop on...John Richardson - 2015 - KyotoEBMT System Description for the 2nd Workshop on...
John Richardson - 2015 - KyotoEBMT System Description for the 2nd Workshop on...Association for Computational Linguistics
 
Satoshi Sonoh - 2015 - Toshiba MT System Description for the WAT2015 Workshop
Satoshi Sonoh - 2015 - Toshiba MT System Description for the WAT2015 WorkshopSatoshi Sonoh - 2015 - Toshiba MT System Description for the WAT2015 Workshop
Satoshi Sonoh - 2015 - Toshiba MT System Description for the WAT2015 WorkshopAssociation for Computational Linguistics
 
Blockchain Economic Theory
Blockchain Economic TheoryBlockchain Economic Theory
Blockchain Economic TheoryMelanie Swan
 
Cs231n 2017 lecture10 Recurrent Neural Networks
Cs231n 2017 lecture10 Recurrent Neural NetworksCs231n 2017 lecture10 Recurrent Neural Networks
Cs231n 2017 lecture10 Recurrent Neural NetworksYanbin Kong
 
Advanced Node.JS Meetup
Advanced Node.JS MeetupAdvanced Node.JS Meetup
Advanced Node.JS MeetupLINAGORA
 
Neural Models for Document Ranking
Neural Models for Document RankingNeural Models for Document Ranking
Neural Models for Document RankingBhaskar Mitra
 
Technological Unemployment and the Robo-Economy
Technological Unemployment and the Robo-EconomyTechnological Unemployment and the Robo-Economy
Technological Unemployment and the Robo-EconomyMelanie Swan
 
Cs231n 2017 lecture12 Visualizing and Understanding
Cs231n 2017 lecture12 Visualizing and UnderstandingCs231n 2017 lecture12 Visualizing and Understanding
Cs231n 2017 lecture12 Visualizing and UnderstandingYanbin Kong
 
Construisons ensemble le chatbot bancaire dedemain !
Construisons ensemble le chatbot bancaire dedemain !Construisons ensemble le chatbot bancaire dedemain !
Construisons ensemble le chatbot bancaire dedemain !LINAGORA
 
Matthew Marge - 2017 - Exploring Variation of Natural Human Commands to a Rob...
Matthew Marge - 2017 - Exploring Variation of Natural Human Commands to a Rob...Matthew Marge - 2017 - Exploring Variation of Natural Human Commands to a Rob...
Matthew Marge - 2017 - Exploring Variation of Natural Human Commands to a Rob...Association for Computational Linguistics
 
Deep Learning & NLP: Graphs to the Rescue!
Deep Learning & NLP: Graphs to the Rescue!Deep Learning & NLP: Graphs to the Rescue!
Deep Learning & NLP: Graphs to the Rescue!Roelof Pieters
 
iPhone5c的最后猜测
iPhone5c的最后猜测iPhone5c的最后猜测
iPhone5c的最后猜测Yanbin Kong
 
Blockchain Smartnetworks: Bitcoin and Blockchain Explained
Blockchain Smartnetworks: Bitcoin and Blockchain ExplainedBlockchain Smartnetworks: Bitcoin and Blockchain Explained
Blockchain Smartnetworks: Bitcoin and Blockchain ExplainedMelanie Swan
 

Destaque (20)

Deep Learning in practice : Speech recognition and beyond - Meetup
Deep Learning in practice : Speech recognition and beyond - MeetupDeep Learning in practice : Speech recognition and beyond - Meetup
Deep Learning in practice : Speech recognition and beyond - Meetup
 
Chenchen Ding - 2015 - NICT at WAT 2015
Chenchen Ding - 2015 - NICT at WAT 2015Chenchen Ding - 2015 - NICT at WAT 2015
Chenchen Ding - 2015 - NICT at WAT 2015
 
John Richardson - 2015 - KyotoEBMT System Description for the 2nd Workshop on...
John Richardson - 2015 - KyotoEBMT System Description for the 2nd Workshop on...John Richardson - 2015 - KyotoEBMT System Description for the 2nd Workshop on...
John Richardson - 2015 - KyotoEBMT System Description for the 2nd Workshop on...
 
Satoshi Sonoh - 2015 - Toshiba MT System Description for the WAT2015 Workshop
Satoshi Sonoh - 2015 - Toshiba MT System Description for the WAT2015 WorkshopSatoshi Sonoh - 2015 - Toshiba MT System Description for the WAT2015 Workshop
Satoshi Sonoh - 2015 - Toshiba MT System Description for the WAT2015 Workshop
 
Zhongyuan Zhu - 2015 - Evaluating Neural Machine Translation in English-Japan...
Zhongyuan Zhu - 2015 - Evaluating Neural Machine Translation in English-Japan...Zhongyuan Zhu - 2015 - Evaluating Neural Machine Translation in English-Japan...
Zhongyuan Zhu - 2015 - Evaluating Neural Machine Translation in English-Japan...
 
John Richardson - 2015 - KyotoEBMT System Description for the 2nd Workshop on...
John Richardson - 2015 - KyotoEBMT System Description for the 2nd Workshop on...John Richardson - 2015 - KyotoEBMT System Description for the 2nd Workshop on...
John Richardson - 2015 - KyotoEBMT System Description for the 2nd Workshop on...
 
Satoshi Sonoh - 2015 - Toshiba MT System Description for the WAT2015 Workshop
Satoshi Sonoh - 2015 - Toshiba MT System Description for the WAT2015 WorkshopSatoshi Sonoh - 2015 - Toshiba MT System Description for the WAT2015 Workshop
Satoshi Sonoh - 2015 - Toshiba MT System Description for the WAT2015 Workshop
 
Blockchain Economic Theory
Blockchain Economic TheoryBlockchain Economic Theory
Blockchain Economic Theory
 
Cs231n 2017 lecture10 Recurrent Neural Networks
Cs231n 2017 lecture10 Recurrent Neural NetworksCs231n 2017 lecture10 Recurrent Neural Networks
Cs231n 2017 lecture10 Recurrent Neural Networks
 
Advanced Node.JS Meetup
Advanced Node.JS MeetupAdvanced Node.JS Meetup
Advanced Node.JS Meetup
 
Care your Child
Care your ChildCare your Child
Care your Child
 
Neural Models for Document Ranking
Neural Models for Document RankingNeural Models for Document Ranking
Neural Models for Document Ranking
 
Technological Unemployment and the Robo-Economy
Technological Unemployment and the Robo-EconomyTechnological Unemployment and the Robo-Economy
Technological Unemployment and the Robo-Economy
 
Cs231n 2017 lecture12 Visualizing and Understanding
Cs231n 2017 lecture12 Visualizing and UnderstandingCs231n 2017 lecture12 Visualizing and Understanding
Cs231n 2017 lecture12 Visualizing and Understanding
 
Construisons ensemble le chatbot bancaire dedemain !
Construisons ensemble le chatbot bancaire dedemain !Construisons ensemble le chatbot bancaire dedemain !
Construisons ensemble le chatbot bancaire dedemain !
 
Matthew Marge - 2017 - Exploring Variation of Natural Human Commands to a Rob...
Matthew Marge - 2017 - Exploring Variation of Natural Human Commands to a Rob...Matthew Marge - 2017 - Exploring Variation of Natural Human Commands to a Rob...
Matthew Marge - 2017 - Exploring Variation of Natural Human Commands to a Rob...
 
Deep Learning & NLP: Graphs to the Rescue!
Deep Learning & NLP: Graphs to the Rescue!Deep Learning & NLP: Graphs to the Rescue!
Deep Learning & NLP: Graphs to the Rescue!
 
Roee Aharoni - 2017 - Towards String-to-Tree Neural Machine Translation
Roee Aharoni - 2017 - Towards String-to-Tree Neural Machine TranslationRoee Aharoni - 2017 - Towards String-to-Tree Neural Machine Translation
Roee Aharoni - 2017 - Towards String-to-Tree Neural Machine Translation
 
iPhone5c的最后猜测
iPhone5c的最后猜测iPhone5c的最后猜测
iPhone5c的最后猜测
 
Blockchain Smartnetworks: Bitcoin and Blockchain Explained
Blockchain Smartnetworks: Bitcoin and Blockchain ExplainedBlockchain Smartnetworks: Bitcoin and Blockchain Explained
Blockchain Smartnetworks: Bitcoin and Blockchain Explained
 

Semelhante a Recommender Systems, Matrices and Graphs

[系列活動] 人工智慧與機器學習在推薦系統上的應用
[系列活動] 人工智慧與機器學習在推薦系統上的應用[系列活動] 人工智慧與機器學習在推薦系統上的應用
[系列活動] 人工智慧與機器學習在推薦系統上的應用台灣資料科學年會
 
A Workshop on R
A Workshop on RA Workshop on R
A Workshop on RAjay Ohri
 
FOSDEM 2014: Social Network Benchmark (SNB) Graph Generator
FOSDEM 2014:  Social Network Benchmark (SNB) Graph GeneratorFOSDEM 2014:  Social Network Benchmark (SNB) Graph Generator
FOSDEM 2014: Social Network Benchmark (SNB) Graph GeneratorLDBC council
 
Hands on Training – Graph Database with Neo4j
Hands on Training – Graph Database with Neo4jHands on Training – Graph Database with Neo4j
Hands on Training – Graph Database with Neo4jSerendio Inc.
 
Training in Analytics, R and Social Media Analytics
Training in Analytics, R and Social Media AnalyticsTraining in Analytics, R and Social Media Analytics
Training in Analytics, R and Social Media AnalyticsAjay Ohri
 
Serving predictive models with Redis
Serving predictive models with RedisServing predictive models with Redis
Serving predictive models with RedisTague Griffith
 
The Magical Art of Extracting Meaning From Data
The Magical Art of Extracting Meaning From DataThe Magical Art of Extracting Meaning From Data
The Magical Art of Extracting Meaning From Datalmrei
 
Processing Large Graphs
Processing Large GraphsProcessing Large Graphs
Processing Large GraphsNishant Gandhi
 
Bootstrapping Recommendations with Neo4j
Bootstrapping Recommendations with Neo4jBootstrapping Recommendations with Neo4j
Bootstrapping Recommendations with Neo4jMax De Marzi
 
Multi-model Databases and Tightly Integrated Polystores
Multi-model Databases and Tightly Integrated PolystoresMulti-model Databases and Tightly Integrated Polystores
Multi-model Databases and Tightly Integrated PolystoresJiaheng Lu
 
Paris data-geeks-2013-03-28
Paris data-geeks-2013-03-28Paris data-geeks-2013-03-28
Paris data-geeks-2013-03-28Ted Dunning
 
Gao cong geospatial social media data management and context-aware recommenda...
Gao cong geospatial social media data management and context-aware recommenda...Gao cong geospatial social media data management and context-aware recommenda...
Gao cong geospatial social media data management and context-aware recommenda...jins0618
 
An R primer for SQL folks
An R primer for SQL folksAn R primer for SQL folks
An R primer for SQL folksThomas Hütter
 
Practical Data Science Workshop - Recommendation Systems - Collaborative Filt...
Practical Data Science Workshop - Recommendation Systems - Collaborative Filt...Practical Data Science Workshop - Recommendation Systems - Collaborative Filt...
Practical Data Science Workshop - Recommendation Systems - Collaborative Filt...Chris Fregly
 
Neo4j graphdatabaseforrecommendations-130531021030-phpapp02-converted
Neo4j graphdatabaseforrecommendations-130531021030-phpapp02-convertedNeo4j graphdatabaseforrecommendations-130531021030-phpapp02-converted
Neo4j graphdatabaseforrecommendations-130531021030-phpapp02-convertedsnehapandey01
 
Grill at bigdata-cloud conf
Grill at bigdata-cloud confGrill at bigdata-cloud conf
Grill at bigdata-cloud confamarsri
 
Lessons learnt at building recommendation services at industry scale
Lessons learnt at building recommendation services at industry scaleLessons learnt at building recommendation services at industry scale
Lessons learnt at building recommendation services at industry scaleDomonkos Tikk
 
The openCypher Project - An Open Graph Query Language
The openCypher Project - An Open Graph Query LanguageThe openCypher Project - An Open Graph Query Language
The openCypher Project - An Open Graph Query LanguageNeo4j
 
Introduction to Neo4j and .Net
Introduction to Neo4j and .NetIntroduction to Neo4j and .Net
Introduction to Neo4j and .NetNeo4j
 

Semelhante a Recommender Systems, Matrices and Graphs (20)

[系列活動] 人工智慧與機器學習在推薦系統上的應用
[系列活動] 人工智慧與機器學習在推薦系統上的應用[系列活動] 人工智慧與機器學習在推薦系統上的應用
[系列活動] 人工智慧與機器學習在推薦系統上的應用
 
A Workshop on R
A Workshop on RA Workshop on R
A Workshop on R
 
FOSDEM 2014: Social Network Benchmark (SNB) Graph Generator
FOSDEM 2014:  Social Network Benchmark (SNB) Graph GeneratorFOSDEM 2014:  Social Network Benchmark (SNB) Graph Generator
FOSDEM 2014: Social Network Benchmark (SNB) Graph Generator
 
Hands on Training – Graph Database with Neo4j
Hands on Training – Graph Database with Neo4jHands on Training – Graph Database with Neo4j
Hands on Training – Graph Database with Neo4j
 
Training in Analytics, R and Social Media Analytics
Training in Analytics, R and Social Media AnalyticsTraining in Analytics, R and Social Media Analytics
Training in Analytics, R and Social Media Analytics
 
Serving predictive models with Redis
Serving predictive models with RedisServing predictive models with Redis
Serving predictive models with Redis
 
The Magical Art of Extracting Meaning From Data
The Magical Art of Extracting Meaning From DataThe Magical Art of Extracting Meaning From Data
The Magical Art of Extracting Meaning From Data
 
Processing Large Graphs
Processing Large GraphsProcessing Large Graphs
Processing Large Graphs
 
Bootstrapping Recommendations with Neo4j
Bootstrapping Recommendations with Neo4jBootstrapping Recommendations with Neo4j
Bootstrapping Recommendations with Neo4j
 
Multi-model Databases and Tightly Integrated Polystores
Multi-model Databases and Tightly Integrated PolystoresMulti-model Databases and Tightly Integrated Polystores
Multi-model Databases and Tightly Integrated Polystores
 
Paris data-geeks-2013-03-28
Paris data-geeks-2013-03-28Paris data-geeks-2013-03-28
Paris data-geeks-2013-03-28
 
Gao cong geospatial social media data management and context-aware recommenda...
Gao cong geospatial social media data management and context-aware recommenda...Gao cong geospatial social media data management and context-aware recommenda...
Gao cong geospatial social media data management and context-aware recommenda...
 
An R primer for SQL folks
An R primer for SQL folksAn R primer for SQL folks
An R primer for SQL folks
 
Practical Data Science Workshop - Recommendation Systems - Collaborative Filt...
Practical Data Science Workshop - Recommendation Systems - Collaborative Filt...Practical Data Science Workshop - Recommendation Systems - Collaborative Filt...
Practical Data Science Workshop - Recommendation Systems - Collaborative Filt...
 
Paris Data Geeks
Paris Data GeeksParis Data Geeks
Paris Data Geeks
 
Neo4j graphdatabaseforrecommendations-130531021030-phpapp02-converted
Neo4j graphdatabaseforrecommendations-130531021030-phpapp02-convertedNeo4j graphdatabaseforrecommendations-130531021030-phpapp02-converted
Neo4j graphdatabaseforrecommendations-130531021030-phpapp02-converted
 
Grill at bigdata-cloud conf
Grill at bigdata-cloud confGrill at bigdata-cloud conf
Grill at bigdata-cloud conf
 
Lessons learnt at building recommendation services at industry scale
Lessons learnt at building recommendation services at industry scaleLessons learnt at building recommendation services at industry scale
Lessons learnt at building recommendation services at industry scale
 
The openCypher Project - An Open Graph Query Language
The openCypher Project - An Open Graph Query LanguageThe openCypher Project - An Open Graph Query Language
The openCypher Project - An Open Graph Query Language
 
Introduction to Neo4j and .Net
Introduction to Neo4j and .NetIntroduction to Neo4j and .Net
Introduction to Neo4j and .Net
 

Mais de Roelof Pieters

Speculations in anthropology and tech for an uncertain future
Speculations in anthropology and tech for an uncertain futureSpeculations in anthropology and tech for an uncertain future
Speculations in anthropology and tech for an uncertain futureRoelof Pieters
 
AI assisted creativity
AI assisted creativity AI assisted creativity
AI assisted creativity Roelof Pieters
 
Creativity and AI: 
Deep Neural Nets "Going Wild"
Creativity and AI: 
Deep Neural Nets "Going Wild"Creativity and AI: 
Deep Neural Nets "Going Wild"
Creativity and AI: 
Deep Neural Nets "Going Wild"Roelof Pieters
 
Deep Neural Networks 
that talk (Back)… with style
Deep Neural Networks 
that talk (Back)… with styleDeep Neural Networks 
that talk (Back)… with style
Deep Neural Networks 
that talk (Back)… with styleRoelof Pieters
 
Building a Deep Learning (Dream) Machine
Building a Deep Learning (Dream) MachineBuilding a Deep Learning (Dream) Machine
Building a Deep Learning (Dream) MachineRoelof Pieters
 
Multi-modal embeddings: from discriminative to generative models and creative ai
Multi-modal embeddings: from discriminative to generative models and creative aiMulti-modal embeddings: from discriminative to generative models and creative ai
Multi-modal embeddings: from discriminative to generative models and creative aiRoelof Pieters
 
Deep learning for natural language embeddings
Deep learning for natural language embeddingsDeep learning for natural language embeddings
Deep learning for natural language embeddingsRoelof Pieters
 
Multi modal retrieval and generation with deep distributed models
Multi modal retrieval and generation with deep distributed modelsMulti modal retrieval and generation with deep distributed models
Multi modal retrieval and generation with deep distributed modelsRoelof Pieters
 
Deep Learning for Natural Language Processing: Word Embeddings
Deep Learning for Natural Language Processing: Word EmbeddingsDeep Learning for Natural Language Processing: Word Embeddings
Deep Learning for Natural Language Processing: Word EmbeddingsRoelof Pieters
 
Creative AI & multimodality: looking ahead
Creative AI & multimodality: looking aheadCreative AI & multimodality: looking ahead
Creative AI & multimodality: looking aheadRoelof Pieters
 
Python for Image Understanding: Deep Learning with Convolutional Neural Nets
Python for Image Understanding: Deep Learning with Convolutional Neural NetsPython for Image Understanding: Deep Learning with Convolutional Neural Nets
Python for Image Understanding: Deep Learning with Convolutional Neural NetsRoelof Pieters
 
Explore Data: Data Science + Visualization
Explore Data: Data Science + VisualizationExplore Data: Data Science + Visualization
Explore Data: Data Science + VisualizationRoelof Pieters
 
Deep Learning as a Cat/Dog Detector
Deep Learning as a Cat/Dog DetectorDeep Learning as a Cat/Dog Detector
Deep Learning as a Cat/Dog DetectorRoelof Pieters
 
Deep Learning for Information Retrieval
Deep Learning for Information RetrievalDeep Learning for Information Retrieval
Deep Learning for Information RetrievalRoelof Pieters
 
Graph, Data-science, and Deep Learning
Graph, Data-science, and Deep LearningGraph, Data-science, and Deep Learning
Graph, Data-science, and Deep LearningRoelof Pieters
 
Deep Learning: a birds eye view
Deep Learning: a birds eye viewDeep Learning: a birds eye view
Deep Learning: a birds eye viewRoelof Pieters
 
Learning to understand phrases by embedding the dictionary
Learning to understand phrases by embedding the dictionaryLearning to understand phrases by embedding the dictionary
Learning to understand phrases by embedding the dictionaryRoelof Pieters
 
Zero shot learning through cross-modal transfer
Zero shot learning through cross-modal transferZero shot learning through cross-modal transfer
Zero shot learning through cross-modal transferRoelof Pieters
 
Visual-Semantic Embeddings: some thoughts on Language
Visual-Semantic Embeddings: some thoughts on LanguageVisual-Semantic Embeddings: some thoughts on Language
Visual-Semantic Embeddings: some thoughts on LanguageRoelof Pieters
 
Deep Learning, an interactive introduction for NLP-ers
Deep Learning, an interactive introduction for NLP-ersDeep Learning, an interactive introduction for NLP-ers
Deep Learning, an interactive introduction for NLP-ersRoelof Pieters
 

Mais de Roelof Pieters (20)

Speculations in anthropology and tech for an uncertain future
Speculations in anthropology and tech for an uncertain futureSpeculations in anthropology and tech for an uncertain future
Speculations in anthropology and tech for an uncertain future
 
AI assisted creativity
AI assisted creativity AI assisted creativity
AI assisted creativity
 
Creativity and AI: 
Deep Neural Nets "Going Wild"
Creativity and AI: 
Deep Neural Nets "Going Wild"Creativity and AI: 
Deep Neural Nets "Going Wild"
Creativity and AI: 
Deep Neural Nets "Going Wild"
 
Deep Neural Networks 
that talk (Back)… with style
Deep Neural Networks 
that talk (Back)… with styleDeep Neural Networks 
that talk (Back)… with style
Deep Neural Networks 
that talk (Back)… with style
 
Building a Deep Learning (Dream) Machine
Building a Deep Learning (Dream) MachineBuilding a Deep Learning (Dream) Machine
Building a Deep Learning (Dream) Machine
 
Multi-modal embeddings: from discriminative to generative models and creative ai
Multi-modal embeddings: from discriminative to generative models and creative aiMulti-modal embeddings: from discriminative to generative models and creative ai
Multi-modal embeddings: from discriminative to generative models and creative ai
 
Deep learning for natural language embeddings
Deep learning for natural language embeddingsDeep learning for natural language embeddings
Deep learning for natural language embeddings
 
Multi modal retrieval and generation with deep distributed models
Multi modal retrieval and generation with deep distributed modelsMulti modal retrieval and generation with deep distributed models
Multi modal retrieval and generation with deep distributed models
 
Deep Learning for Natural Language Processing: Word Embeddings
Deep Learning for Natural Language Processing: Word EmbeddingsDeep Learning for Natural Language Processing: Word Embeddings
Deep Learning for Natural Language Processing: Word Embeddings
 
Creative AI & multimodality: looking ahead
Creative AI & multimodality: looking aheadCreative AI & multimodality: looking ahead
Creative AI & multimodality: looking ahead
 
Python for Image Understanding: Deep Learning with Convolutional Neural Nets
Python for Image Understanding: Deep Learning with Convolutional Neural NetsPython for Image Understanding: Deep Learning with Convolutional Neural Nets
Python for Image Understanding: Deep Learning with Convolutional Neural Nets
 
Explore Data: Data Science + Visualization
Explore Data: Data Science + VisualizationExplore Data: Data Science + Visualization
Explore Data: Data Science + Visualization
 
Deep Learning as a Cat/Dog Detector
Deep Learning as a Cat/Dog DetectorDeep Learning as a Cat/Dog Detector
Deep Learning as a Cat/Dog Detector
 
Deep Learning for Information Retrieval
Deep Learning for Information RetrievalDeep Learning for Information Retrieval
Deep Learning for Information Retrieval
 
Graph, Data-science, and Deep Learning
Graph, Data-science, and Deep LearningGraph, Data-science, and Deep Learning
Graph, Data-science, and Deep Learning
 
Deep Learning: a birds eye view
Deep Learning: a birds eye viewDeep Learning: a birds eye view
Deep Learning: a birds eye view
 
Learning to understand phrases by embedding the dictionary
Learning to understand phrases by embedding the dictionaryLearning to understand phrases by embedding the dictionary
Learning to understand phrases by embedding the dictionary
 
Zero shot learning through cross-modal transfer
Zero shot learning through cross-modal transferZero shot learning through cross-modal transfer
Zero shot learning through cross-modal transfer
 
Visual-Semantic Embeddings: some thoughts on Language
Visual-Semantic Embeddings: some thoughts on LanguageVisual-Semantic Embeddings: some thoughts on Language
Visual-Semantic Embeddings: some thoughts on Language
 
Deep Learning, an interactive introduction for NLP-ers
Deep Learning, an interactive introduction for NLP-ersDeep Learning, an interactive introduction for NLP-ers
Deep Learning, an interactive introduction for NLP-ers
 

Último

Andrés Ramírez Gossler, Facundo Schinnea - eCommerce Day Chile 2024
Andrés Ramírez Gossler, Facundo Schinnea - eCommerce Day Chile 2024Andrés Ramírez Gossler, Facundo Schinnea - eCommerce Day Chile 2024
Andrés Ramírez Gossler, Facundo Schinnea - eCommerce Day Chile 2024eCommerce Institute
 
Open Source Camp Kubernetes 2024 | Running WebAssembly on Kubernetes by Alex ...
Open Source Camp Kubernetes 2024 | Running WebAssembly on Kubernetes by Alex ...Open Source Camp Kubernetes 2024 | Running WebAssembly on Kubernetes by Alex ...
Open Source Camp Kubernetes 2024 | Running WebAssembly on Kubernetes by Alex ...NETWAYS
 
Open Source Camp Kubernetes 2024 | Monitoring Kubernetes With Icinga by Eric ...
Open Source Camp Kubernetes 2024 | Monitoring Kubernetes With Icinga by Eric ...Open Source Camp Kubernetes 2024 | Monitoring Kubernetes With Icinga by Eric ...
Open Source Camp Kubernetes 2024 | Monitoring Kubernetes With Icinga by Eric ...NETWAYS
 
LANDMARKS AND MONUMENTS IN NIGERIA.pptx
LANDMARKS  AND MONUMENTS IN NIGERIA.pptxLANDMARKS  AND MONUMENTS IN NIGERIA.pptx
LANDMARKS AND MONUMENTS IN NIGERIA.pptxBasil Achie
 
OSCamp Kubernetes 2024 | A Tester's Guide to CI_CD as an Automated Quality Co...
OSCamp Kubernetes 2024 | A Tester's Guide to CI_CD as an Automated Quality Co...OSCamp Kubernetes 2024 | A Tester's Guide to CI_CD as an Automated Quality Co...
OSCamp Kubernetes 2024 | A Tester's Guide to CI_CD as an Automated Quality Co...NETWAYS
 
SBFT Tool Competition 2024 - CPS-UAV Test Case Generation Track
SBFT Tool Competition 2024 - CPS-UAV Test Case Generation TrackSBFT Tool Competition 2024 - CPS-UAV Test Case Generation Track
SBFT Tool Competition 2024 - CPS-UAV Test Case Generation TrackSebastiano Panichella
 
Motivation and Theory Maslow and Murray pdf
Motivation and Theory Maslow and Murray pdfMotivation and Theory Maslow and Murray pdf
Motivation and Theory Maslow and Murray pdfakankshagupta7348026
 
OSCamp Kubernetes 2024 | Zero-Touch OS-Infrastruktur für Container und Kubern...
OSCamp Kubernetes 2024 | Zero-Touch OS-Infrastruktur für Container und Kubern...OSCamp Kubernetes 2024 | Zero-Touch OS-Infrastruktur für Container und Kubern...
OSCamp Kubernetes 2024 | Zero-Touch OS-Infrastruktur für Container und Kubern...NETWAYS
 
Russian Call Girls in Kolkata Vaishnavi 🤌 8250192130 🚀 Vip Call Girls Kolkata
Russian Call Girls in Kolkata Vaishnavi 🤌  8250192130 🚀 Vip Call Girls KolkataRussian Call Girls in Kolkata Vaishnavi 🤌  8250192130 🚀 Vip Call Girls Kolkata
Russian Call Girls in Kolkata Vaishnavi 🤌 8250192130 🚀 Vip Call Girls Kolkataanamikaraghav4
 
Genesis part 2 Isaiah Scudder 04-24-2024.pptx
Genesis part 2 Isaiah Scudder 04-24-2024.pptxGenesis part 2 Isaiah Scudder 04-24-2024.pptx
Genesis part 2 Isaiah Scudder 04-24-2024.pptxFamilyWorshipCenterD
 
NATIONAL ANTHEMS OF AFRICA (National Anthems of Africa)
NATIONAL ANTHEMS OF AFRICA (National Anthems of Africa)NATIONAL ANTHEMS OF AFRICA (National Anthems of Africa)
NATIONAL ANTHEMS OF AFRICA (National Anthems of Africa)Basil Achie
 
Navi Mumbai Call Girls Service Pooja 9892124323 Real Russian Girls Looking Mo...
Navi Mumbai Call Girls Service Pooja 9892124323 Real Russian Girls Looking Mo...Navi Mumbai Call Girls Service Pooja 9892124323 Real Russian Girls Looking Mo...
Navi Mumbai Call Girls Service Pooja 9892124323 Real Russian Girls Looking Mo...Pooja Nehwal
 
CTAC 2024 Valencia - Henrik Hanke - Reduce to the max - slideshare.pdf
CTAC 2024 Valencia - Henrik Hanke - Reduce to the max - slideshare.pdfCTAC 2024 Valencia - Henrik Hanke - Reduce to the max - slideshare.pdf
CTAC 2024 Valencia - Henrik Hanke - Reduce to the max - slideshare.pdfhenrik385807
 
Exploring protein-protein interactions by Weak Affinity Chromatography (WAC) ...
Exploring protein-protein interactions by Weak Affinity Chromatography (WAC) ...Exploring protein-protein interactions by Weak Affinity Chromatography (WAC) ...
Exploring protein-protein interactions by Weak Affinity Chromatography (WAC) ...Salam Al-Karadaghi
 
Call Girls in Rohini Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Rohini Delhi 💯Call Us 🔝8264348440🔝Call Girls in Rohini Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Rohini Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
Work Remotely with Confluence ACE 2.pptx
Work Remotely with Confluence ACE 2.pptxWork Remotely with Confluence ACE 2.pptx
Work Remotely with Confluence ACE 2.pptxmavinoikein
 
The 3rd Intl. Workshop on NL-based Software Engineering
The 3rd Intl. Workshop on NL-based Software EngineeringThe 3rd Intl. Workshop on NL-based Software Engineering
The 3rd Intl. Workshop on NL-based Software EngineeringSebastiano Panichella
 
CTAC 2024 Valencia - Sven Zoelle - Most Crucial Invest to Digitalisation_slid...
CTAC 2024 Valencia - Sven Zoelle - Most Crucial Invest to Digitalisation_slid...CTAC 2024 Valencia - Sven Zoelle - Most Crucial Invest to Digitalisation_slid...
CTAC 2024 Valencia - Sven Zoelle - Most Crucial Invest to Digitalisation_slid...henrik385807
 
Philippine History cavite Mutiny Report.ppt
Philippine History cavite Mutiny Report.pptPhilippine History cavite Mutiny Report.ppt
Philippine History cavite Mutiny Report.pptssuser319dad
 
Call Girls in Sarojini Nagar Market Delhi 💯 Call Us 🔝8264348440🔝
Call Girls in Sarojini Nagar Market Delhi 💯 Call Us 🔝8264348440🔝Call Girls in Sarojini Nagar Market Delhi 💯 Call Us 🔝8264348440🔝
Call Girls in Sarojini Nagar Market Delhi 💯 Call Us 🔝8264348440🔝soniya singh
 

Último (20)

Andrés Ramírez Gossler, Facundo Schinnea - eCommerce Day Chile 2024
Andrés Ramírez Gossler, Facundo Schinnea - eCommerce Day Chile 2024Andrés Ramírez Gossler, Facundo Schinnea - eCommerce Day Chile 2024
Andrés Ramírez Gossler, Facundo Schinnea - eCommerce Day Chile 2024
 
Open Source Camp Kubernetes 2024 | Running WebAssembly on Kubernetes by Alex ...
Open Source Camp Kubernetes 2024 | Running WebAssembly on Kubernetes by Alex ...Open Source Camp Kubernetes 2024 | Running WebAssembly on Kubernetes by Alex ...
Open Source Camp Kubernetes 2024 | Running WebAssembly on Kubernetes by Alex ...
 
Open Source Camp Kubernetes 2024 | Monitoring Kubernetes With Icinga by Eric ...
Open Source Camp Kubernetes 2024 | Monitoring Kubernetes With Icinga by Eric ...Open Source Camp Kubernetes 2024 | Monitoring Kubernetes With Icinga by Eric ...
Open Source Camp Kubernetes 2024 | Monitoring Kubernetes With Icinga by Eric ...
 
LANDMARKS AND MONUMENTS IN NIGERIA.pptx
LANDMARKS  AND MONUMENTS IN NIGERIA.pptxLANDMARKS  AND MONUMENTS IN NIGERIA.pptx
LANDMARKS AND MONUMENTS IN NIGERIA.pptx
 
OSCamp Kubernetes 2024 | A Tester's Guide to CI_CD as an Automated Quality Co...
OSCamp Kubernetes 2024 | A Tester's Guide to CI_CD as an Automated Quality Co...OSCamp Kubernetes 2024 | A Tester's Guide to CI_CD as an Automated Quality Co...
OSCamp Kubernetes 2024 | A Tester's Guide to CI_CD as an Automated Quality Co...
 
SBFT Tool Competition 2024 - CPS-UAV Test Case Generation Track
SBFT Tool Competition 2024 - CPS-UAV Test Case Generation TrackSBFT Tool Competition 2024 - CPS-UAV Test Case Generation Track
SBFT Tool Competition 2024 - CPS-UAV Test Case Generation Track
 
Motivation and Theory Maslow and Murray pdf
Motivation and Theory Maslow and Murray pdfMotivation and Theory Maslow and Murray pdf
Motivation and Theory Maslow and Murray pdf
 
OSCamp Kubernetes 2024 | Zero-Touch OS-Infrastruktur für Container und Kubern...
OSCamp Kubernetes 2024 | Zero-Touch OS-Infrastruktur für Container und Kubern...OSCamp Kubernetes 2024 | Zero-Touch OS-Infrastruktur für Container und Kubern...
OSCamp Kubernetes 2024 | Zero-Touch OS-Infrastruktur für Container und Kubern...
 
Russian Call Girls in Kolkata Vaishnavi 🤌 8250192130 🚀 Vip Call Girls Kolkata
Russian Call Girls in Kolkata Vaishnavi 🤌  8250192130 🚀 Vip Call Girls KolkataRussian Call Girls in Kolkata Vaishnavi 🤌  8250192130 🚀 Vip Call Girls Kolkata
Russian Call Girls in Kolkata Vaishnavi 🤌 8250192130 🚀 Vip Call Girls Kolkata
 
Genesis part 2 Isaiah Scudder 04-24-2024.pptx
Genesis part 2 Isaiah Scudder 04-24-2024.pptxGenesis part 2 Isaiah Scudder 04-24-2024.pptx
Genesis part 2 Isaiah Scudder 04-24-2024.pptx
 
NATIONAL ANTHEMS OF AFRICA (National Anthems of Africa)
NATIONAL ANTHEMS OF AFRICA (National Anthems of Africa)NATIONAL ANTHEMS OF AFRICA (National Anthems of Africa)
NATIONAL ANTHEMS OF AFRICA (National Anthems of Africa)
 
Navi Mumbai Call Girls Service Pooja 9892124323 Real Russian Girls Looking Mo...
Navi Mumbai Call Girls Service Pooja 9892124323 Real Russian Girls Looking Mo...Navi Mumbai Call Girls Service Pooja 9892124323 Real Russian Girls Looking Mo...
Navi Mumbai Call Girls Service Pooja 9892124323 Real Russian Girls Looking Mo...
 
CTAC 2024 Valencia - Henrik Hanke - Reduce to the max - slideshare.pdf
CTAC 2024 Valencia - Henrik Hanke - Reduce to the max - slideshare.pdfCTAC 2024 Valencia - Henrik Hanke - Reduce to the max - slideshare.pdf
CTAC 2024 Valencia - Henrik Hanke - Reduce to the max - slideshare.pdf
 
Exploring protein-protein interactions by Weak Affinity Chromatography (WAC) ...
Exploring protein-protein interactions by Weak Affinity Chromatography (WAC) ...Exploring protein-protein interactions by Weak Affinity Chromatography (WAC) ...
Exploring protein-protein interactions by Weak Affinity Chromatography (WAC) ...
 
Call Girls in Rohini Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Rohini Delhi 💯Call Us 🔝8264348440🔝Call Girls in Rohini Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Rohini Delhi 💯Call Us 🔝8264348440🔝
 
Work Remotely with Confluence ACE 2.pptx
Work Remotely with Confluence ACE 2.pptxWork Remotely with Confluence ACE 2.pptx
Work Remotely with Confluence ACE 2.pptx
 
The 3rd Intl. Workshop on NL-based Software Engineering
The 3rd Intl. Workshop on NL-based Software EngineeringThe 3rd Intl. Workshop on NL-based Software Engineering
The 3rd Intl. Workshop on NL-based Software Engineering
 
CTAC 2024 Valencia - Sven Zoelle - Most Crucial Invest to Digitalisation_slid...
CTAC 2024 Valencia - Sven Zoelle - Most Crucial Invest to Digitalisation_slid...CTAC 2024 Valencia - Sven Zoelle - Most Crucial Invest to Digitalisation_slid...
CTAC 2024 Valencia - Sven Zoelle - Most Crucial Invest to Digitalisation_slid...
 
Philippine History cavite Mutiny Report.ppt
Philippine History cavite Mutiny Report.pptPhilippine History cavite Mutiny Report.ppt
Philippine History cavite Mutiny Report.ppt
 
Call Girls in Sarojini Nagar Market Delhi 💯 Call Us 🔝8264348440🔝
Call Girls in Sarojini Nagar Market Delhi 💯 Call Us 🔝8264348440🔝Call Girls in Sarojini Nagar Market Delhi 💯 Call Us 🔝8264348440🔝
Call Girls in Sarojini Nagar Market Delhi 💯 Call Us 🔝8264348440🔝
 

Recommender Systems, Matrices and Graphs

  • 1. Recommender Systems, MaTRICES and Graphs Roelof Pieters roelof@vionlabs.com 14 May 2014 @ KTH
  • 2. About me Interests in: • IR, RecSys, Big Data, ML, NLP, SNA, Graphs, CV, Data Visualization, Discourse Analysis History: • 2002-2006: almost-BA Computer Science @ Amsterdam Tech Uni (dropped out in 2006) • 2006-2010: BA Cultural Anthropology @ Leiden & Amsterdam Uni’s • 2010-2012: MA Social Anthropology @ Stockholm Uni • 2011-Current: Working @ Vionlabs se.linkedin.com/in/roelofpieters/ roelof@vionlabs.com
  • 3. Say Hello! St: Eriksgatan 63 112 33 Stockholm - Sweden Email: hello@vionlabs.com Tech company here in Stockholm with Geeks and Movie lovers… Since 2009: • Digital ecosystems for network operators, cable TV companies, and film distributor such as Tele2/Comviq, Cyberia, and Warner Bros • Various software and hardware hacks for different companies: Webbstory, Excito, Spotify, Samsung Focus since 2012: • Movie and TV recommendation 
 service FoorSee
  • 5.
  • 8.
  • 9. Information Retrieval • Recommender Systems as part of Information Retrieval Document(s)Document(s)Document(s)Document(s)Document(s) Retrieval USER Query • Information Retrieval is the activity of obtaining information resources relevant to an information need from a collection of information resources.
  • 10. IR: Measure Success • Recall: success in retrieving all correct documents • Precision: success in retrieving the most relevant documents • Given a set of terms and a set of document terms select only the most relevant documents (precision), and preferably all the relevant ones (recall)
  • 11. “generate meaningful recommendations to a (collection of) user(s) for items or products that might interest them” Recommender Systems
  • 12. Where can RS be found? • Movie recommendation (Netflix) • Related product recommendation (Amazon) • Web page ranking (Google) • Social recommendation (Facebook) • News content recommendation (Yahoo) • Priority inbox & spam filtering (Google) • Online dating (OK Cupid) • Computational Advertising (Yahoo)
  • 14. Taxonomy of RS • Collaborative Filtering (CF) • Content Based Filtering (CBF) • Knowledge Based Filtering (KBF) • Hybrid
  • 15. Taxonomy of RS • Collaborative Filtering (CF)! • Content Based Filtering (CBF) • Knowledge Based Filtering (KBF) • Hybrid
  • 16. Collaborative Filtering: • relies on past user behavior • Implicit feedback • Explicit feedback • requires no gathering of external data • sparse data • domain free • cold start problem 16
  • 17. Collaborative (Dietmar et. al. At ‘AI 2011) User based Collaborative Filtering
  • 19. Taxonomy of RS • Collaborative Filtering (CF) • Content Based Filtering (CBF)! • Knowledge Based Filtering (KBF) • Hybrid
  • 20. Content Filtering • creates profile for user/movie • requires gathering external data • dense data • domain-bounded • no cold start problem 20
  • 21. Content based (Dietmar et. al. At ‘AI 2013) Item based Collaborative Filtering
  • 23. Taxonomy of RS • Collaborative Filtering (CF) • Content Based Filtering (CBF) • Knowledge Based Filtering (KBF)! • Hybrid
  • 24. Knowledge based (Dietmar et. al. At ‘AI 2013) Knowledge based Content Filtering
  • 27. Taxonomy of RS • Collaborative Filtering (CF) • Content Based Filtering (CBF) • Knowledge Based Filtering (KBF) • Hybrid
  • 28. Hybrid (Dietmar et. al. At ‘AI 2013)
  • 30. History • 1992-1995: Manual Collaborative Filtering • 1994-2000: Automatic Collaborative Filtering + Content • 2000+: Commercialization…
  • 33. 2000+: Commercial CF’s • 2001: Amazon starts using item based collaborative filtering (Patent filed at 1998) • 2000: Pandora starts music genome
 project, where each song“is analyzed using up to 450 distinct musical characteristics by a trained music analyst.” • 2006-2009: Netflix Contents: 2 of many algorithms put in use by Netflix replacing “Cinematch": Matrix Factorization (SVD) and Restricted Boltzmann Machines (RBM)
 (http://www.pandora.com/about/mgp) (http://www.netflixprize.com)
  • 34. Annual Conferences • RecSys (since 2007) http://recsys.acm.org • SIGIR (since 1978) http://sigir.org/ • KDD (official since 1998) http://www.kdd.org/ • KDD Cup
  • 35. Ongoing Discussion • Evaluation • Scalability • Similarity versus Diversity • Cold start (items + users) • Fraud • Imbalanced dataset or Sparsity • Personalization • Filter Bubbles • Privacy • Data Collection
  • 37. Evaluating Recommenders • Least mean squares prediction error • RMSE
 
 
 • Similarity measure enough ?
 
 
 rmse(S) = s |S| 1 X (i,u)2S (ˆrui rui)2
  • 38. Evaluating Recommenders rmse(S) = s |S| 1 X (i,u)2S (ˆrui rui)2
  • 39. Evaluating Recommenders rmse(S) = s |S| 1 X (i,u)2S (ˆrui rui)2
  • 40. Evaluating Recommenders rmse(S) = s |S| 1 X (i,u)2S (ˆrui rui)2
  • 41. Evaluating Recommenders rmse(S) = s |S| 1 X (i,u)2S (ˆrui rui)2
  • 42. Evaluating Recommenders rmse(S) = s |S| 1 X (i,u)2S (ˆrui rui)2
  • 43. Evaluating Recommenders rmse(S) = s |S| 1 X (i,u)2S (ˆrui rui)2
  • 44. Evaluating Recommenders rmse(S) = s |S| 1 X (i,u)2S (ˆrui rui)2
  • 46. Outline •Recommender Systems •Algorithms* •Content based Algorithms * •Collaborative Algorithms * •Classification •Rating/Ranking * •Graphs (* math magicians better pay attention here)
  • 47. • content is exploited (item to item filtering) • content model: • keywords (ie TF-IDF) • similarity/distance measures: • Euclidean distance: • L1 and L2-norm • Jaccard distance Content-based Filtering • (adjusted) Cosine distance • Edit distance • Hamming distance
  • 48. • similarity/distance measures: • Euclidean distance
 • Jaccard distance
 • Cosine distance Content-based Filtering dot product x.y is 
 1 × 2 + 2 × 1 + (−1) × 1 = 3 x = [1,2, −1] and = [2,1,1]. L2-norm =
 √12 + 22 + (−1)2 = 6 ie:
  • 49. • similarity/distance measures: • Euclidean distance
 • Jaccard distance
 • Cosine distance Content-based Filtering dot product x.y is 
 1 × 2 + 2 × 1 + (−1) × 1 = 3 x = [1,2, −1] and = [2,1,1]. cosine of angle:
 3/(√6√6) =1/2 cos distance of 1/2: 60 degrees, L2-norm =
 √12 + 22 + (−1)2 = 6 ie:
  • 50. Examples • Item to Query • Item to Item • Item to User
  • 51. Examples • Item to Query! • Item to Item • Item to User
  • 52. Example: Item to Query Title Price Genre Rating The Avengers 5 Action 3,7 Spiderman II 10 Action 4,5 user query q : 
 “price (6) AND genre(Adventure) AND rating (4)” weights of features: 0.22 0.450.33 Sim(q,”The Avengers”) = 
 0.22 x (1 - 1/25) + 0.33 x 0 + 0.45 x (1 - 0.3/5) = 0.6342 1-25 price range no matchdiff of 1 diff of 0.3 0-5 rating range Sim(q,”Spiderman II”) = 0.5898 
 (0.6348 if we count rating 4.5 > 4 as match) Weighted Sum:
  • 53. Examples • Item to Query • Item to Item! • Item to User
  • 54. Example: Item to Item Similarity Title ReleaseTime Genres Actors Rating TA 90s, start 90s, 1993 Action, Comedy, Romance X,Y,Z 3,7 S2 90s, start 90s, 1991 Action W,X,Z 4,5 numeric Array of Booleans Sim(X,Y) = 1 - d(X,Y) 
 or 
 Sim(X,Y) = exp(- d(X,Y)) where 0 ≤ wi ≤ 1, and i=1..n (number of features). Set of hierarchical related symbols
  • 55. Title ReleaseTime Genres Actors Rating TA 90s, start 90s, 1993 Action, Comedy, Romance X,Y,Z 3,7 S2 90s, start 90s, 1991 Action W,X,Z 4,5 numeric Array of Booleans Set of hierarchical related symbols X1 = (90s,S90s,1993) X2 = (1,1,1) X3 = (0,1,1,1) X4 = 3.7 TA W 0.5 0.3 0.2 X1 = (90s,S90s,1991) X2 = (1,0,0) X3 = (1,1,0,1) X4 = 4.5 S2 weights of feature all the same weights of categories within “Release time” different Example: Item to Item Similarity
  • 56. X1 = (90s,S90s,1993) X2 = (1,1,1) X3 = (0,1,1,1) X4 = 3.7 TA W 0.5 0.3 0.2 X1 = (90s,S90s,1991) X2 = (1,0,0) X3 = (1,1,0,1) X4 = 4.5 S2 
 exp(- (1/√4) √d1(X1,Y1)2 +…+d4(X4,Y4 )2 ) = exp(- ) exp(-(1/√4) √(1-(0.3+0.5))2 + (1-1/3)2 +(1-2/4)2 + (1-0.8/5)2 ) = exp(-(1/√4) √(1.5745 ) = exp(-0.339) = 0.534 Sim( dest1,dest2 ) = Example: Item to Item Similarity
  • 58. Examples • Item to Query • Item to Item • Item to User
  • 59. Example: Item to User Title Roelof Klas Mo Max X (Action) X ( ) The Avengers 5 1 2 5 0.8 0.1 Spiderman II ? 2 1 ? 0.9 0.2 American Pie 2 5 ? 1 0.05 0.9 X(1) = 1
 0.8
 0.1 For each user u, learn a parameter ∈ R(n+1) .
 Predict user u as rating movie i with ( )T x(i)
  • 60. Title Roelof Klas Mo Max X (Action) X ( ) The Avengers 5 1 2 5 0.8 0.1 Spiderman II ? 2 1 ? 0.9 0.2 American Pie 2 5 ? 1 0.05 0.9 Mo ( (3) ) and Klas ( (2) ) predict rating Mo ( (3) ),
 American pie (X(3) ) (2) (3)(1) (4) X(1) X(2) X(3) X(3) = 1
 0.05
 0.9 temp (3) = 0
 0
 5 Example: Item to User
  • 61. Title Roelof Klas Mo Max X (Action) X ( ) The Avengers 5 1 2 5 0.8 0.1 Spiderman II ? 2 1 ? 0.9 0.2 American Pie 2 5 ? 1 0.05 0.9 Mo ( (3) ) and Klas ( (2) ) predict rating Mo ( (3) ),
 American pie (X(3) ) (2) (3)(1) (4) X(1) X(2) X(3) 1
 0.05
 0.9 0
 0
 5 Example: Item to User dot product ≈ 4.5
  • 62. Title Roelof Klas Mo Max X (Action) X ( ) The Avengers 5 1 2 5 0.8 0.1 Spiderman II ? 2 1 ? 0.9 0.2 American Pie 2 5 4.5 1 0.05 0.9 Mo ( (3) ) and Klas ( (2) ) predict rating Mo ( (3) ),
 American pie (X(3) ) (2) (3)(1) (4) X(1) X(2) X(3) 1
 0.05
 0.9 0
 0
 5 Example: Item to User dot product ≈ 4.5
  • 63. Title Roelof Klas Mo Max X (Action) X ( ) The Avengers 5 1 2 5 0.8 0.1 Spiderman II ≈4 2 1 ≈4 0.9 0.2 American Pie 2 5 4.5 1 0.05 0.9 How do we learn these user factor parameters? (2) (3)(1) (4) X(1) X(2) X(3) Example: Item to User
  • 64. problem formulation:! • r(i,u) = 1 if user u has rated movie i, otherwise 0 • y (i,u) = rating by user u on movie i (if defined) • (u) = parameter vector for user u • x (i) = feature vector for movie i • For user u, movie i, predicted rating: ( ) T (x (i) ) • temp m (u) = # of movies rated by user u
 
 min ∑ ( ( (u))T!(i) - "(i,u) )2 + ∑ ( )2 ƛ —— 2 # k=1 (u) (u) 1 2 —— m(u)m(u) Example: Item to User Say what?• learning (u) = (A. Ng. 2013)
  • 65. min ∑ ∑ (( (u))T!(i) - "(i,u))2 + ∑ ∑ ( )2 ƛ — 2 # u=1 problem formulation:! • learning (u): • learning (1), (2) , … , # : # 1 2 — min ∑ ( ( (u))T!(i) - "(i,u) )2 + ∑ ( )2 ƛ — 2 # k=1 (u) (u) 1 2 — #u k=1 (u) regularization term # squared error term actualpredicted learn for “all” users Example: Item to Userremember:
 y = rating 
 parameter vector for a user
 x = feature vector for a movie
  • 66. Outline •Recommender Systems •Algorithms* •Content based Algorithms * •Collaborative Algorithms * •Classification •Rating/Ranking * •Graphs (* math magicians better pay attention here)
  • 67. Collaborative Filtering: • User-based approach! • Find a set of users Si who rated item j, that are most similar to ui • compute predicted Vij score as a function of ratings of item j given by Si (usually weighted linear combination) • Item-based approach! • Find a set of most similar items Sj to the item j which were rated by ui • compute predicted Vij score as a function of ui's ratings for Sj
  • 68. Collaborative Filtering: • Two primary models: • Neighborhood models! • focus on relationships between movies or users • Latent Factor models • focus on factors inferred from (rating) patterns • computerized alternative to naive content creation • predicts rating by dot product of user and movie locations on known dimensions 68 (Sarwar, B. et al. 2001)
  • 69. Neighborhood (user oriented) 69 (pic from Koren et al. 2009)
  • 70. Neighbourhood Methods • Problems: • Ratings biased per user • Ratings biased towards certain items • Ratings change over time • Ratings can rapidly change through real time events (Oscar nomination, etc) • Bias correction needed
  • 71. Latent Factors 71 • latent factor models map users and items into a latent feature space • user's feature vector denotes the user's affinity to each of the features • item's feature vector represents how much the item itself is related to the features. • rating is approximated by the dot product of the user feature vector and the item feature vector.
  • 72. Latent Factors (users+movies) 72 (pic from Koren et al. 2009)
  • 74. Latent Factor models • Matrix Factorization: • characterizes items + users by vectors of factors inferred from (ratings or other user- item related) patterns • Given a list of users and items, and user-item interactions, predict user behavior • can deal with sparse data (matrix) • can incorporate additional information 74
  • 75. Matrix Factorization • Dimensionality reduction • Principal Components Analysis, PCA • Singular Value Decomposition, SVD • Non Negative Matrix Factorization, NNMF
  • 76. Matrix Factorization: SVD SVD, Singular Value Decomposition • transforms correlated variables into a set of uncorrelated ones that better expose the various relationships among the original data items. • identifies and orders the dimensions along which data points exhibit the most variation. • allowing us to find the best approximation of the original data points using fewer dimensions.
  • 77. SVD: Matrix Decomposition 77 U: document-to-concept similarity matrix ! V: term-to-concept similarity matrix ! ƛ : its diagonal elements: ‘strength’ of each concept ! (pic by Xavier Amatriain 2013)
  • 78. SVD for 
 Collaborative Filtering each item i associated with vector qi ∈ ℝf 
 each user u associated with vector pu ∈ ℝf 
 qi measures extent to which item possesses factors
 pu measures extent of interest for user in items which possess high on factors
 user-item interactions modeled as dot products within the factor space, measured by qi T pu
 user u rating on item i approximates: rui = qi T pu 78 ^
  • 79. SVD for 
 Collaborative Filtering • compute u,i mappings: qi,pu ∈ ℝ f • factor user, item matrix • imputation (Sarwar et.al. 2000) • model only observed ratings + regularization (Funk 2006; Koren 2008) • learn factor vectors qi and pu by minimizing (regularized) squared error on set of known ratings: approximate user u rating of item i, denoted by rui, leading to Learning Algorithm:
 
 79 ^
  • 80. SVD Visualized regression line reducing two dimensional space into one dimensional one
  • 81. reducing three dimensional (multidimensional) space into two dimensional plane SVD Visualized
  • 83. Stochastic Gradient Descent • optimizable by Stochastic Gradient Descent (SGD) (Funk 2006) • incremental learning • loops trough ratings and computes prediction error for predicted rating on rui :
 
 • modify parameters by magnitude proportional to y in opposite direction of the gradient, giving learning rule:
 
 
 
 83 and
  • 85. Alternating Least Squares • optimizable by Alternating Least Squares (ALS) (2006) • both qi and pu unknown: minimum function not convex
 —> can not be solved for a minimum. • ALS rotates between fixing qi’s and pu’s • Fix qi or pu makes optimization problem quadratic 
 —> one not optimized can now be solved • qi and pu independently computed of other item/user factors: parallelization • Best for implicit data (dense matrix) 85
  • 86. Alternating Least Squares • rotates between fixing qi’s and pu’s • when all pu’s fixed, recompute qi’s by solving a least squares problem:
 • Fix matrix P as some matrix P, so that minimization problem:
 • or fix Q similarly as:
 • Learning Rule:
 86 where and
  • 87. • Add Biases: • Add Input Sources: Implicit Feedback:
 pu in rui becomes (pu + 
 + (…) )Add Temporal Aspect / time-varying parameters
 
 • Vary Confidence Levels of Inputs Develop Further… 87 and pic: Lei Guo 2012 (Salakhutdinov & 
 Mnih 2008; Koren 2010)
  • 88. Develop Further… • Final Algoritm:
 
 
 
 88 confidence bias terms regularization (Paterek,A. 2007)
  • 89. • Final Algorithm with Temporal dimensions:
 
 
 
 Develop Further… 89
  • 90. • So what if we don’t have any content factors known? • Probabilistic Matrix Factorization to the rescue! • describe each user and each movie by a small set of attributes
  • 91. Probabilistic Matrix Factorization • Imagine we have the following rating data:
 
 
 
 
 
 
 
 we could say that Roelof and Klas like Action movies, but don’t like Comedy’s, while its the opposite for Mo and Max Title Roelof Klas Mo Max The Avengers 5 1 1 4 Spiderman II 4 2 1 5 American Pie 3 5 4 1 Shrek 1 4 5 2
  • 92. Probabilistic Matrix Factorization • This could be represented by the PMF model by using three dimensional vectors to describe each user and each movie. • example latent vectors: • AV: [0, 0.3] • SPII: [1, 0.3] • AP [1, 0.3] • SH [1, 0.3] • Roelof: [0, 3] • Klas: [8, 3] • Mo [10, 3] • Max [10, 3] • predict rating by dot product of user vector with the item vector • So predicting Klas’ rating for Spiderman II = 8*1 + 3*0.3 = • But descriptions of users and movies not known ahead of time. • PGM discovers such latent characteristics
  • 94. Outline •Recommender Systems •Algorithms* •Content based Algorithms * •Collaborative Algorithms * •Classification •Rating/Ranking * •Graphs (* math magicians better pay attention here)
  • 95. Classification • k-Nearest Neighbors (KNN) • Decision Trees • Rule-Based • Bayesian • Artificial Neural Networks • Support Vector Machines
  • 96. Classification • k-Nearest Neighbors (KNN)! • Decision Trees • Rule-Based • Bayesian • Artificial Neural Networks • Support Vector Machines
  • 97. k-Nearest Neighbor s • non parametric lazy learning algorithm • data as feature space • simple and fast • k-nn classification • k-nn regression: density estimation
  • 98. kNN: Classification • Classify • several Xi used to classify Y • compare (X1 p,X2 p) and (X1 q,Xq) by Squared Euclidean distance: 
 d2 pq = (X1 p - x1 q)2 + (X2 p - X2q)2 • find k-Nearest Neighbors
  • 99. kNN: Classification • input: content extracted emotional values of 561 movies. thanks: Johannes Östling :)
 
 
 
 
 
 ie: dimensions of movie “Hamlet”:
  • 102. k-Nearest Neighbors Negative: afraid, confused, helpless', hurt, sad, angry, depressed Positive: good, interested, love, positive, strong aggregate of positive and negative emotions
  • 103. Outline •Recommender Systems •Algorithms* •Content based Algorithms * •Collaborative Algorithms * •Classification •Rating/Ranking * •Graphs (* math magicians better pay attention here)
  • 104. Rating predictions: • Pos — Neg • Average • Bayesian (Weighted) Estimates • Lower bound of Wilson score confidence interval for a Bernoulli parameter
  • 105. Rating predictions: • Pos — Neg! • Average • Bayesian (Weighted) Estimates • Lower bound of Wilson score confidence interval for a Bernoulli parameter
  • 106. P — N • (Positive ratings) - (Negative ratings) • Problematic:
 
 
 
 
 
 (http://www.urbandictionary.com/define.php?term=movies)
  • 107. Rating predictions: • Pos — Neg • Average! • Bayesian (Weighted) Estimates • Lower bound of Wilson score confidence interval for a Bernoulli parameter
  • 108. Average • (Positive ratings) / (Total ratings) • Problematic:
 
 
 
 
 
 (http://www.amazon.co.uk/gp/bestsellers/electronics/)
  • 109. Rating predictions: • Pos — Neg • Average • Bayesian (Weighted) Estimates! • Lower bound of Wilson score confidence interval for a Bernoulli parameter
  • 110. Ratings • Top Ranking at IMDB (gives Bayesian estimate): • Weighted Rating (WR) = 
 (v / (v+m)) × R + (m / (v+m)) × C! • Where: R = average for the movie (mean) = (Rating)
 v = number of votes for the movie = (votes)
 m = minimum votes required to be listed in the Top 250 (currently 25000)
 C = the mean vote across the whole report (currently 7.0)
  • 111. Bayesian (Weighted) Estimates • : • weighted average on a 
 per-item basis: (source(s): http://www.imdb.com/title/tt0368891/ratings)
  • 112. Bayesian (Weighted) Estimates @ IMDB Bayesian Weights for m = 1250 0" 0,1" 0,2" 0,3" 0,4" 0,5" 0,6" 0,7" 0,8" 0,9" 1" 0" 250" 500" 750" 1000" 1250" 2000" 3000" 4000" 5000" specific" global" • specific part for individual items • global part is constant over all items • can be precalculated
  • 113. m=1250
  • 114. Rating predictions: • Pos — Neg • Average • Bayesian (Weighted) Estimates • Lower bound of Wilson score confidence interval for a Bernoulli parameter
  • 115. Wilson Score interval • 1927 by Edwin B. Wilson
 
 
 • Given the ratings I have, there is a 95% chance that the "real" fraction of positive ratings is at least what?
  • 116. Wilson Score interval • used by Reddit for comments ranking • “rank the best comments highest 
 regardless of their submission time” • algorithm introduced to Reddit by 
 Randall Munroe (the author of xkcd). • treats the vote count as a statistical sampling of a hypothetical full vote by everyone, much as in an opinion poll.
  • 117. Wilson Score interval • Endpoints for Wilson Score interval:
 
 
 
 • Reddit’s comment Ranking function
 (phat+z*z/(2*n) - z*sqrt((phat*(1-phat) + z*z/(4*n))/n)) /(1+z*z/n)
  • 118. CODE
  • 119. CODE
  • 120. Bernoulli anyone? *as the trial (N) = 2 (2 throws of dice) its actually not a real Bernoulli distribution
  • 123. Graph Based Approaches • Whats a Graph?! • Why Graphs? • Who uses Graphs? • Talking with Graphs • Graph example: Recommendations • Graph example: Data Analysis
  • 124. What’s a Graph? 124 Movie has_genre Genre features_actor Actor Director directed_by likes User watches rates Userlikes_user likes_user friends follows comments_movie Comment likes_com m ent likes_actor … has_X etcetera locations! time! moods! keywords! … Vertices (Nodes) Edges (Relations)
  • 125. Graph Based Approaches • Whats a Graph? • Why Graphs?! • Who uses Graphs? • Talking with Graphs • Graph example: Recommendations • Graph example: Data Analysis
  • 126. Why Graphs? • more complex (social networks…) • more connected (wikis, pingbacks, rdf, collaborative tagging) • more semi-structured (wikis, rss) • more decentralized: democratization of content production (blogs, twitter*, social media*) and just: MORE Its the nature of todays Data, which is getting:
  • 127. Data Trend “Every 2 days we create as much information as we did up to 2003”
 — Eric Schmidt, Google Why Graphs?
  • 128. Graphs vs Relational 128 relational graph graph (pic by Michael Hunger, neo4j) Why Graphs? Its Fast! Matrix based Calculations: 
 Exponential run-time 
 (items x users x factori x …)
  • 129. Graphs vs Relational 129 relational graph graph (pic by Michael Hunger, neo4j) Why Graphs? Its Fast! Graph based Calculations: 
 Linear/Constant run-time 
 (item of interest x relations)
  • 130. Its 
 White-Board
 Friendly ! (pic by Michael Hunger, neo4j) Why Graphs?
  • 131. (pic by Michael Hunger, neo4j) Its 
 White-Board
 Friendly ! Why Graphs?
  • 132. (pic by Michael Hunger, neo4j) Its 
 White-Board
 Friendly ! Why Graphs?
  • 133. Graph Based Approaches • Whats a Graph? • Why Graphs? • Who uses Graphs?! • Talking with Graphs • Graph example: Recommendations • Graph example: Data Analysis
  • 134. Who uses Graphs? • Facebook: Open Graph (https:// developers.facebook.com/docs/opengraph) • Google: Knowledge Graph (http:// www.google.com/insidesearch/features/search/ knowledge.html) • Twitter: FlockDB (https://github.com/twitter/flockdb) • Mozilla: Pancake (https://wiki.mozilla.org/Pancake) • (…)
  • 135. 135 (pic by Michael Hunger, neo4j)
  • 136. Graph Based Approaches • Whats a Graph? • Why Graphs? • Who uses Graphs? • Talking with Graphs! • Graph example: Recommendations • Graph example: Data Analysis
  • 137. Talking with Graphs • Graphs can be queried! • no unions for comparison, but traversals! • many different graph traversal patterns (xkcd)
  • 138. graph traversal patterns • traversals can be seen as a diffusion proces over a graph! • “Energy” moves over a graph and spreads out through the network! • energy: (Ghahramani 2012)
  • 139. Energy Diffusion (pic by Marko A. Rodriguez, 2011)
  • 140. Energy Diffusion (pic by Marko A. Rodriguez, 2011) energy = 4
  • 141. Energy Diffusion (pic by Marko A. Rodriguez, 2011) energy = 3
  • 142. Energy Diffusion (pic by Marko A. Rodriguez, 2011) energy = 2
  • 143. Energy Diffusion (pic by Marko A. Rodriguez, 2011) energy = 1
  • 144. Graph Based Approaches • Whats a Graph? • Why Graphs? • Who uses Graphs? • Talking with Graphs • Graph example: Recommendations! • Graph example: Data Analysis
  • 145. Diffusion Example: Recommendations • Energy diffusion is an easy algorithms for making recommendations! • different paths make different recommendations! • different paths for different problems can be solved on same graph/domain! • recommendation = “jumps” through the data
  • 146. Friend Recommendation • Who are my friends’ friends that are not me or my friends (pic by Marko A. Rodriguez, 2011)
  • 147. Friend Recommendation • Who are my friends’ friends
 
 • Who are my friends’ friends that are not me or my friends G.V(‘me’).outE[knows].inV.outE.inV G.V(‘me’).outE[knows].inV.aggregate(x).outE.
 inV{!x.contains(it)}
  • 148. Product Recommendation • Who likes what I like —> of these things, what do they like which I dont’ already like (pic by Marko A. Rodriguez, 2011)
  • 149. Product Recommendation • Who likes what I like
 • Who likes what I like —> of these things, what do they like which I dont’ already like
 • Who likes what I like —> of these things, what do they like which I dont’ already like G.V(‘me’).outE[likes].inV.inE[likes].outV G.V(‘me’).outE[likes].inV.aggregate(x).inE[likes].
 outV.outE[like].inV{!x.contains(it)} G.V(‘me’).outE[likes].inV.inE[likes].outV.outE[like].inV
  • 151.
  • 152. Graph Based Approaches • Whats a Graph? • Why Graphs? • Who uses Graphs? • Talking with Graphs • Graph example: Recommendations • Graph example: Data Analysis
  • 154. Graphs: Conclusion • Fast! • Scalable! • Diversification! • No Cold Start! • Sparsity/Density not applicable
  • 155. Graphs: Conclusion • NaturalVisualizable! • Feedback / Understandable! • Connectable to the “web” / semantic web! • Social Network Analysis! • Real Time Updates / Recommendations !
  • 159. References • J. Dietmar, G. Friedrich and M. Zanker (2011) “Recommender Systems”, International Joint Conference on Artificial Intelligence Barcelona • Z. Ghahramani (2012) “Graph-based Semi-supervised Learning”, MLSS, La Palma • D. Goldbergs, D. Nichols, B.M. Oki and D. Terry (1992) “Using collaborative filtering to weave an information tapestry”, Communications of the ACM 35 (12) • M. Hunger (2013) “Data Modeling with Neo4j”, http:// www.slideshare.net/neo4j/data-modeling-with-neo4j-25767444 • S. Funk (2006) “Netflix Update: Try This at Home”, sifter.org/~simon/ journal/20061211.html 159
  • 160. References • Y. Koren (2008) “Factorization meets the Neighborhood: A Multifaceted Collaborative Filtering Model”, SIGKDD, http:// public.research.att.com/~volinsky/netflix/kdd08koren.pdf • Y. Koren & C. Bell, (2007) “Scalable Collaborative Filtering with Jointly Derived Neighborhood Interpolation Weights” • Y, Koren (2010) “Collaborative filtering with temporal dynamics” • A. Ng. (2013) Machine Learning, ml-004 @ Coursera • A. Paterek (2007) “Improving Regularized Singular Value Decomposition for Collaborative Filtering”, KDD 160
  • 161. References • P. Resnick, N. Iacovou, M. Suchak, P. Bergstrom and J. Riedl (1994), “GroupLens: An Open Architecture for Collaborative Filtering of Netnews”, Proceedings of ACM • B.R. Sarwar et al. (2000) “Application of Dimensionality Reduction in Recommender System—A case Study”, WebKDD • B. Saewar, G. Karypis, J. Konstan, J, Riedl (2001) “Item-Based Collaborative Filtering Recommendation Algorithms” • R. Salakhutdinov & A. Mnih (2008) “Probabilistic Matrix Factorization” • xkcd.com 161
  • 162. Take Away Points • Focus on the best Question, not just the Answer…! • Best Match (most similar) vs Most Popular! • Personalized vs Global Factors! • Less is More ?! • What is relevant?
  • 164. Say What? • So what other stuff do we do at Vionlabs? • Some examples of data extraction which is fed into our BAG (Big Ass Grap)…
  • 165.