1. 多臂赌博机框架(Multi-Armed Bandit)
- 原理:将每个推荐项视为一个“老虎机摇臂”,通过动态平衡“尝试新摇臂(探索)”和“选择当前收益最高摇臂(利用)”来最大化长期收益。
- 技术实现:
- ε-Greedy:以概率 ε 随机推荐(探索),以概率 1-ε 选择当前最优项(利用)。
- Thompson Sampling:基于贝叶斯后验分布,为每个项目估计收益概率分布,优先选择概率样本最高的项目,天然平衡探索与利用。
- Upper Confidence Bound(UCB):选择置信区间上界最大的项目,公式为:
[
\text{UCB} = \hat{\mu}_i + \sqrt{\frac{2 \ln T}{n_i}}
]
其中 (\hat{\mu}_i) 是当前平均收益,(n_i) 是尝试次数,(T) 是总尝试次数。未充分尝试的项目会因第二项增大而被探索。
2. 上下文感知探索(Contextual Bandit)
- 结合用户/物品特征(上下文),学习一个收益预测模型。
- LinUCB:在线性模型假设下计算置信区间,适用于特征丰富的场景(如新闻推荐)。
- 可扩展为深度学习版本(Neural Bandits),用神经网络替代线性模型。
3. 基于模型的推荐中的探索策略
- 在协同过滤/矩阵分解中:
- 在损失函数中加入不确定性正则项,引导模型关注训练不足的用户-物品对。
- 使用概率矩阵分解(PMF),通过后验方差量化不确定性,优先推荐方差大的物品(探索)。
- 在深度学习模型中:
- 在 embedding 空间中进行扰动,生成“相似但未见过”的候选集。
- 通过变分自编码器(VAE) 或 贝叶斯神经网络 估计预测不确定性,优先推荐高不确定性物品。
4. 融合探索的排序调整
- 重排序策略:
- 贪心探索:在排序 top-N 中插入一定比例的随机新物品。
- 多样性重排:使用 MMR(Maximal Marginal Relevance)等算法,在相关性和新颖性间权衡。
- EE(Explore-Exploit)模块:在召回或粗排阶段输出多种类型候选集(热门、长尾、新颖),在精排阶段通过加权分数或多目标学习平衡。
5. 强化学习方法
- 将推荐建模为序列决策问题,通过强化学习(RL)最大化长期收益。
- Q-Learning / DQN:学习状态(用户历史)下推荐动作(物品)的长期价值,通过 ε-greedy 或 Boltzmann 探索策略选择动作。
- 策略梯度方法(如 REINFORCE):直接学习推荐策略,通过熵正则化鼓励探索。
- 应用案例:YouTube 视频推荐、新闻流排序。
6. 基于不确定性的探索
- 贝叶斯方法:
- 为模型参数引入概率分布(如高斯过程),通过后验方差量化预测不确定性。
- 使用贝叶斯个性化排序(BPR) 的扩展版本,优先推荐预测分高且不确定性大的物品。
- 集成学习:
- 训练多个模型(如不同初始化、子采样数据),用模型间的预测方差衡量不确定性。
- 应用:Facebook 的 Ensemble Exploration。
7. 长期价值评估探索
- 不只看即时点击率(CTR),引入长期指标(如用户活跃度、留存率)。
- 多目标优化:将探索作为独立目标,与点击率、时长等联合优化。
- 离线评估探索效果:通过模拟器或用户历史数据评估不同探索策略的长期影响(如 Replay 方法)。
8. 冷启动场景的特殊处理
- 用户冷启动:在用户行为稀疏时,采用基于人口统计/场景的泛化推荐,逐步个性化。
- 物品冷启动:
- 利用内容特征(文本、图像)进行相似性推荐。
- Bandit 结合内容特征:如 LinUCB 快速学习新物品的性能。
- 曝光加权:对新物品进行流量倾斜(如“热度衰减”策略)。
9. 工业级系统设计
- 分层探索架构:
- 召回层:使用多种召回策略(热门、协同过滤、内容相似、随机探索)。
- 排序层:模型分数与探索分数(如不确定性、新颖性)融合。
- 重排层:考虑多样性、公平性、探索性的规则调整。
- 在线实验与调控:
- A/B 测试探索参数(如随机比例、Bandit 算法)。
- 监控探索指标(如长尾物品曝光占比、用户满意度变化)。
技术挑战与趋势
- 探索效率:避免无效探索(如推荐完全不相关的内容)。
- 个性化探索:根据用户历史探索意愿调整策略(如对新用户更激进探索)。
- 跨域探索:利用其他领域知识辅助探索(如视频推荐中的音乐偏好迁移)。
- 可解释探索:让用户感知探索逻辑(如“猜你喜欢”标签),提升接受度。
平衡探索与利用需结合业务场景:视频平台侧重多样性探索防止疲劳,电商平台需保证推荐准确性减少干扰。当前趋势是自适应探索——根据用户实时反馈动态调整策略,并通过离线仿真和在线学习持续优化。