Item-Based Collaborative Filtering
Item-based collaborative filtering computes similarity between item columns, then recommends items similar to those a user already consumed. Compared with user-based collaborative filtering, item similarities can be more stable because item catalogs often change slower than user histories.
Item-item similarity
For item vectors and over users,
A user score for unseen item is
This is often a fast candidate generation source before richer ranking.
Worked example
Assume the target user already consumed items 0 and 3. Candidate scores sum item-item similarities from the consumed set and then filter already-seen items:
| Candidate item | Similarity to item 0 | Similarity to item 3 | Unseen score | Decision |
|---|---|---|---|---|
| Item 0 | 1.000 | 0.408 | filtered | already consumed |
| Item 1 | 0.816 | 0.000 | 0.816 | candidate |
| Item 2 | 0.408 | 0.500 | 0.908 | top candidate |
| Item 3 | 0.408 | 1.000 | filtered | already consumed |
Item 2 receives support from both consumed items and becomes the top unseen recommendation. Matrix factorization can compress a similar item-item structure into latent factors.
Caveats
Popular items are similar to many items unless similarities are normalized or shrinkage is used. Item-item tables can be large for huge catalogs, so approximate nearest-neighbor indexes and pruning are common. Pure item similarity still has cold-start problems for brand-new inventory.
References
- Linden, Smith, and York, 2003, Amazon.com Recommendations: Item-to-Item Collaborative Filtering
- Sarwar et al., 2001, Item-based Collaborative Filtering Recommendation Algorithms
Nav