Learn AI.
Understand Neural Networks · ORIGINAL LEARN AI LESSON

Recommend from incomplete feedback.

Complete a small ratings picture with predictions, compare simple and learned recommenders, and inspect cold start and exposure bias.

By the end: Distinguish missing ratings from dislikes, explain a factor prediction, compare held-out rating errors and identify cold-start and feedback-selection limits.

01 · TRY

Start with something concrete.

A learner never rated a drawing activity. Did they dislike it, never see it, or simply leave no feedback? Inspect which cells are observed before fitting a model to the incomplete matrix.

Try the interactive model ↓
02 · PREDICT
Before you experiment

Which cells should contribute targets to the observed-rating training loss?

Which cells should contribute targets to the observed-rating training loss?
03 · EXPERIMENT

Change one thing. Watch what follows.

  1. Compare item-mean and content-line predictions in the incomplete matrix. Reveal held-out ratings and keep their development role separate from training.
  2. Train the low-rank model in bounded batches. Inspect one mean/bias/factor calculation and compare training versus held-out MAE with both baselines.
  3. Select the new learner and new activity. Explain which methods have usable information and which use a labelled fallback.
  4. Restrict recorded feedback to the first four activities, refit and compare the same held-out cells. Explain why low counts do not prove low preference, and record the additional evidence needed to evaluate ranked recommendations.

Loading this browser experiment…

04 · UNDERSTAND

A blank cell is a question

Six fictional learners have rated some activities from 1 to 5. A blank could mean they never saw an activity, chose not to rate it, or had feedback that was not recorded. It does not mean a zero rating. A recommendation model tries to estimate preferences from this incomplete record, but it cannot turn every estimate into verified knowledge.

The lab has eighteen training ratings and six separately held-out observed ratings. Other cells have no supplied ground truth. Start by reading the matrix: T marks training observations, V marks held-out observations, and ≈ marks estimates. Toggle the held-out values to compare predictions with real observations in this teaching dataset. These fixed held-out cells are development evidence, not a new test every time you look.

Keep simple references

Rating-count popularity ranks activities by how many training ratings were recorded. It is not personalized and does not distinguish a favorable rating from an unfavorable one. Counts describe recorded attention, which can be influenced by exposure and logging. The initial data gives every original activity three training ratings; the tie follows activity order, not evidence of superiority.

The item-mean baseline predicts the average training rating for each activity. If ratings are 5, 2 and 1, the prediction is 8/3 ≈ 2.67 for every learner. When an activity has no ratings, this implementation falls back to the global training mean. Count popularity and mean ratings answer different questions; only the latter produces a rating prediction suitable for rating MAE.

A content-based model uses known activity descriptions. Here each item has an authored technical-content feature between 0 and 1. These numbers are teaching metadata, not learned embeddings or verified judgments about real activities. For each learner, the lab fits a straight line from that feature to their observed training ratings, reusing the earlier least-squares mechanism.

For example, ratings 5 for feature 1 and 1 for feature 0 fit the line rating = 1 + 4 × feature. An unrated new item with feature 0.9 receives prediction 4.6. The calculation uses known item information and an existing user profile, even though that item has no feedback. If the user has only one rating or no feature variation, the fitted line is constant at their mean. With no user observations, it falls back to the global mean.

Learn shared numerical factors

Collaborative filtering uses patterns of observed feedback across users and items. The lab learns one or two numerical factors per user and item, plus a user bias and an item bias. It also uses a fixed global mean fitted from training ratings.

r^ui=μ+bu+ci+∑j=1dpujqij\hat r_{ui}=\mu+b_u+c_i+\sum_{j=1}^{d}p_{uj}q_{ij}

The subscript u identifies a user, and i identifies an item. r̂ᵤᵢ is the predicted rating; μ is the fixed training mean; bᵤ is a learned user offset; and cᵢ is a learned item offset. d is the number of latent dimensions, either 1 or 2. pᵤⱼ and qᵢⱼ are the user and item values in dimension j. Multiply corresponding values, add the products, then add the mean and offsets. All terms combine into rating points; latent coordinates have no supplied semantic labels.

For a worked example, mean 3, user offset 0.2, item offset −0.1, user factors (1, 0.5) and item factors (0.4, −0.2) give 3 + 0.2 − 0.1 + 1 × 0.4 + 0.5 × (−0.2) = 3.4. The live trace shows the actual selected pair’s values instead of this separate worked example.

The factor interaction matrix has rank at most d. The complete predictions also include the mean and biases, so “rank 2” does not mean the entire rating matrix, including those offsets, must have rank 2. The dimensions are interchangeable numerical coordinates, not automatically “technical” and “creative” interests.

