Notes

Leave-One-Out Evaluation

With most cells of the interaction matrix empty, a conventional eighty-twenty split throws away data you cannot spare. Leave-one-out keeps nearly all of it: hold back exactly one interaction per user and train on everything else.

How the split is built
For each user, one interaction goes to the test set and the rest stay in training. Picking that item at random is the convenient choice and the wrong one — the user's later behaviour then sits in training, and the model is scored on predicting a past event from a future it has already seen. Holding out each user's most recent interaction keeps the arrow of time pointing the right way, and that is the version worth running.

The sampled-candidate shortcut
Scoring the held-out item against the whole catalogue is expensive, so the widespread protocol ranks it against 99 or 100 randomly drawn items the user never touched and reports HR@10 and NDCG@10 over that short list. The distortion is well documented and reproduced: with few negatives the metrics compress and model orderings can invert relative to full-catalogue evaluation, so numbers from studies using different sample sizes are not comparable.

What to take from it

  • One test interaction per user makes the metric noisy — it averages over users, not over events, so confidence intervals earn their place.
  • It measures next-item accuracy only, and says nothing about diversity, novelty, or whether the list survives a real feed.
  • Reported beside a chronological split over the full catalogue it is informative; reported alone with sampled negatives it is barely a number.

Leave-one-out evaluation holds back exactly one interaction per user — ideally the most recent — trains on everything else, and measures how highly the model ranks that held-out item, usually with HR@k and NDCG@k. It preserves almost all of a sparse interaction matrix for training, which a conventional split cannot. Ranking the held-out item against a small sample of negatives instead of the full catalogue distorts the score and makes results across studies incomparable.

Think of testing whether a friend really knows your taste. You do not describe everything you own — you hide the last film you watched and ask them to guess it. Get it right, and the claim holds up.

Leave-one-out evaluation is that test, run for every user at once. The software is shown everything a person did except one thing, and then asked to produce a shortlist. If the hidden item turns up near the top, the system scores well. The catch is fairness: if the hidden item is only pitted against a handful of random alternatives rather than the entire catalogue, the test is far too easy and the score flatters the system.