从协同过滤到深度学习:推荐算法演进与实战思考

loong
2026-01-13 / 0 评论 / 18 阅读 / 正在检测是否收录...

还记得第一次接触推荐系统时,我被协同过滤的简洁优雅所吸引。用户A和用户B喜欢相似的商品,那么A喜欢的另一个商品,B很可能也会喜欢。这个逻辑清晰得如同常识。

但很快,现实问题就来了。

新用户来了,没有任何历史行为,系统对他一无所知——这就是经典的“冷启动”问题。还有那款小众但精良的产品,因为购买的人少,永远无法进入主流推荐列表,被埋没在角落。

说实话,早期的协同过滤,更像是一个聪明的“记忆者”,而非“理解者”。

矩阵分解:从“记忆”到“潜藏特征”

为了解决稀疏性和可扩展性问题,矩阵分解(MF)登场了。它不再直接计算用户或物品的相似度,而是试图为每个用户和物品学习一组“潜藏特征”(latent factors)。

你可以把这想象成:系统不再说“喜欢《三体》的人也喜欢《流浪地球》”,而是说“用户A的特征向量是[科幻:0.9, 硬核:0.8, 宏大叙事:0.7],物品《三体》的特征向量也是类似的,所以匹配度高”。

这带来了质的飞跃。系统开始具备一定的泛化能力,能推断出新用户和新物品之间可能的联系。开源库如Surprise让实践变得容易,但调参——隐因子维度、学习率、正则化系数——成了新的玄学。

深度学习:让推荐系统“看见”和“理解”

然而,矩阵分解仍然主要依赖单一的评分或点击行为数据。物品本身的丰富信息(图片、文本描述、属性标签)和用户复杂的上下文行为序列,它难以有效利用。

深度学习的引入,改变了游戏规则。

它让推荐系统开始“看见”内容本身。

  • 特征交叉的自动化: Wide & Deep 模型清晰地展示了如何将记忆(Wide部分,处理稀疏特征交叉)与泛化(Deep部分,学习深层特征表示)结合。这不再是手动设计特征工程,而是让网络自己去学习哪些特征组合是重要的。
  • 对序列的建模: GRU4Rec、Transformer等模型,让系统能够理解用户行为不是一个孤立的点击集合,而是一个有时序逻辑的“故事”。昨天搜索了登山杖,今天浏览了冲锋衣,那么明天推荐露营帐篷的概率,应该高于推荐泳衣。这种序列建模能力,是传统方法难以企及的。
  • 多模态信息融合: 利用CNN处理商品图片,用BERT理解商品标题和评论,将这些多模态的嵌入向量融合进推荐模型。这意味着,即使是一个全新的商品,只要上传了图片和描述,系统也能根据其视觉和语义特征,找到可能感兴趣的用户。

实战中的几点“非技术”思考

技术很酷,但落地时,有些东西比模型本身更重要。

  1. 目标是什么? 是最大化点击率(CTR)、转化率(CVR),还是用户停留时长?或者是兼顾长期用户满意度?不同的目标需要不同的模型设计和损失函数。单纯优化CTR,很容易导致推荐内容越来越“标题党”和同质化。
  2. 数据是地基: 再先进的模型,喂给它糟糕的数据,也只能产出糟糕的结果。数据的一致性、实时性、覆盖率,往往比选择哪个模型影响更大。处理数据倾斜、定义有意义的负样本,是脏活累活,但至关重要。
  3. 系统与算法的平衡: 线上推荐系统是一个复杂的工程系统。模型的实时性要求、更新频率、AB测试框架、兜底策略、计算成本,这些工程约束常常决定了算法的天花板。一个离线AUC高1%但延迟增加50ms的模型,线上很可能负向。
  4. “意料之外”的惊喜: 完全精准的推荐,有时会让人感到乏味。需要引入一定的随机性、探索机制,或者基于多样性和新颖性的重排策略,给用户一些“小惊喜”,这对长期留存有益。

现在与未来:不是一个取代另一个

今天,最先进的工业级推荐系统,很少是单一模型打天下。它们更像一个分层、混合的生态系统:

  • 召回层: 快速从海量物品中筛选出几百个候选。这里可能同时运行着基于物品的协同过滤(Item-CF)、基于向量的语义检索(如双塔DNN)、热门榜单、地理召回等多种策略,确保 coverage 和多样性。
  • 排序层: 对召回的结果进行精准打分排序。这里是深度学习的主战场,复杂的CTR/CVR预估模型(如DeepFM、DIN、DIEN)在这里运行,综合上下文、用户实时行为序列进行精排。
  • 重排层: 考虑业务规则、多样性、新鲜度、商业价值等因素,对精排列表进行微调,生成最终展现给用户的列表。

所以,协同过滤被淘汰了吗?并没有。它以其简单可靠的特点,依然活跃在召回阶段,或作为冷启动的保底策略。深度学习的价值,在于它解决了更复杂、更接近本质的推理问题,并与其他技术协同工作。

写在最后

推荐系统的演进,是从“利用群体智慧”到“理解个体与内容”的深化过程。没有银弹,只有对业务场景、数据特性、用户心理的持续洞察,与技术的不断磨合。

下一次当你打开某个App,看到那个“猜你喜欢”的栏目时,或许可以想一想,这短短一屏的背后,是多少算法的协作与博弈。

而我们的工作,就是让这场博弈,最终导向用户的“啊哈,这正是我想要的”那一刻。

0