当前位置: 首页 > news >正文

【第五章:计算机视觉-项目实战之推荐/广告系统】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定义如下:

MMR = \arg\max_{d_i \in S \setminus R} [\lambda \cdot sim(u, d_i) - (1-\lambda) \cdot \max_{d_j \in R} sim(d_i, d_j)]

其中:

  • sim(u, d_i):表示候选item与用户兴趣的相似度;

  • sim(d_i, d_j):表示两个item之间的相似度;

  • \lambda:控制相关性与多样性的权重参数。

3. 算法步骤
  1. 初始化:已选列表 R = \emptyset 

  2. 计算所有候选项与用户兴趣的相关度;

  3. 每次选出一个使得MMR值最大的item加入R;

  4. 重复步骤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为在该集合上的概率分布:

P_L(Y) \propto \det(L_Y)

其中:

  • L 是一个正半定矩阵,称为核矩阵(Kernel Matrix)

  • L_Y 是  L  的子矩阵,对应选择集合Y的行与列

  • \det(L_Y):表示这些样本之间的“多样性体积”

更直观地说,L_{ij} 表示item i与item j的相似程度。

3. 目标优化形式

在推荐系统中,为了同时兼顾相关性(Relevance)多样性(Diversity),通常定义:

L_{ij} = q_i q_j s_{ij}

其中:

  • q_i:item的质量分数(与精排打分或用户兴趣相关)

  • s_{ij}:item i 和 item j 的相似度(常用余弦相似度)

最终目标是选择一个子集 ( Y ) 最大化下式:

\arg\max_Y \det(L_Y)

4. 实际应用步骤
  1. 对候选集计算item的特征embedding;

  2. 计算质量分(相关性分数);

  3. 构建核矩阵 ( L );

  4. 使用贪心算法(Greedy)从中选取若干item;

  5. 输出多样化结果。

5. 优缺点分析
优点缺点
数学解释性强,可同时优化相关性与多样性计算复杂度高,尤其在大规模候选集上
理论保证子集分布多样性最优需构建正定核矩阵,计算代价大
可扩展为条件DPP(Conditional DPP)形式难以与深度模型直接联合训练

四、MMR与DPP的对比与融合实践

特性MMRDPP
理论基础启发式排序概率模型
优化目标最大化相关性 - 相似性最大化多样性体积
计算复杂度O(N²)O(N³)(可用近似优化)
应用场景快速重排、线上优化离线重排、多样性控制
解释性
可扩展性依赖核矩阵规模

实践中,业界通常采用混合策略

  • 在主排序后先用MMR快速去冗余;

  • 再用轻量化DPP模型做全局优化;

  • 亦可在DPP核矩阵中嵌入MMR结果作为初筛。


五、重排算法在推荐系统中的价值体现

重排算法是推荐系统优化用户体验的关键一环,常见的应用效果包括:

  1. 多样化推荐:避免信息茧房;

  2. 曝光控制:平衡长尾内容与主流内容;

  3. 用户满意度提升:减少重复内容,提高停留时长;

  4. 系统目标平衡:兼顾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.


http://www.dtcms.com/a/544785.html

相关文章:

  • Xamarin.Forms菜鸟笔记--10.获取点击/滑动 Image位置
  • 网络环路“侦探”指南:如何快速定位与根除网络风暴
  • Android 自定义Switch
  • HBuilder 上架 iOS 应用全流程指南:从云打包到开心上架(Appuploader)上传的跨平台发布实践
  • PHP基础知识
  • Obsidian 入门教程
  • 响应式购物网站模板广州网站优化电话
  • 中山 网站建设 骏域做ag视频大全网站
  • Vue二进制数据渲染成图片
  • 未来智能网联汽车的网络安全档案建立方法
  • 防止表单重复提交功能简单实现
  • 网络安全等级保护测评高风险判定实施指引(试行)--2020与2025版对比
  • Squid 可观测性最佳实践
  • 【深度学习新浪潮】DeepSeek-OCR深度解析:视觉-文本压缩驱动的新一代OCR技术革命
  • 官方网站建设投标书网站建设包含哪些
  • 相应式手机网站建设网站建设专员一定要会网站建设吗
  • 手机云台ESD整改案例-阿赛姆电子
  • 拆解ASP.NET MVC 核心优势:松耦合、易测试、SEO 友好、RESTful 实战指南
  • 远期合约和期权合约的区别是什么?
  • 2025年国内数字化档案管理软件选型速览
  • 基于FPGA的雷达信号处理设计工具包分享
  • 基于MATLAB的多机器人编队控制系统设计与实现
  • 网站建设计划表模板西安的网站设计单位
  • linux Debian 12 安装 Docker(手动)
  • 天津网站建设培训wordpress网页如何公开
  • 从零到一:用仓颉语言打造你的第一个鸿蒙应用
  • VUE的“单向数据绑定” 和 “双向数据绑定”
  • Profile-Guided Optimization(PGO):Rust 性能优化的终极武器
  • 仓颉FFI实战:C/C++互操作与性能优化
  • FAQ09934:相机prevew时候出现水印问题