推荐系统

一、第一性原理:推荐系统究竟在解决什么问题

1. 本质问题:连接的预测

推荐系统的本质,不是“推荐内容”,而是:

在不完全信息条件下,预测未来最有价值的 User–Item 连接。

这个定义直接推导出三个不可回避的事实:

  1. 连接是稀疏的(绝大多数用户不会接触绝大多数物品)
  2. 连接是有价值差异的(不是所有连接都等价)
  3. 连接发生在时间轴上(兴趣会变化)

因此,推荐系统天然是一个:


2. 为什么“预测”是唯一可行路径

系统想做的事情只有一件:

把未来可能发生的高价值连接,提前放到用户面前。

但系统只能观测到:

所以推荐系统只能:

从已发生的连接,学习一个生成未来连接的分布。

这决定了推荐系统永远不可能是确定性的规则系统,而必然是统计与学习系统。


二、问题空间:推荐系统的三类核心难题

1. 建模对象的选择

所有推荐算法,本质上只回答两个问题之一:

显式反馈 vs 隐式反馈

维度显式反馈隐式反馈
数据量
偏差强主观行为驱动
获取成本
工程可行性

工程结论:

现实系统几乎一定以隐式反馈为主,显式反馈为辅。


2. 三个系统性顽疾(不可被“解决”,只能被“管理”)

冷启动

没有历史连接,就无法基于历史连接做预测。

这是逻辑必然,不是算法缺陷。

探索–利用(EE)

如果只推荐“已知喜欢的”,系统将停止学习。

对抗与安全

推荐系统一旦影响分配,就必然被博弈。


三、系统抽象:推荐系统为什么一定是“闭环”

1. 推荐系统的最小闭环

任何可运行的推荐系统,至少包含:

  1. **内容结构化**(Item 表达)
  2. **用户结构化**(User 表达)
  3. **匹配与排序**(Scoring)
  4. **反馈回流**(Learning)

没有闭环,就不存在“推荐系统”,只有“规则展示”。


2. 为什么“画像”是必然中间态

用户画像不是目标,而是副产品:

它是“用户历史连接”的一种低维、可计算表达。

这直接决定了画像设计的两个自由度:

  1. 维度选择(表达什么)
  2. 维度量化(如何可计算)

不同系统的画像差异,源自业务目标差异,而非算法优劣。


四、算法族谱:所有推荐算法的统一视角

1. 近邻方法:基于相似性的直觉建模

核心假设只有一句话:

相似的用户,喜欢相似的物品。

局限的本质原因

因此近邻方法必然在规模扩大后失效。


2. 矩阵分解:对“相关性冗余”的结构性压缩

矩阵分解并不是“高级算法”,而是:

承认用户–物品矩阵中存在低秩结构。

隐因子向量的本质:

在一个抽象空间中,用最少维度解释最多共现关系。


3. 深度模型:表达能力的工程上限

双塔模型的成功,不在于“深度”,而在于:

这是工程约束驱动的架构,而非纯学术选择。


4. 排序学习:目标函数决定系统性偏差

结论:

你优化什么,系统就会“相信什么”。


五、工程分层:为什么一定是离线 / 近线 / 在线

这不是“最佳实践”,而是物理约束的直接结果。

层级时间能力不可做的事
离线小时–天全量学习实时响应
近线秒–分钟快速修正全局重训
在线毫秒即时决策复杂计算

任何试图打破这个分层的系统,最终都会回到它。


六、探索机制:Bandit 的真实角色

Bandit 不是“推荐算法”,而是:

在不确定性下分配试错预算的控制策略。

它解决的不是“推荐什么”,而是:


七、评估与实验:为什么 AB 测试必须正交

推荐系统没有绝对指标,只有对照变化

正交分流的本质是:

保证不同假设的统计独立性。

否则所有结论都不可信。


八、终局视角:推荐系统不是算法问题

推荐系统最终失败,极少是因为算法不够复杂,而是因为:

  1. 目标函数定义错误
  2. 数据闭环断裂
  3. 工程约束被忽视

最终结论:

推荐系统是一套"在不确定世界中做连续决策"的工程系统,而算法只是其中一个可替换部件。

关联内容(自动生成)