3. About Mary
Mary has 12 years experience in data science of which 7 years in academics and
5 year in industry. She has worked at various startups at which she has had
roles like NLP-developer and data scientist. Currently she is a senior data
engineer at TalkIQ.
4. Zia has 19 years of professional industry experience, with the most recent 8
years being in technical leadership roles, where he led various engineering
teams pertaining to the design, development and deployment of enterprise
applications with a particular focus on incorporating machine learning
practices and cognitive services into software applications. Presently Zia is
finishing up his PhD at the University of Toronto with particular research
interests on designing enterprise cognitive systems keeping in mind
organizational adoption challenges.
About Zia
5. “This meetup is about sharing knowledge & learning about machine learning,
data engineering, data analytics, parallel algorithms, and distributed
systems. It provides an opportunity for data engineers, data scientists,
software engineers, statisticians, and innovators to get together and make
connections. Our events … are always intended to provide new ideas, concepts
and tools to help you solve your hardest problems.”
Waterloo Data Science & Data
Engineering Meetup
6. 1. Introducing Recommendation Systems
a. Recommendation systems and their approaches
b. Advantages and disadvantages of each
c. Exploring data sets
2. Building Recommendation Models
a. Building models for main approaches
b. Training and testing models
3. Productizing Recommendation Systems
a. Architecting a complete solution
b. Deploying recommendation systems
Recommendation Systems Series
8. What are Recommendation Systems?
● Recommender systems (aka Recommenders) are used to help to
predict the preference that a user would have for an item.
● They analyze huge volumes of data, such as product information
and user information, to provide relevant suggestions by
leveraging different probabilistic and machine learning
approaches.
9. What are Recommendation Systems?
Source: Gorakala, Suresh Kumar. Building Recommendation Engines. Packt Publishing Ltd, 2016.
13. ● Collaborative filtering approaches build a model from a user's
past behaviour as well as similar decisions made by other users.
● This model is then used to predict items that the user may have
an interest in.
● Memory based
○ User-based collaborative filtering
○ Item-based collaborative filtering
● Model Based
○ Clustering
○ Association
○ …
Collaborative Filtering
14. Advantages
● Recommenders utilizing this approach are easy to implement
and do not come with a high-computation cost.
● Neither the content information of the products nor the users'
profile information is required for building recommendations
● New items can be recommended to users giving a surprise
factor to the users.
15. ● Poor performance when data (such as user ratings) is sparse.
● High computing cost for calculating the similarity values for all
the users is very high if the data is very large.
● The system suffers with performance if they are sparse, which is
very common in the real world where users will rate only a few
items from a large catalog.
● Rapidly changing user profiles or user inputs require
re-computation of the similarity values.
● Accuracy is low as user / product content information is not
considered during recommendation generation.
Disadvantages
16. User-based Collaborative Filtering
● Users will be provided with preferences based on their similarity
to other user groups.
● Recommend new items to a user based on how similar user
groups have indicated preference.
● Similarity of users can be determined through different methods,
such as clustering, euclidean distance, etc.
● The similarity between users is calculated based on the ratings
given by users.
18. Item-based Collaborative Filtering
● Users will be provided with preferences based on the similarity
of other items.
● Recommend new items to a user based on the user’s preference
for similar items.
● Similarity of items can be determined through different methods,
such as cosine similarity.
20. ● Model-Based Recommender Systems leverage supervised and
unsupervised machine learning approaches, and matrix
approaches (such as Matrix Factorization and single value
decomposition) to generate user preferences.
● Using available historical data, a model is built with weights
learned automatically and new predictions regarding the
products will be made using the learned weights.
● The final results are ranked in a specific order before making
recommendations.
Model-Based Recommender Systems
21. ● Probabilistic
○ Use prior probabilities from available data to generate a ranked list of
recommendations through calculating the probability of liking/disliking of a
product for each user. E.g. algorithm is Naïve Bayes.
● Mathematical
○ Apply mathematical approaches on simple matrices based on the ratings or
interaction information of users on products to predict the missing ratings for
the users. E.g. approaches Matrix Factorization, Single Value Decomposition.
● Machine Learning
○ Applied for collaborative, content based, context aware, and hybrid
recommender systems.
○ Approaches such as Logistic Regression, KNN classification, Decision Trees,
SVM, Clustering etc.
Model-Based Recommender Systems
23. Personalized Recommendation Systems
● Personalized recommendation systems provides
recommendations to users by taking into account information
about the user and is customized to the user preferences.
● Two primary approaches,
○ Content-based recommendation systems utilize discrete characteristics of
items to recommend additional items with similar properties.
○ Context-aware recommender systems utilize certain contextual factors,
such as time, location, and the purchasing purpose, that identify the context
in which recommendations are provided.
24. Advantages
● Recommendations are generated using the user preferences
alone rather than the user community.
● Can be employed in real time as the model doesn't need to load
all the data for processing or generating recommendations.
● High accuracy compared to collaborative approaches as product
content is utilized rather than just rating information.
● Easily handling of the “cold-start” problem.
○ the recommender cannot draw any inferences for users or items about which
sufficient or relevant information doesn’t yet exist.
25. Disadvantages
● Generated recommendations are narrowly defined for a user
and the user would missed out on recommendations based on
communal preferences.
● New products that are not related to existing user preferences
will not be shown to the user.
● Trending information would be missed by the user.
26. ● Content-based recommenders produce more personalized
recommendations for a user by leveraging content information
of items.
● Recommendations are not just based on the similarity of items
or users, but also considers individual preferences and/or item
contents.
● Particularly important when dealing with the “cold-start”
problem.
Content-Based Recommendation
Systems
28. Context-Aware Recommendation
Systems
● Context-aware recommendation systems also consider the
context when providing personalized user recommendations.
● Context refers to the present state of the user and can include
attributes such as location, weather, time, date, mood etc.
● Two approaches are used here,
○ Pre-filtering: When context information is applied to user profile and product
content before the recommendation is generated.
○ Post-filtering: When the context information is applied to a set of
recommendations to obtain a final recommendation.
31. Hybrid Recommender Systems
● Hybrid recommender systems combine both collaborative
filtering and content-based approaches.
32. Hybrid Recommender Systems
● Some methods used to building such hybrid systems include,
○ Weighted method
○ Mixed method
○ Cascade method
○ Feature combination method
33. Advantages
● Cold-start problem and data sparsity can be handled.
● Much more robust and scalable than any of the individual
models.
● Combination of methods leads to an improvement in accuracy.
35. ● Ricci, Francesco, Lior Rokach, and Bracha Shapira. "Introduction to recommender systems handbook." In
Recommender systems handbook, pp. 1-35. springer US, 2011.
● F. Maxwell Harper and Joseph A. Konstan. 2015. The MovieLens Datasets: History and Context. ACM
Transactions on Interactive Intelligent Systems (TiiS) 5, 4, Article 19,
DOI=http://dx.doi.org/10.1145/2827872
● Gorakala, Suresh Kumar. Building Recommendation Engines. Packt Publishing Ltd, 2016.
● Suresh Kumar. Building Recommendation Engines. Packt Publishing Ltd, 2016
● Recommender Systems An Introduction by Dietmar Jannach
● Mining Massive Datasets by Jure Leskovec, Anand Rajaraman, Jeff Ullman
(www.mmds.org)https://cambridgespark.com/content/tutorials/implementing-your-own-recommender-sy
stems-in-Python/index.html
● Coursera course on Recommender Systems, by University of Washington
● Coursera course on Recommender Systems, by University of Minnesota
References