Posts

Showing posts from 2020

Recommendation Systems - Brief overview of Matrix Factorization

Image
The goal of recommendation systems is to predict the rating that a user will give an item that they haven't seen yet.  One type of recommendation system is known as collaborative filtering, where we try to infer the preferences of a user by filling in the missing items in a user-item matrix. The User-Item Matrix: Suppose we had a user-item matrix like the one below, where each cell represents what a given user (u ) has rated an item ( i ).   There are several missing entries in this matrix, which represent the ratings that we want to predict, and eventually recommend to the user.  If you were working at Netflix, these ratings could mean the number of stars a user has rated a given movie. Matrix Factorization: One way of performing collaborative filtering is via matrix factorization.  In matrix factorization, we try to find two low rank matrices U and V , such that when multiplied together, they recreate the original sparse matrix. ...

Using neural embeddings for search ranking and recommendations

Image
This is a summary of a project that I worked on while working as a data scientist / software engineer at Peerspace . Peerspace is a two-sided marketplace for renting unique spaces for meetings, events, off-sites and things like that.  It's basically like Airbnb, but leaning more towards commercial use cases and hourly rentals. A screenshot of what the Peerspace search results page looks like While I was at Peerspace, I had the opportunity to work on alot of pretty interesting things.  This included learning Clojure, which is a dynamically typed Lisp dialect which runs on the JVM.  In addition, I got to do a lot of work with search ranking and search infrastructure.  One of the search-related projects I worked on was exploring and applying deep learning to improve our search ranking and recommendations. One algorithm I explored was called product2vec . which essentially uses deep learning to learn a neural "embedding" for each of the products in a product ...