基于邻域的方法是协同过滤中使用的一类算法,主要用于推荐系统。这些方法通过分析相似用户(基于用户)或项目(基于项目)的行为来预测用户偏好或项目评级。其核心思想是,过去意见一致的用户将来可能再次达成一致,或者具有相似用户互动记录的项目将吸引相同的受众。例如,在电影推荐系统中,如果用户 A 和用户 B 具有相似的观看历史,则系统可能会向用户 A 推荐用户 B 喜欢的电影,前提是他们的品味一致。
要应用基于邻域的方法,第一步是计算用户或项目之间的相似性。常用的相似性度量包括余弦相似度、皮尔逊相关系数或 Jaccard 指数。对于基于用户的方法,基于目标用户与所有其他用户的互动历史记录(例如,电影评分)计算相似性得分。基于项目的方法通过用户与项目的互动方式(例如,两种产品一起购买的频率)来比较项目。计算出相似度后,该算法会选择前 k 个最相似的邻居。例如,如果要预测用户对电影的评分,系统可能会对他们 10 个最相似的用户的评分进行平均,并按他们的相似性得分进行加权。
一个实际的例子是亚马逊的“购买此商品的顾客也购买了”功能,该功能使用基于项目的邻域方法。该系统会识别经常与目标商品一起购买的商品,并推荐这些商品。挑战包括处理稀疏数据(例如,互动较少的用户)以及大型数据集的可伸缩性。诸如降维或近似最近邻(例如,使用 FAISS 等库)等技术有助于解决这些问题。虽然易于实现,但基于邻域的方法可能会遇到冷启动问题(新用户/项目),并且可能需要频繁更新相似性矩阵,因为数据会不断演变。尽管存在这些局限性,但由于它们的可解释性以及在局部模式占主导地位的场景中的有效性,它们仍然被广泛使用。