Recommendation Systems
Candidate generation and ranking, collaborative and content-based filtering, cold start — and feedback loops, where the model changes the data it will be trained on next.
A recommender is a loop, not a model: events feed candidate generation, candidates are ranked, the ranking decides what users see, and what users see decides the next batch of events.
Learn from who interacted with what, with no item attributes at all — and inherit every bias in who was shown what, because the missing entries in the matrix are not negatives.
Recommend from what items and users are, not from who touched what. It works on day one for a new item and is limited to what the attributes can express.
Millions of items cannot be scored by a rich model inside a page-load budget. Retrieval narrows to hundreds with a cheap model; ranking orders them with an expensive one; each stage has its own metric and its own way to fail.
A new user or item has no interaction history, so an interaction-trained model has nothing but noise for it. The answers are popularity, content, asking, and deliberately showing it — none of which is a better model.
The model decides what users see, what users see decides what they click, and what they click is the next training set. Retraining on that log does not correct the loop — it tightens it.
Showing the best-known item earns the most today and learns the least. Some exploration is the price of data you can trust — and in some domains that price cannot be paid.