首页 > 其他分享 >Practical Diversified Recommendations on YouTube with Determinantal Point Processes

Practical Diversified Recommendations on YouTube with Determinantal Point Processes

时间:2023-03-17 17:35:08浏览次数:47  
标签:subset Processes Point text Diversified det mathscr mathcal items

目录

Wilhelm M., Ramanathan A., Bonomo A., Jain S., Chi E. H. and Gillenwater J. Practical diversified recommendations on youtube with determinantal point processes. In International Conference on Information and Knowledge Management (CIKM), 2018.

本文利用 Determinatal Point Process (DPP) 来提高推荐 list 的多样性. 虽然是工业界的产物, 但是感觉还是挺好玩的.

Motivation

  • 一般情况, 我们会用如下的方式

    \[q_i \approx \mathbb{P}(y_i = 1| \text{features of item } i) \]

    来定义在某个 item 的质量 (quality), 其中 \(y_i = 1\) 表示产生交互 (比如被点击, 被购买) 行为.

  • 但是往往相似的 items 具有相近的 quality. 反言之, 如果仅仅根据 quality 进行推荐, 容易重复地推荐类似的 items, 显然这不是一个好的策略. 所以, 在实际中我们还需要考虑推荐列表中物品的相似度, 这可以用如下方式来刻画, 如果 \((i, j)\) 满足

    \[\mathbb{P}(y_i = 1, y_j = 1) \ll \mathbb{P}(y_i = 1) \mathbb{P}(y_j = 1), \]

    那么可以说 \((i, j)\) 是相似的, 互斥的. 因为上面的不等式说明 \((i, j)\) 是难以同时被选择的.

DPP

  • 令 \(\mathcal{S} = \{1, 2, \ldots, N\}\) 表示所有的 items, 然后我们希望构造一个分布 \(\mathscr{P}\), 它定义在 \(S \subset \mathcal{S}\) 之上, 即给定任意 \(S \subset \mathcal{S}\),

    \[\mathscr{P}(S) \]

    给出了选择 \(S\) 中的 items 的概率. 自然地, 应当满足:

    \[\sum_{S \subset \mathcal{S}}\mathscr{P}(S) = 1. \]

  • 且为了满足上述的多样性的需求, \(\mathscr{P}\) 应当更加注重那些高质量但内部相似度较低的子集 \(S\).

  • 假设我们已经预先设定了指标 \(L_{ij}\) 用于刻画 items \((i, j)\) 间的某种关系 (后续会介绍怎么构造是合理的), 则本文采用如下的分布的构造方案:

    \[\mathscr{P}(Y) = \frac{\text{det}(L_Y)}{\sum_{S \subset \mathcal{S}} \text{det} (L_S) }. \]

  • 注意到, 行列式实际上行向量所构成的超平行多面体的体积 (here), 我们可以认为行列式越大, 那么所选的子集 \(Y\) 的'覆盖' 范围越大, 那么推荐效果越好.

  • 举一个二维的例子:

    \[L_Y = \left [ \begin{array}{ll} L_{11} & L_{12} \\ L_{21} & L_{22} \\ \end{array} \right ], \]

    \[\text{det}(L_Y) = L_{11} L_{22} - L_{12} L_{21}, \]

    如果 \(L_{11}, L_{22}\) 代表质量, \(L_{12}, L_{21}\) 代表相似度, 那么 \(\text{det}(L_Y)\) 越大说明 \(Y=\{1, 2\}\) 这一子集质量高, 多样性也好.

  • 作者给出了两种策略用来构建 \(L\):

    1. Kernel parameterization:

      \[L_{ii} = q_i^2, \\ L_{ij} = \alpha q_i q_j \exp(- \frac{D_{ij}}{2 \sigma^2}), \: i \not = j. \]

      通过调节 \(\alpha\) 可以控制推荐尽可能小而美 (较大的 \(\alpha\)) 或者大而粗 (较小的 \(\alpha\)). 不过缺点是 \(\alpha\) 过大可能导致 \(L\) 不是半正定的, 此时需要我们每次重新将矩阵 project 到半正定的空间中去, 这不是一个好办法 (费时费力).

    2. Deep Gramain Kernels 则是自动学习这样的一个矩阵:

      \[L_{ij} = f(\bm{q}_i) \bm{g}^T(\phi_i) \bm{g}(\phi_j) f(\bm{q}_j) + \delta \mathbb{1}_{i=j}. \]

      大致流程如下:

  • 很容易发现, 在这种情况下搜索一个大小为 \(k\) 的子集是一个 NP-hard 的问题, 所以作者在实际上使用中是采用一种贪心算法. 即每次选择一个 item 使得

    \[\mathop{\text{argmax}} \limits_{v \in \text{remaining videos}} \text{det}(L_{Y\cup v}). \]