Fit observed cells, not imagined dislikes

The training objective averages squared error only over the observed training cells, then adds a regularization penalty:

L=1∣Ω∣∑(u,i)∈Ω(r^ui−rui)2+λ1P∑j=1Pθj2L=\frac{1}{|\Omega|}\sum_{(u,i)\in\Omega}(\hat r_{ui}-r_{ui})^2+\lambda\frac{1}{P}\sum_{j=1}^{P}\theta_j^2

Ω (omega) is the set of observed training user-item pairs, and |Ω| is its count. rᵤᵢ is an observed rating, θⱼ is one trainable parameter, P is the number of those parameters, and λ (lambda) sets the penalty strength. Read the formula as “average the squared observed-rating errors, then penalize large parameter values.” The penalty uses the mean squared parameter value in this implementation. The global mean is not updated by gradient descent.

Rank 1 has 24 trainable parameters; rank 2 has 36. Both can be flexible relative to eighteen observations. Missing and held-out cells contribute no training targets. A fitted prediction is never recycled as confirmed feedback.

Optional: follow one gradient contribution

Let e = predicted rating minus observed rating for one cell, and n be the number of training cells. Its loss contributes 2e/n to both selected biases, (2e/n)qᵢⱼ to user factor pᵤⱼ, and (2e/n)pᵤⱼ to item factor qᵢⱼ. Each parameter also receives the regularization gradient 2λθⱼ/P. Accumulate all contributions from the same pre-update model, then subtract learning rate times gradient from every parameter simultaneously. Updating a user factor first and using its new value to update the item factor would be a different calculation.

The worker performs batches of at most fifty updates, up to four hundred total. The single-step CPU button performs the same update. Changing rank, regularization, learning rate or feedback coverage restarts from a fixed seed. Compare choices with a declared tuning allowance rather than selecting indefinitely on the same six held-out observations.

Cold start reveals which information a method uses

A new item has no rating history, but it may have usable content metadata. A content line fitted for an existing learner can score it. The collaborative model has no trained item factors for it and explicitly falls back to the global training mean. It never presents a random initial factor as a learned cold-item preference.

A new learner has no rating history. The content and collaborative models cannot infer a personalized profile here and use the global mean. The item-mean and popularity references can still give non-personalized suggestions. Asking for interests or collecting carefully designed feedback could help, but that onboarding process is not implemented or assumed by this lab.

Try the new user, the new item, and both together. The F marker identifies a fallback in the matrix. A fallback prediction is not independent evidence that all unseen items are equally good.

Exposure shapes the feedback you learn from

Turn on the restricted-feedback view. It removes training ratings for music and drawing while leaving the six held-out ratings unchanged. Those missing records are not converted into low ratings. Count popularity loses their recorded attention; item means lose their direct evidence; content profiles lose some observations; collaborative items without training feedback fall back to the mean.

This is a controlled logging/exposure illustration, not a complete simulation of user behavior. A low observed count may reflect limited opportunities to discover an item, not weak interest. If a system recommends only what was previously exposed, its future logs can reinforce that imbalance. More logged feedback alone does not remove selection bias.

Separate rating error from recommendation usefulness

The comparison table reports mean absolute error in rating points on training and held-out observed cells. Residual magnitudes 1, 0.5 and 1.5 give MAE = 1. Predictions are not clipped to 1–5 before scoring: out-of-range predictions remain visible limitations.

The ranking list excludes activities already observed for the selected user and resolves score ties by activity order. Most unobserved candidates have no correctness label in this dataset. A low MAE on six selected ratings does not establish top-choice quality, diverse exposure, user satisfaction, fairness or causal benefit. Ranking metrics require an appropriate evaluation protocol and relevant feedback; offline comparisons are not a substitute for that evidence.

For implementation practice, reproduce the observed-only loss and check factor gradients numerically. For decision practice, compare the simple baselines, inspect cold-start fallbacks, and propose logging/exposure checks and a separate evaluation of usefulness. Export the configuration, results and limitations. The note is guided practice; reviewed implementation evidence and learner pilots remain pending.

05 · APPLY
Check your understanding

A new item has no ratings but has a content feature used by an existing learner’s fitted profile. Which conclusion is justified?

A new item has no ratings but has a content feature used by an existing learner’s fitted profile. Which conclusion is justified?
06 · CONTINUE

Take this idea with you.

Fit only observed evidence, compare simple references and make fallbacks explicit. A completed ratings matrix is a set of estimates, not a newly observed preference dataset.

My work
Learn AI · Understand by doing.Loading local progress…Copyright (c) 2026 Mobi Weave, Inc. All rights reserved