隐式反馈的矩阵分解是一种用于推荐系统的技术,它基于间接的交互信号(如点击、浏览或购买历史)来预测用户偏好。与显式反馈(如星级评分或评论)不同,隐式反馈不直接指示用户偏好,而是从行为中推断出来。核心思想是将用户-项目交互矩阵分解为两个较低维度的矩阵,分别代表用户和项目的潜在因子。这些潜在因子捕获数据中的底层模式,使模型能够预测用户与他们尚未遇到的项目交互的可能性。
该过程通过将原始交互矩阵近似为用户矩阵和项目矩阵的乘积来实现。例如,如果您有一个矩阵,其中行代表用户,列代表项目,则每个条目可能表示用户观看产品的次数。矩阵分解将其分解为两个矩阵:一个包含用户嵌入(每个用户的潜在特征),另一个包含项目嵌入(每个项目的潜在特征)。用户嵌入和项目嵌入的点积估计用户对该项目的偏好。为了处理隐式反馈,模型通常将所有观察到的交互视为正信号,并将未观察到的交互视为负数据或缺失数据的混合。一种常见的方法,例如加权交替最小二乘法 (WALS) 算法,为观察到的交互分配更高的置信度,为未观察到的交互分配更低的置信度,从而避免了缺失数据等于不喜欢的假设。
实现此技术的开发人员可能会使用 Python 的 implicit
或 Apache Spark 的 ALS(交替最小二乘法)等库。例如,音乐流媒体服务可以使用隐式反馈(例如,播放次数)来推荐歌曲。该模型将分解用户歌曲播放矩阵,学习用户(例如,流派偏好)和歌曲(例如,节奏或艺术家风格)的潜在特征,并预测用户接下来可能播放哪些歌曲。挑战包括处理稀疏性(大多数用户-项目对没有交互)和选择超参数,例如潜在因子的数量。尽管存在这些挑战,但隐式反馈的矩阵分解仍然被广泛使用,因为它具有良好的可扩展性,并且无需依赖显式用户输入即可提供可操作的见解。