注: 贪心算法其实不需要计算实际的概率, 不过我在论文中看到了一个很有趣的性质:

\[\sum_{S \subset \mathcal{S}} \text{det}(L_S) = \text{det}(L + I). \]

很有趣, 通过对角拆分应该是好证明的.

标签:subset,Processes,Point,text,Diversified,det,mathscr,mathcal,items
From: https://www.cnblogs.com/MTandHJ/p/17227600.html

相关文章

  • SetFilePointerEx函数释义以及用法
    一、函数介绍SetFilePointerEx是一个WindowsAPI函数,用于设置文件指针的位置。它可以在文件中移动指针,以便读取或写入文件的不同部分。这个函数通常用于处理大型文件或需......
  • SharePoint 通过JavaScript获取UserProfile文件
    前言最近又收到一个需求,需要通过JavaScript代码,获取用户的一些属性。好的,我们有API可以做,安排!正文1.获取UserProfiles的脚本,通过Get方式获取,我这里比较......
  • SharePoint Online 获取Audit Log
    前言我们在使用SharePointOnline的时候,经常有用户希望获取AuditLog。正文我们都知道,SharePointOnline的AuditLog都保存在管理中心,这里,我就从网上找......
  • SharePoint Online 开启访问权限申请
    前言最近的项目,用户访问我们的站点,总提示没有权限,用户就问能不能自助申请权限访问?没问题,安排!正文1.我们进入网站设置-网站集管理员页面,如下图:......
  • SharePoint Online Hub Site
    前言最近发现SharePointOnline站点一个好玩的功能,叫做HubSite。正文1.我们先看一下效果,正常SharePoint站点的导航是蓝色下划线的,但是,站点还可以有一......
  • Docker CLI docker checkpoint常用命令
    Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的Linux或Windows操作系统的机器上,也可以实现虚拟化。Doc......
  • CheckPoint R81.20 版本测试
    测试网络拓扑图:本测试采用虚拟化的方式进行分布式部署:Smartcenter硬件配置:CPU 4CRAM 16GDisk  120GGateway硬件配置:CPU 8CRAM 32GDisk  120G初......
  • 4.docker错误Error response from daemon: driver failed programming external conne
    1.docker端口映射或启动容器时报错Errorresponsefromdaemon:driverfailedprogrammingexternalconnectivityonendpointquirky_allenErrorresponsefromdaemon......
  • 如何通过C#/VB.NET从PowerPoint文档中提取图片
    PowerPoint是用于制作幻灯片(演示文稿)的应用软件,每张幻灯片中都可以包含文字、图形、图形、表格、声音和影像等多种信息。有时候我们发现在PPT里面有一些精美的图片,或者其他......
  • B. Ideal Point
    B.IdealPoint思路首先删除不包含点k的线段,因为这些线段对使\(f(k)>f(x)\)没有贡献然后再考虑剩余的线段中覆盖得到的f(x)最大值是否唯一(由于前面的处理,所有线段均......