collaborative filtering is an approach to recommender system recommend items to you based on ratings of users similar to you. It is largely an unsupervised learning algorithm.
Neighborhood-based
neighborhood-based collaborative filtering
neighborhood-based collaborative filtering is a specific collaborative filtering algorithm to recommender system. It predict sthe degree of preference for an item
of a user based on other similar users’ ratings. Similarity is determined by their preferences for known items. For example, both users
and rate movies 5 stars. Given user also like movie , user might also like it. Process
Cost function
(Algorithm) The algorithm can learn features
based on known user ratings ( ), then proceed to learn usual parameters .
numbering total number item user feature This cost function can be minimized using gradient descent
Mean normalization
Why transforming utility matrix?
If there is a new user that hasn’t rated any item, cost function above will predict that user will rate all items
, which doesn’t make much sense. Here comes mean normalization:
- Average rating for each item (
), arranged them in a matrix - Create a new utility matrix: subtract
from each user rating for an item.
- For user
, on item the algorithm will predict a rating: w^{(j)}\cdot x^{(i)} +b^{(j)}+\textcolor{red}{\mu_{i}}
Link to original