【王树森推荐系统】重排04:DPP 多样性算法(上)

发布于:2025-07-15 ⋅ 阅读:(18) ⋅ 点赞:(0)

概述

  • DPP 的中文翻译是行列式点过程,机器学习领域很早就有关于 DPP 的研究
  • DPP 的目标是从一个集合中选出尽量多样化的物品,这与我们重排的目标非常契合
  • DPP 是目前推荐系统领域(2022-11-06)公认最好的多样性算法

超平行体

二维空间的超平行体

  • 2 维空间的超平行体就是平行四边形
    在这里插入图片描述

  • 平行四边形中的点可以表示为:x=α1v1+α2v2x=\alpha_1v_1+\alpha_2v_2x=α1v1+α2v2。下图的红点落在平行四边形的正中心上
    在这里插入图片描述

  • 系数 α1\alpha_1α1α2\alpha_2α2 的取值范围是 [0,1][0,1][0,1]
    在这里插入图片描述

三维空间的超平行体

  • 3 维空间的超平行体是平行六面体
    在这里插入图片描述

  • 平行六面体中的点可以表示为:x=α1v1+α2v2+α3v3x=\alpha_1v_1+\alpha_2v_2+\alpha_3v_3x=α1v1+α2v2+α3v3

  • 系数 α1,α2,α3\alpha_1,\alpha_2,\alpha_3α1,α2,α3 的取值范围是 [0,1][0,1][0,1]

数学定义

  • 一组向量 v1,⋅⋅⋅,vk∈Rdv_1,···,v_k \in R^dv1,⋅⋅⋅,vkRd(这些向量是超平行体的边,它们都是 ddd 维向量) 可以确定一个 k 维超平行体:P(v1,⋅⋅⋅,vk)={α1v1+⋅⋅⋅+αkvk∣0≤α1,⋅⋅⋅,αk≤1}P(v_1,···,v_k)=\{\alpha_1v_1+···+\alpha_kv_k|0 \le \alpha_1,···,\alpha_k\le1\}P(v1,⋅⋅⋅,vk)={α1v1+⋅⋅⋅+αkvk∣0α1,⋅⋅⋅,αk1}
  • 要求 k≤dk\le dkd,比如 d=3d=3d=3 维空间中有 k=2k=2k=2 维平行四边形,但是在 d=2d=2d=2 维空间不能有 k=3k=3k=3 维的平行六面体
  • 如果 v1,⋅⋅⋅,vkv_1,···,v_kv1,⋅⋅⋅,vk 线性相关,则体积 vol(P)=0vol(P)=0vol(P)=0。(例:有 k=3k=3k=3 个向量,落在一个平面上,则平行六面体的体积为 0)

平行四边形的面积

  • 两个向量正交:两个向量的点积为 000
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

平行六面体的体积

在这里插入图片描述
在这里插入图片描述

衡量物品多样性

  • 给定 kkk 个物品,把它们表征为单位向量 v1,⋅⋅⋅,vk∈Rd(d≥k)v_1,···,v_k \in R^d(d \ge k)v1,⋅⋅⋅,vkRd(dk)
  • 之前说过最好用 CLIP 学到的图文内容进行表征,这些向量都是 ddd 维的,ddd 必须大于等于 kkk。为什么呢?:
    • 三维的空间中可以有二维的平行四边形,但是二维空间却不能有平行六面体
  • 用超平行体的体积衡量物品的多样性,体积介于 0 和 1 之间
  • 如果 v1,⋅⋅⋅,vkv_1,···,v_kv1,⋅⋅⋅,vk 两两正交(多样性好),则体积最大化,vol=1vol=1vol=1
  • 如果 v1,⋅⋅⋅,vkv_1,···,v_kv1,⋅⋅⋅,vk 线性相关(多样性差),则体积最小化,vol=0vol=0vol=0
  • 把它们作为矩阵 V∈Rd×kV \in R^{d×k}VRd×k
    在这里插入图片描述
  • d≥kd \ge kdk,行列式和体积满足:
    在这里插入图片描述
  • 因此,可以用行列式 det(VTV)det(V^TV)det(VTV) 衡量向量 v1,⋅⋅⋅,vkv_1,···,v_kv1,⋅⋅⋅,vk 的多样性

网站公告

今日签到

点亮在社区的每一天
去签到