Unit 1 Final
Unit 1 Final
UNIT-1: INTRODUCTION
UNIT I INTRODUCTION 6
Introduction and basic taxonomy of recommender systems - Traditional and non-personalized
Recommender Systems - Overview of data mining methods for recommender systems-
similarity measures- Dimensionality reduction – Singular Value Decomposition (SVD)
Suggested Activities:
• Practical learning – Implement Data similarity measures.
• External Learning – Singular Value Decomposition (SVD) applications
Suggested Evaluation Methods:
• Quiz on Recommender systems.
• Quiz of python tools available for implementing Recommender systems
INTRODUCTION:
Recommender systems, also known as recommendation systems or engines, are a
type of software application designed to provide personalized suggestions or
recommendations to users. These systems are widely used in various online platforms and
services to help users discover items or content of interest. Recommender systems
leverage data about users' preferences, behaviors, and interactions to generate accurate
and relevant recommendations.
1
CCS360 – RECOMMENDER SYSTEMS
UNIT-1: INTRODUCTION
• Ranking and presentation: Finally, the recommended items are ranked based on their
relevance to the user. The top-ranked items are then presented to the user through
interfaces like recommendation lists, personalized emails, or pop-up suggestions.
There are several types of recommender systems, each with its own approach
to generating recommendations. The basic taxonomy of recommender systems
includes:
2
CCS360 – RECOMMENDER SYSTEMS
UNIT-1: INTRODUCTION
3
CCS360 – RECOMMENDER SYSTEMS
UNIT-1: INTRODUCTION
• Overview: Deep learning techniques, such as neural networks, are employed to model
complex patterns and dependencies in user-item interactions for more accurate
recommendations.
4
CCS360 – RECOMMENDER SYSTEMS
UNIT-1: INTRODUCTION
may wish to recommend the top-k items for a particular user, or determine the top-k
users to target for a particular item. The determination of the top-k items is more
common than the determination of top-k users, although the methods in the two cases
are exactly analogous.
1. Netflix
5
CCS360 – RECOMMENDER SYSTEMS
UNIT-1: INTRODUCTION
rating, and search behavior to suggest movies and TV shows that the user is likely to
enjoy. The algorithm takes into account the genre, the actors, the director, and other
factors to make personalized recommendations for each user.
2. Amazon
Amazon’s recommendation engine suggests products based on a user’s purchase
history, search history, and browsing behavior. It makes personalized recommendations
based on the user’s prior purchases, products viewed, and items added to their shopping
cart.
3. Spotify
Spotify’s music recommendation system suggests songs, playlists, and albums
depending on a user’s listening history, liked songs, and search history. It tailors
recommendations based on the user’s listening habits, favorite genres, and favorite
artists.
4. YouTube
YouTube’s recommendation engine suggests videos based on a user’s viewing
history, liked videos, and search history. The algorithm considers factors such as the
user’s favourite channels, the length of time spent watching a video, and other viewing
habits to make personalized recommendations.
5. LinkedIn
LinkedIn’s recommendation engine suggests jobs, connections, and content based on
a user’s profile, skills, and career history. To make personalized recommendations, the
algorithm takes the user’s job title, industry, and location.
6. Zillow
Zillow’s recommendation system suggests real estate properties depend on a user’s
search history and preferences. Users can receive personalized recommendations based
on their budget, location, and desired features.
7. Airbnb
Airbnb’s recommendation system suggests accommodations based on a user’s search
history, preferences, and reviews. Personal recommendations are made based on factors
such as the user’s travel history, location, and desired amenities.
8. Uber
Uber’s recommendation system suggests ride options created on a user’s previous
rides and preferred options. When recommending rides, the algorithm considers factors
such as the user’s preferred vehicle type, location, and other preferences.
9. Google Maps
Google Maps’ recommendation system suggests places to visit, eat, and shop based on
a user’s search history and location. Personalized recommendations are generated based
on factors such as the user’s location, time of day, and preferences.
10. Goodreads
Goodreads’ recommendation engine suggests books centred on a user’s reading history,
ratings, and reviews. To provide personalized recommendations, the algorithm
considers factors such as the user’s reading habits, genres, and favorite authors.
From online shopping to entertainment and travel. These systems have significantly
improved the user experience by suggesting relevant options based on our interests and
6
CCS360 – RECOMMENDER SYSTEMS
UNIT-1: INTRODUCTION
preferences. The success of these real-world examples showcases the power and
effectiveness of recommender systems in various industries. With advancements in
artificial intelligence, recommender systems are expected to become even more accurate and
personalized in the future.
7
CCS360 – RECOMMENDER SYSTEMS
UNIT-1: INTRODUCTION
• Advantages:
o Simplicity and ease of implementation.
o Less reliance on individual user data.
o Suitable for scenarios where personalization is not a critical factor.
Based on the user’s data such as purchases or ratings, personalized recommenders try to
understand and predict what items or content a specific user is likely to be interested in. In that
way, every user will get customized recommendations.
8
CCS360 – RECOMMENDER SYSTEMS
UNIT-1: INTRODUCTION
Personalized recommender systems can be categorized into several types, each with its own
methods and techniques for providing tailored recommendations.
These include:
• Content-based filtering,
• Collaborative filtering, and
• Hybrid recommenders.
CONTENT-BASED FILTERING
9
CCS360 – RECOMMENDER SYSTEMS
UNIT-1: INTRODUCTION
Let’s assume that Jenny loves sci-fi books and her favorite writer is Walter Jon Williams. If
she reads the Aristoi book, then her recommended book will be Angel Station, also a sci-fi
book written by Walter Jon Williams.
Advantages
• The “Filter bubble”: Content filtering can recommend only content similar to the user’s
past preferences. If a user reads a book about a political ideology and books related to that
ideology are recommended to them, they will be in the “bubble of their previous interests”.
• Limited serendipity: Content-based systems may have limited capability to recommend
items that are outside a user’s known preferences.
• In the first case scenario, 20% of items attract the attention of 70-80% of users and 70-80%
of items attract the attention of 20% of users. The recommender’s goal is to introduce other
products that are not available to users at first glance.
• In the second case scenario, content-based filtering recommends products that are fitting
content-wise, yet very unpopular (i.e. people don’t buy those products for some reason, for
example, the book is bad even though it fits thematically).
• Over-specialization: If the content-based system relies too heavily on a user’s past
interactions, it can recommend items that are too similar to what the user has already seen
or interacted with, potentially missing opportunities for diversification.
COLLABORATIVE FILTERING
10
CCS360 – RECOMMENDER SYSTEMS
UNIT-1: INTRODUCTION
• The fundamental idea behind collaborative filtering is that users who have interacted
with items in similar ways or have had similar preferences in the past are likely to have
similar preferences in the future, too.
• Collaborative filtering relies on the collective wisdom of the user community to
generate recommendations.
There are two main types of collaborative filtering: memory-based and model-based.
Memory-based recommenders
• Memory-based recommenders can be categorized into two main types user-based and
item-based collaborative filtering.
A user-based collaborative filtering recommender system
• With the used-based approach, recommendations to the target user are made by
identifying other users who have shown similar behavior or preferences. This translates
to finding users who are most similar to the target user based on their historical
interactions with items. This could be “users who are similar to you also liked…” type
of recommendations.
• But if we say that users are similar, what does that mean?
11
CCS360 – RECOMMENDER SYSTEMS
UNIT-1: INTRODUCTION
• Let’s say that Jenny and Tom both love sci-fi books. This means that, when a new sci-
fi book appears and Jenny buys that book, that same book will be recommended to Tom,
since he also likes sci-fi books.
An item-based collaborative filtering recommender system
• Unlike the content-based approach where metadata about users or items is used, in the
collaborative filtering memory-based approach we are looking at the user’s behavior
e.g. whether the user liked or rated an item or whether the item was liked or rated by a
certain user.
• For example, the idea is to recommend Robert the new sci-fi book. Let’s look at the
steps in this process:
• Create a user-item-rating matrix.
• Create a user-user similarity matrix: Cosine similarity is calculated (alternatives:
adjusted cosine similarity, Pearson similarity, Spearman rank correlation) between
every two users. This is how we get a user-user matrix. This matrix is smaller than the
initial user-item-rating matrix.
12
CCS360 – RECOMMENDER SYSTEMS
UNIT-1: INTRODUCTION
• Look up similar users: In the user-user matrix, we observe users that are most similar
to Robert.
• Candidate generation: When we find Robert’s most similar users, we look at all the
books these users read and the ratings they gave them.
• Candidate scoring: Depending on the other users’ ratings, books are ranked from the
ones they liked the most, to the ones they liked the least. The results are normalized on
a scale from 0 to 1.
• Candidate filtering: We check if Robert has already bought any of these books and
eliminate those he already read.
• The item-item similarity calculation is done in an identical way and has all the same
steps as user-user similarity.
Model-based recommenders
Matrix factorization
• Matrix factorization is a mathematical technique used to decompose a large matrix into the
product of multiple smaller matrices.
• In the context of recommender systems, matrix factorization is commonly employed to
uncover latent patterns or features in user-item interaction data, allowing for personalized
recommendations. Latent information can be reported by analyzing user behavior.
• If there is feedback from the user, for example – they have watched a particular movie or
read a particular book and have given a rating, that can be represented in the form of a
matrix. In this case,
13
CCS360 – RECOMMENDER SYSTEMS
UNIT-1: INTRODUCTION
o The values in the matrix represent user-item interactions (e.g., ratings, purchase
history, clicks, or binary preferences).
Since it’s almost impossible for the user to rate every item, this matrix will have many
unfilled values. This is called sparsity.
Matrix factorization aims to approximate this interaction matrix by factorizing it into two or
more lower-dimensional matrices:
• User latent factor matrix (U), which contains information about users and their
relationships with latent factors.
• Item latent factor matrix (V), which contains information about items and their
relationships with latent factors.
The rating matrix is a product of two smaller matrices – the item-feature matrix and the user-
feature matrix. The higher the score in the matrix, the better the match between the item and
the user.
14
CCS360 – RECOMMENDER SYSTEMS
UNIT-1: INTRODUCTION
•Where K is a set of (u, i) pairs, r(u, i) is the rating for item i by user u and λ is a
regularization term (used to avoid overfitting).
• In order to minimize loss function we can apply Stochastic Gradient Descent (SGD) or
Alternating Least Squares (ALS). Both methods can be used to incrementally update
the model as new rating comes in. SGD is faster and more accurate than ALS.
Advantages of collaborative filtering
It’s important to note that while collaborative filtering offers these and other advantages, it also
has its limitations, including:
• User cold start occurs when a new user joins the system without any prior interaction
history. Collaborative filtering relies on historical interactions to make
recommendations, so it can’t provide personalized suggestions to new users who start
with no data.
• Item cold start happens when a new item is added, and there’s no user interaction data
for it. Collaborative filtering has difficulty recommending new items since it lacks
information about how users have engaged with these items in the past.
• Sensitivity to sparse data: Collaborative filtering depends on having enough user-item
interaction data to provide meaningful recommendations. In situations where data is
sparse and users interact with only a small number of items, collaborative filtering may
struggle to find useful patterns or similarities between users and items.
• Potential for popularity bias: Collaborative filtering tends to recommend popular
items more frequently. This can lead to a “rich get richer” phenomenon, where already
popular items receive even more attention, while niche or less-known items are
overlooked.
• To address these and other limitations, recommendation systems often use hybrid
approaches that combine collaborative filtering with content-based methods or other
techniques to improve recommendation quality in the long run.
15
CCS360 – RECOMMENDER SYSTEMS
UNIT-1: INTRODUCTION
HYBRID RECOMMENDERS
16
CCS360 – RECOMMENDER SYSTEMS
UNIT-1: INTRODUCTION
• This is the best way to ensure that the benefits of hybridization outweigh the added
complexity and costs.
17
CCS360 – RECOMMENDER SYSTEMS
UNIT-1: INTRODUCTION
2. Clustering Algorithms:
• Overview: Clustering methods group users or items with similar characteristics.
Users or items within the same cluster are likely to share common preferences.
• Application: Recommending items popular within a user's cluster, assuming similar
preferences within the group.
3. Classification Algorithms:
• Overview: Classification models predict user preferences for items based on historical
interactions. These models can be trained to classify items as relevant or irrelevant to
a user.
• Application: Providing recommendations by predicting user preferences for items not
yet interacted with.
4. Matrix Factorization:
• Overview: Matrix factorization techniques decompose the user-item interaction matrix
into latent factors, capturing hidden patterns and relationships. Singular Value
Decomposition (SVD) and Alternating Least Squares (ALS) are common matrix
factorization methods.
• Application: Predicting missing values in the user-item matrix to recommend items a
user might like.
Similarity Measures:
Different data types require different functions to measure the similarity of data points.
Diffentiation between unary, binary and quantitative data helps with most problems. Unary
data could be the number of likes for a blog post. Binary data could be likes and dislikes of a
video and quantitative data could be rating provided like 4/10 stars or similar. The following
table summarises which similarity functions are suitable for different data types.
1. Cosine Similarity:
• Definition: Measures the cosine of the angle between two vectors, representing users
or items, in a multidimensional space.
• Cosine similarity is a measure used to determine the similarity between two non-zero
vectors in a vector space. It calculates the cosine of the angle between the vectors,
representing their orientation and similarity.
18
CCS360 – RECOMMENDER SYSTEMS
UNIT-1: INTRODUCTION
• A · B denotes the dot product of vectors A and B, which is the sum of the element-
wise multiplication of their corresponding components.
• ||A|| represents the Euclidean norm or magnitude of vector A, calculated as the square
root of the sum of the squares of its components.
• ||B|| represents the Euclidean norm or magnitude of vector B.
The resulting value ranges from -1 to 1, where 1 indicates that the vectors are in the same
direction (i.e., completely similar), -1 indicates they are in opposite directions (i.e.,
completely dissimilar), and 0 indicates they are orthogonal or independent (i.e., no
similarity). It is particularly useful in scenarios where the magnitude of the vectors is not
significant, and the focus is on the direction or relative orientation of the vectors.
Dimensionality Independence: It is not affected by the magnitude or length of vectors. It
solely focuses on the direction or orientation of the vectors. This property makes it valuable
when dealing with high-dimensional data or sparse vectors, where the magnitude of the
vectors may not be as informative as their relative angles or orientations.
Sparse Data: It is particularly effective when working with sparse data, where vectors have
many zero or missing values. In such cases, the non-zero elements play a crucial role in
capturing the meaningful information and similarity between vectors.
• Application: In recommender systems, cosine similarity can be used to measure the
similarity between user preferences or item characteristics, aiding in generating
personalised recommendations based on similar user preferences or item profiles.
2. Pearson Correlation Coefficient:
• Definition: Measures linear correlation between two variables, providing a measure
of the strength and direction of a linear relationship.
• The Pearson correlation coefficient, also known as Pearson’s correlation or simply
correlation coefficient, is a statistical measure that quantifies the linear relationship
between two variables. It measures how closely the data points of the variables align
on a straight line, indicating the strength and direction of the relationship.
The Pearson correlation coefficient is denoted by the symbol “r” and takes values
between -1 and 1. The coefficient value indicates the following:
• r = 1: Perfect positive correlation. The variables have a strong positive linear
relationship, meaning that as one variable increases, the other variable also
increases proportionally.
• r = -1: Perfect negative correlation. The variables have a strong negative linear
relationship, meaning that as one variable increases, the other variable decreases
proportionally.
• r = 0: No linear correlation. There is no linear relationship between the variables.
They are independent of each other.
• Application: Evaluating how well users' preferences align, especially in scenarios
with numerical ratings.
3. Jaccard Similarity:
19
CCS360 – RECOMMENDER SYSTEMS
UNIT-1: INTRODUCTION
• Definition: Measures the intersection over the union of sets, quantifying the similarity
between two sets.
• It calculates the size of the intersection of the sets divided by the size of their union.
The resulting value ranges from 0 to 1, where 0 indicates no similarity and 1 indicates
complete similarity.
• In other words, to calculate the Jaccard similarity, you need to determine the common
elements between the sets of interest and divide it by the total number of distinct
elements across both sets.
• In other words, to calculate the Jaccard similarity, you need to determine the common
elements between the sets of interest and divide it by the total number of distinct
elements across both sets.
• It is useful because it provides a straightforward and intuitive measure to quantify the
similarity between sets. Its simplicity makes it applicable in various domains and
scenarios.
• Here are some key reasons for its usefulness:
• Set Comparison: It enables the comparison of sets without considering the
specific elements or their ordering. It focuses on the presence or absence of
elements, making it suitable for cases where the structure or attributes of the
elements are not important or would need additional feature engineering, which
would slow down the system.
• Scale-Invariant: It remains unaffected by the size of the sets being compared.
It solely relies on the intersection and union of sets, making it a robust measure
even when dealing with sets of different sizes.
• Binary Data: It is particularly suitable for binary data, where elements are
either present or absent in the sets. It can be applied to scenarios where the
presence or absence of specific features or attributes is important for
comparison.
• Applications
• In the context of a recommender system, Jaccard similarity can be used to
identify users with similar item preferences and recommend items that are
highly rated or popular among those similar users. By leveraging Jaccard
similarity, the recommender can enhance the personalisation of
recommendations and help users discover relevant items based on the
preferences of users with similar tastes.
• Assessing similarity between sets of items liked or interacted with by users.
4. Euclidean Distance:
• Definition: Represents the straight-line distance between two points in a
multidimensional space.
• Application: Quantifying the dissimilarity or proximity between user or item
vectors.
5. Manhattan Distance:
20
CCS360 – RECOMMENDER SYSTEMS
UNIT-1: INTRODUCTION
• Definition: Measures the distance between two points by summing the absolute
differences along each dimension.
• Application: Similar to Euclidean distance, but may be less sensitive to outliers.
6. Hamming Distance:
• Definition: Measures the number of positions at which corresponding bits differ in
two binary strings.
• Application: Suitable for comparing binary user profiles or item representations.
Choosing the appropriate data mining method and similarity measure depends on the
characteristics of the data, the nature of the recommendation problem, and
computational considerations. Hybrid approaches that combine multiple methods or
measures often yield more robust and accurate recommendations.
DIMENSIONALITY REDUCTION:
Overview:
Dimensionality reduction is a technique used to reduce the number of features
(dimensions) in a dataset while preserving its essential information. In the context of
recommender systems, dimensionality reduction is often applied to user-item interaction
matrices to capture latent factors that represent hidden patterns in the data. By reducing
the dimensionality, the computational complexity decreases, and the model becomes
more efficient.
Methods:
• Principal Component Analysis (PCA): PCA is a popular linear dimensionality
reduction method that transforms the original features into a new set of uncorrelated
variables (principal components) while preserving the variance in the data.
• Singular Value Decomposition (SVD): SVD is a matrix factorization technique that
decomposes a matrix into three other matrices, capturing latent factors. It is commonly
used in collaborative filtering for recommender systems.
• Non-Negative Matrix Factorization (NMF): NMF decomposes a matrix into
two lower-rank matrices with non-negative elements, making it suitable for
scenarios where non-negativity is a meaningful constraint.
21
CCS360 – RECOMMENDER SYSTEMS
UNIT-1: INTRODUCTION
method shrinks the space dimension from N-dimension to K-dimension (where K<N) and
reduces the number of features. SVD constructs a matrix with the row of users and
columns of items and the elements are given by the users’ ratings. Singular value
decomposition decomposes a matrix into three other matrices and extracts the factors from
the factorization of a high-level (user-item-rating) matrix.
From matrix factorization, the latent factors show the characteristics of the items. Finally,
the utility matrix A is produced with shape m*n. The final output of the matrix A reduces
the dimension through latent factors’ extraction. From the matrix A, it shows the
relationships between users and items by mapping the user and item into r-dimensional
latent space. Vector X_i is considered each item and vector Y_u is regarded as each user.
The rating is given by a user on an item as 𝑹_𝒖𝒊 = 𝑿^𝑻_𝒊 ∗ 𝒀_𝒖. The loss can be
minimized by the square error difference between the product of R_ui and the expected
rating.
Regularization is used to avoid overfitting and generalize the dataset by adding the
penalty.
Here, we add a bias term to reduce the error of actual versus predicted value by the
model.
(u, i): user-item pair
μ: the average rating of all items
bi: average rating of item i minus μ
bu: the average rating given by user u minus μ
The equation below adds the bias term and the regularization term:
22
CCS360 – RECOMMENDER SYSTEMS
UNIT-1: INTRODUCTION
The metadata includes 45,000 movies listed in the Full MovieLens Dataset and movies
are released before July 2017. Cast, crew, plot keywords, budget, revenue, posters, release
dates, languages, production companies, countries, TMDB vote counts and vote averages
are in the dataset. The scale of ratings is 1–5 and obtained from the official GroupLens
website. The dataset is referred to from the Kaggle dataset.
3. Recommending movies using SVD
Singular value decomposition (SVD) is a collaborative filtering method for movie
recommendation. The aim for the code implementation is to provide users with movies’
recommendation from the latent features of item-user matrices. The code would show you
how to use the SVD latent factor model for matrix factorization.
Applications in Recommender Systems:
• Matrix Factorization: SVD is used to factorize the user-item interaction matrix
into lower-rank approximations, capturing latent factors that represent user
preferences and item characteristics.
• Collaborative Filtering: SVD is a key technique in collaborative filtering-based
recommender systems, where it helps in identifying latent relationships between
users and items.
• Handling Sparsity: SVD can handle sparse matrices effectively, providing a
way to impute missing values in the original matrix and improving the quality
of recommendations.
• Regularization Techniques: Regularized versions of SVD, such as Regularized
SVD, incorporate regularization terms to prevent overfitting and enhance the
generalization ability of the model.
23
UNIT-I-INTRODUCTION
EXTERNAL LEARNING – SINGULAR VALUE DECOMPOSITION (SVD)
APPLICATIONS
SVD Formula
1. A is the input matrix
2. U are the left singular vectors,
3. sigma are the diagonal/eigenvalues
4. V are the right singular vectors.
The shape of these three matrices will be
1. A — m x n matrix
2. U — m x k matrix
3. Sigma — k x k matrix
4. V — n x k matrix
Step 1
So, as the first step, we need to find eigenvalues (watch the video provided below to get an
understanding of eigenvalues and eigenvectors) of matrix A and as A can be a rectangular
matrix, we need to convert it to a square matrix by multiplying A with its transpose. Here, for
easier computation I have taken A as a 2 x 2 matrix.
Step 2
Now, that we have a square matrix, we can calculate the eigenvalues of A(transpose) A. We,
can do so by calculating the determinant of A(transpose)A — (lambda)I where lambda are
the two eigenvalues.
1
UNIT-I-INTRODUCTION
EXTERNAL LEARNING – SINGULAR VALUE DECOMPOSITION (SVD)
APPLICATIONS
Step 3
Once we have calculated the eigenvalues, it’s time to calculate the two eigenvectors for each
eigenvalue. So, let’s start by calculating the eigenvector for 10.
Step 3.1
We plug the value of lambda in the A(transpose)A — (lambda)I matrix.
2
UNIT-I-INTRODUCTION
EXTERNAL LEARNING – SINGULAR VALUE DECOMPOSITION (SVD)
APPLICATIONS
In order to find the eigenvector, we need to find the null space of a matrix where AB = 0. In
other words,
Next, we need to reduce this matrix to the Row-Echelon Form so that we can easily solve the
equation. Let’s talk about Row-Echelon for a moment here.
Row-Echelon Form
A matrix is said to be in row-echelon form if the following rules are satisfied.
1. All the leading entries in each row of the matrix is 1
2. If a column contains a leading entry then all the entries below the leading entry should
be zero
3. If any two consecutive non-zero rows, the leading entry in the upper row should occur
to the left of the leading entry in the lower row.
4. All rows which consist only of zeros should occur in the bottom of the matrix
We need to perform some operations on the rows to reduce the matrix. These operations are
called elementary row operations and there are a certain rules to follow for these operations
as given below,
Armed with the above rules, lets start reducing the matrix in Step 3.1 to row-echelon form.
3
UNIT-I-INTRODUCTION
EXTERNAL LEARNING – SINGULAR VALUE DECOMPOSITION (SVD)
APPLICATIONS
Now, we can solve for null space as below to find the eigenvector for eigenvalue 10
Once we get this vector, we need to convert it to a unit vector . The way we do that is by
taking the columnar values and dividing them by taking the square root of the sum of squares
of the values. So, in this case we do the following,
4
UNIT-I-INTRODUCTION
EXTERNAL LEARNING – SINGULAR VALUE DECOMPOSITION (SVD)
APPLICATIONS
5
UNIT-I-INTRODUCTION
EXTERNAL LEARNING – SINGULAR VALUE DECOMPOSITION (SVD)
APPLICATIONS
EigenVector for 40
Now that we have got both the eigenvectors, let’s put it together.
Note that the diagonal values in sigma are always in the descending order and so the vectors
are also placed in that corresponding order. If you are familiar with PCA, the principal
components correspond to the top k diagonal element which captures the most variance. The
higher the value, the more important the component is and the more variance they describe.
Step 4
Now that we have our V and Sigma matrices, now it’s time to find U. We can just multiply
the equation by sigma(inverse) and V on both sides to get the equation for U. In this case, as
V is an orthogonal matrix, the transpose and inverse of V are the same, therefore,
V(transpose) multiplied by V becomes an identity matrix.
Note: On the left hand side, it is sigma(inverse) and not transpose as mentioned in the slide
below
6
UNIT-I-INTRODUCTION
EXTERNAL LEARNING – SINGULAR VALUE DECOMPOSITION (SVD)
APPLICATIONS
Next up, we need to convert this to unit vectors using the steps described above.
Next up we multiply this matrix with Sigma (transpose) which is sigma in itself because its a
diagonal matrix.
7
UNIT-I-INTRODUCTION
EXTERNAL LEARNING – SINGULAR VALUE DECOMPOSITION (SVD)
APPLICATIONS
Now, we need to convert this to unit vectors to get the final U matrix.
2 2 2 2 1 2
√8 5 √5 = 2√5 √5 = √5 √5
4 1 4 1 2 1
√4 5 √5 2√5 √5 √5 √5
=
So, there you go, we have calculated U, sigma and V and decomposed the matrix A into three
matrices as given below.
8
UNIT-I-INTRODUCTION
EXTERNAL LEARNING – SINGULAR VALUE DECOMPOSITION (SVD)
APPLICATIONS
1 √40 0 0 √10 1 1
√5 √ √2 √2
2 √10 1 1
√40 0 0
√2 √2
=
√5 √5
√40 2√10 1 1
√5 √5 √2 √2
√40 √10 1 1
√2 √2
=
√5 √5
1 1 1 1
√8 2√2 √2 √2 = 2√2 2√2 √2 √2
2√8 √2 1 1 4√2 √2 1 1
√2 √2 √2 √2
=
2+2 2+2 4 0
4 1 4 1 3 5
= = =A
Thus
= Σ! "
9
Unit-I-Question Bank
1
preferences for items. For m users and n items, this corresponds to an incomplete
� × � matrix, where the specified (or observed) values are used for training. The
missing (or unobserved) values are predicted using this training model. This
problem is also referred to as the matrix completion problem because we have an
incompletely specified matrix of values, and the remaining values are predicted by
the learning algorithm.
Ranking version of problem: In practice, it is not necessary to predict the ratings
of users for specific items in order to make recommendations to users. Rather, a
merchant may wish to recommend the top-k items for a particular user, or determine
the top-k users to target for a particular item. The determination of the top-k items is
more common than the determination of top-k users, although the methods in the
two cases are exactly analogous.
2
A classic example of content-based filtering is the “related items” feature in online
marketplaces. For example, if a user liked a smartphone, a content-based
recommender system would recommend other smartphones with similar features,
such as a large screen size, high resolution, and fast processor.
7. What is CollaborativeFilteringRecommenderSystems?
Collaborative filtering is a type of recommender system that predicts what items a
user might like based on the preferences of similar users. It works by analyzing user
behavior and finding patterns that can be used to make recommendations.
One common approach to collaborative filtering is user-based filtering, where the
system identifies users with similar preferences and recommends items that those
users have liked in the past. Another approach is item-based filtering, where the
system recommends items that are similar to those that the user has already liked.
8. What is HybridRecommenderSystems?
A Hybrid Recommender System combines two or more recommendation techniques
in order to achieve better accuracy and coverage in the recommendations. The two
main types of systems used in hybrid models are Collaborative Filtering and Content-
Based Filtering.
Collaborative Filtering uses data on user behavior, such as ratings or clicks, to
recommend items based on the preferences of similar users. Content-Based Filtering
3
uses data on the features of the items, such as genre or topic, to recommend items based
on the interests of the user.
One example of a hybrid recommender system is the Netflix recommendation system.
Netflix uses collaborative filtering to suggest movies based on similar users'
preferences, but also incorporates content-based filtering by suggesting titles based on
the genre, actor, or director that the user has previously viewed.
4
12. What is meant by Deep Learning-Based Recommender Systems?
Deep learning (DL) is a powerful technique for product recommendations, inspired by
the brain's structure and function. It can process data in a non-linear way, extracting
hidden insights and generating more accurate recommendations.
In the training phase, the model is trained to predict user-item interaction probabilities
(calculate a preference score) by presenting it with examples of interactions (or non-
interactions) between users and items from the past.
5
• Cross-Domain Recommendations
• Novelty:
• Cold Start Problem
• Long-Term Recommendations
• Business Objectives
14. What is meant by personalized recommender system?
Personalized recommendation systems are designed to provide tailored recommendations to
individual users based on their past behavior, preferences, and demographic information.
6
17. What is traditional recommender system?
Traditional recommender systems typically use explicit input features or rules to generate
recommendations. These systems often rely on general attributes of items or users, and their
recommendations are not personalized to the specific preferences or behaviour of individual
users.
Example Features:
o Genre of a movie
o Author of a book
o Popularity or overall ratings of items
7
23. What is meant by Cosine Similarity?
Definition: Measures the cosine of the angle between two vectors, representing users
or items, in a multidimensional space.
Cosine similarity is a measure used to determine the similarity between two non-zero
vectors in a vector space. It calculates the cosine of the angle between the vectors,
representing their orientation and similarity.
A · B denotes the dot product of vectors A and B, which is the sum of the element-
wise multiplication of their corresponding components.
||A|| represents the Euclidean norm or magnitude of vector A, calculated as the square
root of the sum of the squares of its components.
||B|| represents the Euclidean norm or magnitude of vector B.
The resulting value ranges from -1 to 1, where 1 indicates that the vectors are in the
same direction (i.e., completely similar), -1 indicates they are in opposite directions
(i.e., completely dissimilar), and 0 indicates they are orthogonal or independent (i.e.,
no similarity). It is particularly useful in scenarios where the magnitude of the vectors
is not significant, and the focus is on the direction or relative orientation of the vectors
24. What is meant Pearson Correlation Coefficient?
• The Pearson correlation coefficient, also known as Pearson’s correlation or
simply correlation coefficient, is a statistical measure that quantifies the linear
relationship between two variables. It measures how closely the data points of the
variables align on a straight line, indicating the strength and direction of the
relationship.
The Pearson correlation coefficient is denoted by the symbol “r” and takes values
between -1 and 1. The coefficient value indicates the following:
• r = 1: Perfect positive correlation. The variables have a strong positive linear
relationship, meaning that as one variable increases, the other variable also increases
proportionally.
8
• r = -1: Perfect negative correlation. The variables have a strong negative linear
relationship, meaning that as one variable increases, the other variable decreases
proportionally.
• r = 0: No linear correlation. There is no linear relationship between the
variables. They are independent of each other.
25. What is Jaccard Similarity?
Measures the intersection over the union of sets, quantifying the similarity between
two sets.
• It calculates the size of the intersection of the sets divided by the size of their
union. The resulting value ranges from 0 to 1, where 0 indicates no similarity and 1
indicates complete similarity.
• In other words, to calculate the Jaccard similarity, you need to determine the
common elements between the sets of interest and divide it by the total number of
distinct elements across both sets.
26. What is the applications of dimensionality reduction in Recommender Systems?
Reducing Sparsity: Recommender system datasets are often sparse, with many
missing values in the user-item interaction matrix. Dimensionality reduction helps in
filling in missing values by approximating the original matrix with lower-rank
approximations.
Capturing Latent Factors: By reducing the dimensionality, latent factors representing
user preferences and item characteristics can be identified, leading to more efficient
and effective recommendations
27. What is meant by Singular Value Decomposition?
When it comes to dimensionality reduction, the Singular Value Decomposition (SVD)
is a popular method in linear algebra for matrix factorization in machine learning. he
Singular Value Decomposition of a matrix is a factorization of the matrix into three
matrices. Thus, the singular value decomposition of matrix A can be expressed in
terms of the factorization of A into the product of three matrices as
SVD Formula
1. A is the input matrix
2. U are the left singular vectors,
3. sigma are the diagonal/eigenvalues
4. V are the right singular vectors.
The shape of these three matrices will be
1. A — m x n matrix
2. U — m x k matrix
3. Sigma — k x k matrix
4. V — n x k matrix
28. List the difference Between Content-Based Filtering and Collaborative Filtering
9
Aspect Content-Based Collaborative Filtering
Filtering
Focus Item attributes User Behaviour
Recommendation Items similar to Items liked by similar
what the user users to the user
likes
Data required Information User behavior data, such
about the item as ratings or purchases
Advantage Doesn’t require Can recommend niche or
user data new items
Disadvantage May miss out on Needs sufficient user
new interests data to be effective
Part -B
1. Enumerate the goals of Recommender system.
Recommender systems aim to enhance user experience and satisfaction by providing
personalized suggestions or recommendations. The goals of recommender systems
include:
Personalization: Tailor recommendations to individual user preferences, behaviors, and
needs.
Increased User Satisfaction: Enhance user experience by offering relevant and
interesting suggestions.
Improved Engagement: Encourage users to explore and interact with the system by
presenting appealing recommendations.
Diversity: Provide a variety of recommendations to avoid monotony and introduce users
to a broader range of items.
Accuracy: Deliver accurate predictions and recommendations based on user data and
preferences.
Serendipity (Chance): Introduce users to unexpected but relevant items that they may
not have discovered on their own. Introduce users to new and potentially interesting items
that they may not have considered.
Scalability: Efficiently handle a growing number of users and items while maintaining
recommendation quality.
Adaptability: Adjust recommendations over time to reflect changes in user preferences
and behaviors.
Explainability: Offer clear explanations for why certain recommendations are made,
helping users understand and trust the system.
Privacy: Safeguard user privacy by minimizing the collection and exposure of sensitive
information.
Cross-Domain Recommendations: Extend recommendations across different domains
or types of items to cater to diverse user interests.
Novelty: Introduce users to novel or less-known items that align with their preferences,
fostering exploration.
Cold Start Problem: Address challenges related to new users or items lacking sufficient
historical data for accurate recommendations.
Long-Term Recommendations: Provide suggestions that align with users' long-term
preferences and evolving tastes.
10
Business Objectives: Align recommendations with the business goals, such as increasing
sales, user engagement, or other key performance indicators.
Recommender systems leverage various algorithms and techniques, including
collaborative filtering, content-based filtering, hybrid methods, and deep learning, to achieve
these goals. The specific approach depends on the nature of the data and the requirements of
the application.
2. Explain SVD applications with an example?
3. Suppose, we have a four-dimensional dataset (Features 1 through 4) find out the
following similarity measures between Row1and Row 3
a. Cosine
b. Jaccard index
c. Weighted Jaccard Index
d. Tanimoto coefficient/index/similarity
Feature 1 Feature 2 Feature 3 Feature 4
Row 1 10 3 3 5
Row 2 5 4 5 3
Row 3 9 4 6 4
Row 4 8 6 2 6
Row 5 20 15 10 20
Step 1: Extract Row Vectors
From the table, we extract the feature values for Row 1 and Row 3:
Row 1=(10,3,3,5)
Row 3=(9,4,6,4)
12
8. Discuss the steps to build a recommender system.
Define the problem: Identify the type of Recommender System that best suits the
problem. For example, if the need is to recommend a set of products to a user,
then a Collaborative Filtering-based Recommender System is the ideal choice.
Gather and preprocess the Data: Collect sufficient and adequate data on Users
and Items, with relevant metadata. Carry out Data cleaning, Preprocessing and
Feature Engineering (if necessary).
Split the Data: Divide the Preprocessed data into Training, Validation and Test
sets. The sizes can vary depending on the size of the dataset but typically 70-20-
10% is good.
Select appropriate Metrics: Decide on the relevant Evaluation Metrics to
measure the performance of the Recommender System.
Develop the Model: Develop and fine-tune a suitable Modelling approach based
on the Split data, the Type of Recommender System, and the Evaluation Metrics.
For example, a Matrix Factorization approach using Gradient Descent could be used
for Collaborative Filtering-based Recommender Systems.
Train the Model: Train the Model on the Training data and Validate the Model
on the Validation data, adjusting the hyperparameters if necessary.
Assess Model Performance: Test the performance of the Model on the Test data
using the Evaluation metrics previously defined. Output the final results, such as
Precision or Recall, to determine which Model performs the best in production.
Deploy the Model: After choosing the best Model, deploy it for use in
Production.
Maintain the Model: Maintain the Model by periodically retraining, as necessary,
based on newly connected data.
Iterate: Iterate on the entire process to improve the Model's accuracy and
efficiency continually.
13
9. Discuss on the basic types of Recommender system.
Recommender systems can be broadly categorized into several types based on their
underlying algorithms and techniques. The basic taxonomy of recommender systems
includes:
Collaborative Filtering:
User-Based Collaborative Filtering: Recommends items based on the preferences
and behaviors of users with similar tastes.
Item-Based Collaborative Filtering: Suggests items that are similar to those liked by
the user.
Content-Based Filtering:
Analyzes the features of items and recommends items with similar characteristics to
those the user has shown interest in.
Hybrid Recommender Systems:
Combines multiple recommendation approaches, such as collaborative filtering and
content-based filtering, to improve overall accuracy and overcome individual
limitations.
Knowledge-Based Recommender Systems:
Utilizes explicit knowledge about users and items to make recommendations. This
knowledge is often provided by experts or encoded in a knowledge base.
Context-Aware Recommender Systems:
Takes into account contextual information such as location, time, or the user's current
activity to provide more relevant and personalized recommendations.
Matrix Factorization:
Decomposes the user-item interaction matrix into latent factors to capture hidden
patterns and relationships between users and items.
Deep Learning-Based Recommender Systems:
Utilizes neural networks and deep learning architectures to automatically learn
intricate patterns and representations from user-item interactions.
Association Rule Mining:
Discovers relationships or associations between different items based on historical
user behavior, commonly used in basket analysis.
14
Demographic-Based Recommender Systems:
Considers demographic information about users, such as age, gender, or occupation,
to tailor recommendations.
Community-Based Recommender Systems:
Leverages the wisdom of the crowd by considering recommendations from a
community of users with similar preferences.
Implicit Feedback Recommender Systems:
Handles implicit feedback, such as clicks or views, to infer user preferences and make
recommendations.
Ephemeral Recommender Systems:
Focuses on recommending items with a short lifespan, such as news articles, based on
current trends and user preferences.
10. Depict the basic taxonomy of recommender systems with examples Basic Taxonomy of
Recommender Systems with Examples ( April-May-2024)
Recommender systems are broadly classified based on how they generate recommendations. The main categories
include Collaborative Filtering, Content-Based Filtering, Hybrid Systems, Knowledge-Based Systems, and
Popularity-Based Systems.
15
Hybrid systems combine multiple recommendation approaches (e.g., Collaborative + Content-Based) to
overcome individual limitations and improve accuracy.
Types of Hybrid Approaches:
1. Weighted Hybrid: Assigns different weights to multiple recommendation methods and combines them.
o Example: YouTube suggests videos using both user history (Collaborative) and video metadata
(Content-Based).
2. Switching Hybrid: Switches between methods based on available data.
o Example: Amazon may use Content-Based Filtering if a user has little purchase history but
switch to Collaborative Filtering when more data is available.
3. Feature Augmentation: Uses one method to enhance another.
o Example: Netflix uses Collaborative Filtering but enriches it with metadata like movie genres.
Advantage: Provides better personalization and overcomes cold start issues.
Disadvantage: More complex and computationally expensive.
11. Elaborate the Unique difference features of traditional, non-personalized recommender system by
giving example for each category
Unique Differences Between Traditional and Non-Personalized Recommender Systems (With Examples)
Recommender systems can be broadly classified into Traditional (Personalized) Recommender Systems and
Non-Personalized Recommender Systems. Their primary difference lies in how they generate
recommendations—whether they adapt to individual user preferences or provide general suggestions to all users.
17
Feature Traditional (Personalized) Non-Personalized
Netflix, Spotify, Amazon personalized YouTube Trending, Amazon
Example
recommendations. Bestsellers.
18