Purpose
Most recommender data is weak. Users click some things, ignore most things, and never label the missing entries for us. This note is about what to do with that. It covers how implicit feedback is formalized, why confidence matters, and how pointwise, pairwise, and listwise losses differ.
Implicit Feedback Is Not Missing Ratings
In explicit-feedback datasets, the label is close to the thing you care about. A user rated a movie 4 stars. That is noisy, though it is still a direct preference statement.
In implicit-feedback datasets, the log is mostly behavior:
- clicks
- purchases
- watches
- dwell time
- skips
The problem is that a missing interaction is ambiguous. Did the user dislike the item? Did they never see it? Did they see it at a bad moment? Did the system fail to expose it? A zero in the matrix does not mean the same thing as a one-star rating.
A zero is not a negative label
Treating every missing interaction as a true negative bakes the old exposure policy into the model. Items the system never showed become items the model learns to avoid showing.
Confidence-Weighted Matrix Factorization
Hu, Koren, and Volinsky make a clean move. They split the implicit signal into:
- a binary preference variable
- a confidence weight
The binarized preference is
and the confidence weight is
where is the raw interaction count and scales how much repeated behavior raises confidence.
Then fit latent factors by minimizing
This is a quiet but important idea. The model does not pretend unobserved interactions are negative examples with the same certainty as clicks or purchases. It treats them as low-confidence non-positives.
That lines up with the reality of recommendation logs. Exposure is uneven. Absence of evidence stays weak evidence.
Pointwise Objectives
A pointwise objective scores each user-item pair independently. The target may be:
- click / no click
- purchase / no purchase
- expected watch time
- rating regression
Logistic regression and cross-entropy are the standard examples:
Pointwise training is simple and stable. It also works well when the serving system truly consumes calibrated probabilities. Ads systems often live here.
The weakness is that ranking quality is only indirect. If your business metric depends on relative order inside a slate, pointwise loss can spend capacity on getting absolute scores right in places where the order would not change anyway.
Pairwise Objectives
Pairwise losses train on preferences of the form “user preferred item over item .” That maps more directly to ranking.
The BPR paper defines a training set of triples where is an observed positive item for and is an unobserved item. The optimization target is
where .
This says: raise the score gap between the positive item and the sampled negative item. BPR is appealing because it trains on the ordering problem directly instead of asking the model to interpret missing entries as fixed labels.
The catch is that pairwise training inherits a negative-sampling problem. Which values do you compare against? Uniform negatives are cheap, though they often waste steps on obviously irrelevant items. Hard negatives are better teachers, though they can destabilize training if they are drawn carelessly.
Listwise Objectives
Listwise methods care about the whole ranked list, not just independent items or pairs. In practice they are usually motivated by metrics such as NDCG, MAP, or watch-time-weighted slate utility.
The classic line from RankNet to LambdaRank to LambdaMART is useful here:
- RankNet turns pairwise ordering into a differentiable probabilistic loss.
- LambdaRank modifies the gradients so pairs that move a ranking metric like NDCG more receive larger updates.
- LambdaMART combines those lambda-style gradients with boosted trees.
The reason people still use LambdaMART everywhere is practical. It often performs very well on heterogeneous tabular features, deals with missing values gracefully, and fits the ranking problem more directly than plain pointwise regression.
Which Objective Matches Which Problem
There is no universal winner. The right objective depends on what the serving layer consumes.
| Situation | Usually a good starting point | Why |
|---|---|---|
| Ads CTR prediction | Pointwise | The auction and pacing logic consume calibrated probabilities. |
| Candidate retrieval | Pairwise or sampled-softmax classification | Relative order matters more than exact calibration. |
| Search or recommendation reranking | Pairwise or listwise | Metric depends on top-of-list order. |
| Mixed business constraints | Pointwise score plus reranking, or multi-objective ranking | One loss rarely captures the whole slate objective. |
Match the loss to what the serving layer consumes
If downstream logic reads the score as a probability, as ad auctions and pacing do, train pointwise and calibrate. If downstream logic only reads the order, pairwise or listwise losses spend capacity where it moves the metric.
The main mistake is to choose the loss because it is fashionable rather than because it matches the downstream decision rule.
What Usually Goes Wrong
- Treating every missing interaction as a true negative.
- Optimizing a pointwise loss when the product metric is top-k ranking quality.
- Sampling negatives that are too easy, so the model never learns fine discrimination.
- Forgetting that the logged negatives depend on past exposure policy.
That last one connects to bias, marketplace effects, and counterfactual evaluation. Logged data is policy-shaped. The objective function cannot rescue you from that by itself.
Related Notes
- Recommender Systems
- Retrieval and Ranking
- Bias, Marketplace Effects, and Counterfactual Evaluation
- Two-Tower Retrieval and the MovieLens 100K experiment