【第五章:计算机视觉-项目实战之推荐/广告系统】3.精排算法-(4)重排算法:MMR、DPP原理精讲
第五章:计算机视觉-项目实战之推荐/广告系统
第三部分:精排算法
第四节:重排算法:MMR、DPP原理精讲
一、重排算法的定位:推荐系统的“最后一公里优化”
在推荐系统中,整个推荐流程通常包括召回 → 粗排 → 精排 → 重排(Re-Rank)几个核心阶段。
召回阶段快速从海量候选集中找到相关的内容,粗排与精排则逐步精细化排序。而重排阶段,是推荐系统的最后一层“智控模块”,主要负责:
提升列表整体的多样性(Diversity)
避免推荐内容重复或相似度过高
平衡用户兴趣相关性与内容新颖性
根据上下文(如展示位置、曝光历史)进行全局优化
重排并非简单的“再排一次”,它的核心目标是通过一定的优化函数,在多个候选项目中选择最优组合,使整个推荐列表在相关性、多样性、覆盖率之间达到最优平衡。
二、MMR算法原理:最大边际相关性(Maximal Marginal Relevance)
MMR(Maximal Marginal Relevance)是最早用于文本信息检索的重排算法之一,但其思想被广泛应用于推荐系统中。
1. 核心思想
在MMR中,每次从候选集合中选择下一个item时,不仅要考虑其与用户兴趣的相关性(Relevance),还要考虑其与已选项目之间的相似性(Similarity)。
目标是:
选出的项目既“相关”又“不同”。
2. 公式定义
对于候选集合 ( S ),已选集合 ( R ),用户兴趣向量 ( u ),MMR定义如下:
其中:
:表示候选item与用户兴趣的相似度;
:表示两个item之间的相似度;
:控制相关性与多样性的权重参数。
3. 算法步骤
初始化:已选列表
计算所有候选项与用户兴趣的相关度;
每次选出一个使得MMR值最大的item加入R;
重复步骤2–3,直到达到所需数量。
4. 应用实例
在视频推荐系统中:
若召回出了大量同类型视频(如“篮球比赛”),MMR能保证选出部分与“足球”、“跑步”相关的内容;
避免推荐结果“千篇一律”。
5. 优缺点
| 优点 | 缺点 |
|---|---|
| 简单易实现、计算量小 | 相似度计算依赖Embedding质量 |
| 可直接在已有排序结果上二次优化 | λ参数难以精确调优 |
| 适用于多种任务场景 | 仅局部最优,缺乏全局优化能力 |
三、DPP算法原理:确定性点过程(Determinantal Point Process)
MMR是启发式的重排算法,而DPP(Determinantal Point Process)是一个概率建模框架,能从数学上更优地建模多样性。
1. 基本思想
DPP假设:
推荐集合中不同item之间的“相似性”可以用行列式来衡量。
行列式的值越大,说明item之间越“正交”(不相似),也就是列表多样性更强。
2. 数学定义
设候选集合为Y = {1, 2, ..., N},DPP为在该集合上的概率分布:
其中:
L 是一个正半定矩阵,称为核矩阵(Kernel Matrix)
是 L 的子矩阵,对应选择集合Y的行与列
:表示这些样本之间的“多样性体积”
更直观地说, 表示item i与item j的相似程度。
3. 目标优化形式
在推荐系统中,为了同时兼顾相关性(Relevance)与多样性(Diversity),通常定义:
其中:
:item的质量分数(与精排打分或用户兴趣相关)
:item i 和 item j 的相似度(常用余弦相似度)
最终目标是选择一个子集 ( Y ) 最大化下式:
4. 实际应用步骤
对候选集计算item的特征embedding;
计算质量分(相关性分数);
构建核矩阵 ( L );
使用贪心算法(Greedy)从中选取若干item;
输出多样化结果。
5. 优缺点分析
| 优点 | 缺点 |
|---|---|
| 数学解释性强,可同时优化相关性与多样性 | 计算复杂度高,尤其在大规模候选集上 |
| 理论保证子集分布多样性最优 | 需构建正定核矩阵,计算代价大 |
| 可扩展为条件DPP(Conditional DPP)形式 | 难以与深度模型直接联合训练 |
四、MMR与DPP的对比与融合实践
| 特性 | MMR | DPP |
|---|---|---|
| 理论基础 | 启发式排序 | 概率模型 |
| 优化目标 | 最大化相关性 - 相似性 | 最大化多样性体积 |
| 计算复杂度 | O(N²) | O(N³)(可用近似优化) |
| 应用场景 | 快速重排、线上优化 | 离线重排、多样性控制 |
| 解释性 | 强 | 强 |
| 可扩展性 | 高 | 依赖核矩阵规模 |
实践中,业界通常采用混合策略:
在主排序后先用MMR快速去冗余;
再用轻量化DPP模型做全局优化;
亦可在DPP核矩阵中嵌入MMR结果作为初筛。
五、重排算法在推荐系统中的价值体现
重排算法是推荐系统优化用户体验的关键一环,常见的应用效果包括:
多样化推荐:避免信息茧房;
曝光控制:平衡长尾内容与主流内容;
用户满意度提升:减少重复内容,提高停留时长;
系统目标平衡:兼顾CTR(点击率)、CVR(转化率)、Retention(留存率)。
典型的应用场景有:
电商首页推荐;
视频流内容推荐;
新闻推荐多样性优化;
搜索结果多目标融合。
六、总结
重排(Re-Rank)算法虽然处于推荐系统的最后阶段,却承担了关键的用户体验优化任务。
MMR算法:简单、实用、计算快,适用于在线去重与多样化初筛。
DPP算法:理论完备,能实现全局最优的多样性优化,但计算代价较高。
在现代推荐系统中,MMR+DPP的组合被广泛采用,通过不同粒度的优化,实现个性化推荐与多样化展示的统一,让系统既“懂你”,又“不腻味”。
延伸阅读:
Carbonell & Goldstein (1998). The Use of MMR for Text Summarization.
Kulesza & Taskar (2012). Determinantal Point Processes for Machine Learning.
Google AI Blog: Diversity-Aware Ranking in Large-Scale Recommender Systems.
