Sign in

Music Recommendation System using Bayesian Personalized Ranking and Autoencoders

Authors: Meghan Patil, Sainaya Brid, Stuti Dhebar

Machine Learning

A recommendation system is based on two filtering methods:

· Content Filtering — creates a profile for each user or product to characterize its nature (Success Case: Music Genome Project)

· Collaborative Filtering — analyses relationships between users and inter-dependencies among products to identify new user-item associations (Success Case: Tapestry). Generally, more accurate then content filtering however, it suffers from cold start problem.

Cold start problem: If new user exist sand does not have any inter-dependencies among others, we can’t recommend anything

Collaborative filtering has two methods:

· Neighborhood Method — computing the relationships between items or, alternatively, between users (user base). Example: KNN

· Matrix Factorization Method — each row in matrix represents each user, while each column represents different music. Characteristic features of matrix:

i. Matrix is sparse because not everyone listens to every music

ii. can incorporate implicit feedback, information that are not directly given but can be derived by analyzing user behavior.

Example: SVD, PLSA

There are two types of data on which we can gather information about the likes and dislikes of users:

· Explicit Data: data where we have some sort of rating. Here we know how much a user likes or dislikes an item.

· Implicit Data: data we gather from the user’s behavior, with no ratings or specific actions needed like how many times a user played a song etc.

Since users might not spend the time to rate items or your app might not work well with a rating approach in the first place most systems usually go for implicit data but the downside for this data is that it’s noisier and not always apparent what it means.

· BPR looks at the user, one item the user interacted with and one item the user did not (the unknown item). This gives us a triplet (u, i, j) of a user (u), one known item (i) and one unknown item (j).

· We will implement BPR using matrix factorization which means taking the interaction matrix R of size (all users x all items) and factoring it into matrix U of size (all users x latent features) and V of size (latent features x all items).

· We will use Stochastic Gradient Descent (SGD) to perform optimization.

Ø Advantages:

- takes into consideration the unknown items or missing values i.e. the items a user has not interacted with yet.

- involves pairs of items (the user-specific order of two items) to come up with more personalized rankings for each user.

- Tackles the problem of overfitting.

Ø Disadvantages:

- Logic based on Naïve Bayes hence it assumes that all users act independently with each other.

-The ordering of each pair of items (i, j) for a specific user is independent.

· Uses Collaborative filtering

· Autoencoder vs deep autoencoder — it contains more hidden layers which provides for the Autoencoder to learn mathematically more complex underlying patterns in the data.

· It is used to learn a representation (encoding) for a set of input data, usually to a achieve dimensionality reduction. (encode the input data to reduce dimension)

· It is a feedforward neural network having an input layer, one hidden layer and an output layer

· It uses unsupervised learning i.e.; labelled data is not necessary to learn and only a set of input data instead of input-output pairs.

Ø Advantages:

- Performs dimensionality reduction

- Can handle heterogeneous data sources and is more adaptable in multi-media scenarios

- Has a better understanding of the user demands and item features, thus leading to higher recommendation accuracy

- Handles input noise than traditional recommendation models

Ø Disadvantages:

- No interpretability: This kind of deep NN makes it impossible to explain the results.

-Complex to implement

Computer Engineer inclined towards Data Science

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store