Recommender Systems using Factorization Machines
Recommender System is a type of machine learning problem that has some interesting characteristics:
Recommendations are personalized for each user
New products may not be recognized by “recommender systems” – if you are launching a new product, you better have many reviewers and product testers. Otherwise, the product may never see the light
Data has high cardinality - For example, Amazon has millions of users and millions of products. The data is also sparse. A user rates only a small portion of the products, and similarly, a product may be rated by only a small percentage of users.
Not many of us rate or review products, yet we want the recommender to show relevant products. Recommender systems use collaborative filtering. In the case of a movie example, the recommender system may suggest movies similar to those you liked. The algorithm learns based on how other users rate the movies.
The algorithm estimates the likelihood of you liking a particular product or movie. The application will then display the items that are ranked highly by a model of you
Sometimes recommenders may not make much sense – for example, if I buy a car wiper, I may not need another one until next year. However, a recommender system may keep promoting wipers every time I visit the website. On the other hand, this approach makes perfect sense for movies – because if I liked a movie, I would want to watch other similar movies.
Data keeps changing – new products, new reviews. So, the recommender system model requires frequent re-training to keep up with changing preferences.
Factorization Machines is a popular algorithm to build powerful recommender systems.
Learn how to build and deploy a recommender system on SageMaker using a real-world dataset