在《推荐系统(二)协同过滤》一文中,笔者介绍了如何使用矩阵分解来学习嵌入。矩阵分解具有一些局限性:
- 基础矩阵分解只用了 UserID(QueryID) 和 ItemID 两个维度的信息,所有学到的知识都蕴含在 User 向量和 Item 嵌入中。可解释性差,同时,学习过程中很难融合更多有用的特征,比如用户的统计学信息(收入水平、学历、年龄、人生阶段等)以及商品的基础特征信息,如类目、品牌等。因而,基础矩阵分解的泛化能力受到一定的限制。
- 因子分解机(FM)可以看做是基础矩阵分解的推广,它能够很好地融入更多维度的特征,从而学到的模型泛化能力更强,具体可以参考这篇文章:《主流CTR模型的演化及对比》。
- 矩阵分解很难增量在线计算,从而不能处理用户的实时行为反馈,只能基于历史行为来计算。没有实时处理能力的推荐系统必然不会是一个好的推荐系统,比如,京东双11活动,当天的用户行为模式必然与平时的行为模式很不一样,推荐系统如果不能处理当天用户的实时行为,及时捕获用户的新的偏好,将会使得推荐效果大打折扣。
深度神经网络 (DNN) 模型可以解决矩阵分解的这些局限性。DNN 可以轻松地合并 User 特征和 Item 特征(由于网络输入层的灵活性),从而帮助捕获用户的特定兴趣并提高推荐的相关性。
目录