推荐系统中的潜在因素是捕获用户-物品交互数据中隐藏模式的数学表示。 这些因素通常通过诸如矩阵分解之类的技术得出,其中大型用户-物品交互矩阵(例如,评分,点击)被分解为较低维的用户和物品矩阵。 每个用户和物品都由潜在特征向量表示,这些向量编码了原始数据中无法直接观察到的抽象特征。 例如,在电影推荐系统中,潜在因素可能对应于诸如“动作强度”,“浪漫深度”或“电影风格”之类的未说出的主题,即使这些术语从未在数据中明确标记。
潜在因素的主要作用是通过对用户和物品之间的相似性进行建模来实现个性化预测。 当用户与某个物品交互时(例如,观看电影或购买产品),系统会学习在特征空间中将用户的潜在向量与物品的向量对齐。 例如,如果用户的向量具有“科幻”和“复杂叙事”的高值,则系统将推荐具有相似对齐的潜在特征的电影,即使这些电影没有重叠的标签或元数据。 这种方法在协同过滤中特别有效,在这种过滤中,推荐依赖于集体行为而不是显式属性。 潜在因素还可以通过从有限的交互中进行泛化来解决数据稀疏性——如果两个用户具有相似的潜在向量,则系统可以推断他们可能对两者都没有明确评分的物品具有共同的偏好。
从技术角度来看,潜在因素提高了可伸缩性和效率。 通过降低数据的维度(例如,将数百万的用户-物品交互压缩为 50-300 个潜在特征),模型需要更少的计算资源用于训练和推理。诸如奇异值分解 (SVD) 或基于梯度的优化(例如,在神经协同过滤中)之类的算法会迭代地调整这些向量以最大程度地减少预测误差。例如,在电子商务中,潜在因素可能揭示出购买远足装备的用户也倾向于偏爱耐用的背包,从而使系统可以浮出相关的产品而无需手动设置规则。但是,潜在因素的质量很大程度上取决于超参数调整(例如,特征数量)以及避免过度拟合的足够交互数据的可用性。开发人员通常将潜在因素模型与基于内容的功能或混合方法相结合,以平衡可解释性和性能。