Determinantal point process 入门

Determinantal point process 入门


1. 什么是“行列式点过程”

在机器学习(ML)中,子集选择问题的目标是从 ground set 中选择具有高质量但多样化的 items 的子集。这种高质量和多样性的平衡在 ML 问题中经常通过使用行列式点过程(determinantal point process,DPP)来保持,其中 DPP 赋予子集上的分布能够使得选择两个相似项的概率是(反)相关的。

虽然 DPPs 在随机几何(Stochastic Geometry,SG)中已被广泛地用于建模点间斥力(inter-point repulsion)问题,但它们对 ML 应用尤其有益,因为它们的分布参数可以从训练集中有效地学习到。

DPP 包括两个概念

  • 行列式过程
  • 点过程

行列式点过程 P \mathcal P P 是在一个离散有限基本点集 Y = { 1 , 2 , ⋯   , N } \mathcal Y=\{1,2,\cdots, N\} Y={1,2,,N}幂集 2 Y 2^{\mathcal Y} 2Y(所有子集, 包括空集和全集,构成的集合)上定义的概率分布

幂集(Power Set):就是原集合中所有的子集(包括全集和空集)构成的集族。 设 X \mathcal X X 是一个有限集, ∣ X ∣ = k |\mathcal X| = k X=k,则 X \mathcal X X 的幂集的势为 2 k 2^k 2k
Determinantal point process 入门_第1张图片

A ⊆ Y A \subseteq \mathcal Y AY 是一个固定的子集, Y Y Y 是根据 DPP 从 Y \mathcal Y Y 中随机生成的一些点构成的一个子集( Y ∼ P Y \sim \mathcal P YP),则
P ( A ⊆ Y ) = det ⁡ ( K A ) P(A \subseteq Y) =\det(K_A) P(AY)=det(KA)

其中 ∣ Y ∣ = N \vert \mathcal Y \vert=N Y=N K K K 是 similarity matrix,是 N × N N \times N N×N 的实对称半正定方阵。 K A K_A KA K K K 的与 A A A 中元素在 Y \mathcal Y Y 中的标号相对应的元素构成子方阵。

一般来说, K K K 不一定需要是对称的。然而,为了简单起见,我们继续使用这个假设,而且这不是一个有影响的限制。

对于任意 A ⊆ Y A \subseteq \mathcal Y AY P ( A ⊆ Y ) = det ⁡ ( K A ) ∈ [ 0 , 1 ] P(A \subseteq Y) =\det(K_A) \in [0,1] P(AY)=det(KA)[0,1],因此 K K K 的所有特征值与主子式都满足处于 [ 0 , 1 ] [0,1] [0,1],由此可知 K K K 半正定( 0 ⪯ K ⪯ I \mathbf 0 \preceq K \preceq \mathbf I 0KI)。

主子式:任选 i i i i i i 列的子方阵。注意区别于顺序主子式

Determinantal point process 入门_第2张图片

从上图也可以看出抽象的表示, K K K 也被称为边缘核,因它确定了 DPP 的边缘分布:
P ( A ⊆ Y ) = ∑ Y ′ : Y ′ ⊇ A P ( Y = Y ′ ) P(A \subseteq Y) =\sum_{Y':Y' \supseteq A} P(Y=Y') P(AY)=Y:YAP(Y=Y)
A = { i } A=\{i\} A={i},有 P ( i ∈ Y ) = K i , i P(i \in Y)=K_{i,i} P(iY)=Ki,i。也就是说, K K K 的对角线给出了单个元素包含于 Y Y Y Y Y Y 中包含有单个元素的子集)的边缘概率。

且我们定义 det ⁡ ( K ∅ ) = 1 \det(K_{\varnothing}) =1 det(K)=1,即任意一个 DPP 生成的随机过程选中的点构成的集合都包含空集

如果 A = { i , j } A=\{i,j\} A={i,j},那么有
P ( A ⊆ Y ) = ∣ K i , i K i , j K j , i K j , j ∣ = K i , i K j , j − K i , j K j , i = P ( i ∈ Y ) P ( j ∈ Y ) − K i , j 2 \begin{aligned} P(A \subseteq Y)& = \begin{vmatrix} K_{i,i} & K_{i,j} \\ K_{j,i} & K_{j,j} \end{vmatrix} = K_{i,i} K_{j,j} - K_{i,j} K_{j,i} \\ &=P(i \in Y)P(j \in Y)-K_{i,j}^2 \end{aligned} P(AY)=Ki,iKj,iKi,jKj,j=Ki,iKj,jKi,jKj,i=P(iY)P(jY)Ki,j2

因此,非对角元素(对称导致了 K j , i = K i , j K_{j,i} = K_{i,j} Kj,i=Ki,j)表示成对元素之间的(反)相关度量 K i , j K_{i,j} Ki,j 值越大,表示 i i i j j j 越不可能同时出现。如果我们把边缘核的项看作是 Y Y Y成对元素之间相似性的度量,那么高度相似的元素不太可能同时出现。

相似性度量如下:
Determinantal point process 入门_第3张图片
注意 K i , j K_{i,j} Ki,j 的值与 i i i j j j 之间的距离成反比。这就意味着距离越近的点越不容易成对出现。所以 DPP 采样的点比独立采样覆盖的范围更好。
例如:
Determinantal point process 入门_第4张图片

例如当 K i , j = K i , i K j , j K_{i,j} = \sqrt{K_{i,i} K_{j,j}} Ki,j=Ki,iKj,j ,则有 P ( { i , j } ⊆ Y ) = 0 P(\{i,j\} \subseteq Y)=0 P({i,j}Y)=0 表示 { i , j } \{i,j\} {i,j} 几乎肯定不会同时出现。相反,对角元素表示没有与其他元素的相关性,因此元素独立出现。
以上就是一些大致的 DPP 概念。结合上面的图,可以理解论文中反复强调的一句话:Correlations are always negative in DPPs!

1.1 conditioning

条件概率的推导需要用到矩阵的 Schur Complement(舒尔补)参考链接;参考链接;参考链接:
若矩阵 Σ \Sigma Σ 分块如下
Σ = [ Σ 11 Σ 12 Σ 21 Σ 22 ] \Sigma = \left[ \begin{array}{cc} \Sigma_{11} & \Sigma_{12} \\ \Sigma_{21} & \Sigma_{22} \end{array} \right] Σ=[Σ11Σ21Σ12Σ22]
则存在以下关系
∣ Σ ∣ = ∣ Σ 11 − Σ 12 Σ 22 − 1 Σ 21 ∣ ∣ Σ 22 ∣ ∣ Σ ∣ = ∣ Σ 22 − Σ 21 Σ 11 − 1 Σ 12 ∣ ∣ Σ 11 ∣ \begin{aligned} \begin{vmatrix} \Sigma \end{vmatrix} &=\begin{vmatrix}\Sigma_{11}-\Sigma_{12}\Sigma_{22}^{-1}\Sigma_{21}\end{vmatrix} \begin{vmatrix}\Sigma_{22}\end{vmatrix} \\ \begin{vmatrix} \Sigma \end{vmatrix} &=\begin{vmatrix}\Sigma_{22}-\Sigma_{21}\Sigma_{11}^{-1}\Sigma_{12}\end{vmatrix} \begin{vmatrix}\Sigma_{11}\end{vmatrix} \end{aligned} ΣΣ=Σ11Σ12Σ221Σ21Σ22=Σ22Σ21Σ111Σ12Σ11
这里我们命名
∣ Σ / Σ 22 ∣ = ∣ Σ 11 − Σ 12 Σ 22 − 1 Σ 21 ∣ ∣ Σ / Σ 11 ∣ = ∣ Σ 22 − Σ 21 Σ 11 − 1 Σ 12 ∣ S 22 = Σ 11 − Σ 12 Σ 22 − 1 Σ 21 S 11 = Σ 22 − Σ 21 Σ 11 − 1 Σ 12 \begin{aligned} \begin{vmatrix} \Sigma/\Sigma_{22} \end{vmatrix} &=\begin{vmatrix}\Sigma_{11}-\Sigma_{12}\Sigma_{22}^{-1}\Sigma_{21}\end{vmatrix} \\ \begin{vmatrix} \Sigma/\Sigma_{11} \end{vmatrix} &=\begin{vmatrix}\Sigma_{22}-\Sigma_{21}\Sigma_{11}^{-1}\Sigma_{12}\end{vmatrix} \\ S_{22} &= \Sigma_{11}-\Sigma_{12}\Sigma_{22}^{-1}\Sigma_{21}\\ S_{11}&=\Sigma_{22}-\Sigma_{21}\Sigma_{11}^{-1}\Sigma_{12} \end{aligned} Σ/Σ22Σ/Σ11S22S11=Σ11Σ12Σ221Σ21=Σ22Σ21Σ111Σ12=Σ11Σ12Σ221Σ21=Σ22Σ21Σ111Σ12
这样,我们就称作 S 11 S_{11} S11 为矩阵 Σ \Sigma Σ 关于 Σ 11 \Sigma_{11} Σ11 的舒尔补。

Determinantal point process 入门_第5张图片

P ( B ⊆ Y ∣ A ⊆ Y ) = P ( A ∪ B ⊆ Y ) P ( A ⊆ Y ) = det ⁡ ( K A ∪ B ) det ⁡ ( K A ) = ∣ K B − K B A K A − 1 K A B ∣ ∣ K A ∣ ∣ K A ∣ = det ⁡ ( K B − K B A K A − 1 K A B ) \begin{aligned} P(B \subseteq Y \vert A \subseteq Y ) &= \frac{P(A\cup B \subseteq Y )}{P( A \subseteq Y )} \\ &=\frac{\det(K_{A \cup B})}{\det(K_A)}= \frac{\begin{vmatrix} K_{B}-K_{BA} K_{A}^{-1} K_{AB}\end{vmatrix} \begin{vmatrix} K_{A}\end{vmatrix} }{\begin{vmatrix} K_{A}\end{vmatrix} } \\ &=\det(K_{B}-K_{BA} K_{A}^{-1} K_{AB}) \end{aligned} P(BYAY)=P(AY)P(ABY)=det(KA)det(KAB)=KAKBKBAKA1KABKA=det(KBKBAKA1KAB)


2. L-ensembles

然而为了对真实数据建模,DPPs 的构造不通过边缘核函数 K K K,而通过 L-ensembles 来定义。L-ensembles 通过一个正的、半定矩阵 L L L 来定义 DPP(说白了,其实就是把 L L L 替换掉 K K K)。

P L ( Y ) ∝ det ⁡ ( L Y ) P_L(Y) \propto \det(L_Y) PL(Y)det(LY)

Determinantal point process 入门_第6张图片
然而上面的公式只能表示一种比例关系,需要进一步归一化才能表征概率。那么怎么归一化?
首先计算
∑ Y ⊆ Y det ⁡ ( L Y ) \sum_{Y \subseteq \mathcal Y} \det (L_Y) YYdet(LY)
在这里,借助行列式加法性质
∣ a 11 + 1 a 12 a 21 a 22 ∣ = ∣ a 11 a 12 a 21 a 22 ∣ + ∣ 1 a 12 0 a 22 ∣ \begin{aligned} \begin{vmatrix} a_{11}+1 & a_{12} \\ a_{21} & a_{22} \end{vmatrix} = \begin{vmatrix} a_{11} & a_{12} \\ a_{21} & a_{22} \end{vmatrix} + \begin{vmatrix} 1 & a_{12} \\ 0 & a_{22} \end{vmatrix} \end{aligned} a11+1a21a12a22=a11a21a12a22+10a12a22

找到一种推理规律

det ⁡ ( L + I ) = ∣ L 11 + 1 L 12 L 21 L 22 + 1 ∣ = ∣ L 11 L 12 L 21 L 22 + 1 ∣ + ∣ 1 0 L 21 L 22 + 1 ∣ = ∣ L 11 L 12 L 21 L 22 ∣ + ∣ L 11 L 12 0 1 ∣ + ∣ 1 0 L 21 L 22 ∣ + ∣ 1 0 0 1 ∣ = det ⁡ ( { 1 , 2 } ) + det ⁡ ( { 1 } ) + det ⁡ ( { 2 } ) + det ⁡ ( ∅ ) \begin{aligned} \det(L+\mathbf I) &= \begin{vmatrix} L_{11}+1 & L_{12} \\ L_{21} & L_{22}+1 \end{vmatrix} = \begin{vmatrix} L_{11} & L_{12} \\ L_{21} & L_{22}+1 \end{vmatrix} + \begin{vmatrix} 1 & 0\\ L_{21} & L_{22}+1 \end{vmatrix} \\ &=\begin{vmatrix} L_{11} & L_{12} \\ L_{21} & L_{22} \end{vmatrix} + \begin{vmatrix} L_{11} & L_{12} \\ 0 & 1 \end{vmatrix}+ \begin{vmatrix} 1 & 0\\ L_{21} & L_{22} \end{vmatrix} + \begin{vmatrix} 1 & 0 \\ 0 & 1 \end{vmatrix}\\ &= \det(\{1,2\})+ \det(\{1\})+ \det(\{2\})+ \det(\varnothing) \end{aligned} det(L+I)=L11+1L21L12L22+1=L11L21L12L22+1+1L210L22+1=L11L21L12L22+L110L121+1L210L22+1001=det({1,2})+det({1})+det({2})+det()
上面两个元素可以推广到任意 N N N 个元素的情形。所以,得到
∑ Y ⊆ Y det ⁡ ( L Y ) = det ⁡ ( L + I ) \sum_{Y \subseteq \mathcal Y} \det (L_Y) = \det(L+\mathbf I) YYdet(LY)=det(L+I)
最终可以得到归一化的概率形式:

P L ( Y = Y ) = det ⁡ ( L Y ) ∑ Y ⊆ Y det ⁡ ( L Y ) = det ⁡ ( L Y ) det ⁡ ( L + I ) P_L(\mathbf Y=Y) = \frac{\det(L_Y)}{\sum_{Y \subseteq \mathcal Y} \det (L_Y) }= \frac{\det(L_Y)}{ \det(L+\mathbf I) } PL(Y=Y)=YYdet(LY)det(LY)=det(L+I)det(LY)
回顾边缘核确定的 DPP 的边缘分布:
P ( A ⊆ Y ) = ∑ Y ′ ⊇ A P ( Y = Y ′ ) = det ⁡ ( K A ) = ∑ Y ′ ⊇ A det ⁡ ( L Y ′ ) det ⁡ ( L + I ) = 1 det ⁡ ( L + I ) ∑ Y ′ ⊇ A det ⁡ ( L Y ′ ) \begin{aligned} P(A \subseteq \mathbf Y) &=\sum_{Y' \supseteq A} P(\mathbf Y=Y')=\det(K_A) \\ &= \sum_{Y' \supseteq A} \frac{\det(L_{Y'})}{ \det(L+\mathbf I) } = \frac{1}{ \det(L+\mathbf I) } \sum_{Y' \supseteq A} \det(L_{Y'}) \end{aligned} P(AY)=YAP(Y=Y)=det(KA)=YAdet(L+I)det(LY)=det(L+I)1YAdet(LY)

从上面的行列式拆分规律可知
∑ Y ′ ⊇ A det ⁡ ( L Y ′ ) = det ⁡ ( L + I A ˉ ) \begin{aligned} \sum_{Y' \supseteq A} \det(L_{Y'}) = \det(L+\mathbf I_{\bar A}) \end{aligned} YAdet(LY)=det(L+IAˉ)

其中 I A ˉ \mathbf I_{\bar A} IAˉ 指的是:如果集合 A A A 包含索引 i i i,则 [ I A ˉ ] i i = 0 [\mathbf I_{\bar A}]_{ii}=0 [IAˉ]ii=0,而对于 i ∈ A ˉ i \in \bar A iAˉ,有 [ I A ˉ ] i i = 1 [\mathbf I_{\bar A}]_{ii}=1 [IAˉ]ii=1。所以这里的 I A ˉ \mathbf I_{\bar A} IAˉ 不是单位阵。举例说明:
det ⁡ ( L + I ) = ∣ L 11 L 12 L 21 L 22 ∣ + ∣ L 11 L 12 0 1 ∣ + ∣ 1 0 L 21 L 22 ∣ + ∣ 1 0 0 1 ∣ = det ⁡ ( { 1 , 2 } ) + det ⁡ ( { 1 } ) + det ⁡ ( { 2 } ) + det ⁡ ( ∅ ) i f A = { 1 } ∑ Y ′ ⊇ A det ⁡ ( L Y ′ ) = det ⁡ ( { 1 , 2 } ) + det ⁡ ( { 1 } ) = ∣ L 11 L 12 L 21 L 22 ∣ + ∣ L 11 L 12 0 1 ∣ = ∣ L 11 L 12 L 21 L 22 + 1 ∣ = det ⁡ ( [ L 11 L 12 L 21 L 22 ] + [ 0 0 0 1 ] ) \begin{aligned} \det(L+\mathbf I) &=\begin{vmatrix} L_{11} & L_{12} \\ L_{21} & L_{22} \end{vmatrix} + \begin{vmatrix} L_{11} & L_{12} \\ 0 & 1 \end{vmatrix}+ \begin{vmatrix} 1 & 0\\ L_{21} & L_{22} \end{vmatrix} + \begin{vmatrix} 1 & 0 \\ 0 & 1 \end{vmatrix}\\ &= \det(\{1,2\})+ \det(\{1\})+ \det(\{2\})+ \det(\varnothing) \\ if \quad A&=\{1\} \\ \sum_{Y' \supseteq A} \det(L_{Y'}) &= \det(\{1,2\})+ \det(\{1\}) \\ &=\begin{vmatrix} L_{11} & L_{12} \\ L_{21} & L_{22} \end{vmatrix} + \begin{vmatrix} L_{11} & L_{12} \\ 0 & 1 \end{vmatrix} =\begin{vmatrix} L_{11} & L_{12} \\ L_{21} & L_{22}+1 \end{vmatrix} \\ &=\det \left( \begin{bmatrix} L_{11} & L_{12} \\ L_{21} & L_{22} \end{bmatrix} + \begin{bmatrix} 0 & 0\\ 0 & 1 \end{bmatrix} \right) \end{aligned} det(L+I)ifAYAdet(LY)=L11L21L12L22+L110L121+1L210L22+1001=det({1,2})+det({1})+det({2})+det()={1}=det({1,2})+det({1})=L11L21L12L22+L110L121=L11L21L12L22+1=det([L11L21L12L22]+[0001])

所以推导得到:
P ( A ⊆ Y ) = ∑ Y ′ ⊇ A P ( Y = Y ′ ) = det ⁡ ( K A ) = ∑ Y ′ ⊇ A det ⁡ ( L Y ′ ) det ⁡ ( L + I ) = 1 det ⁡ ( L + I ) ∑ Y ′ ⊇ A det ⁡ ( L Y ′ ) = det ⁡ ( L + I A ˉ ) det ⁡ ( L + I ) = det ⁡ { ( L + I A ˉ ) ( L + I ) − 1 } \begin{aligned} P(A \subseteq \mathbf Y) &=\sum_{Y' \supseteq A} P(\mathbf Y=Y')=\det(K_A) \\ &= \sum_{Y' \supseteq A} \frac{\det(L_{Y'})}{ \det(L+\mathbf I) } = \frac{1}{ \det(L+\mathbf I) } \sum_{Y' \supseteq A} \det(L_{Y'}) \\ &=\frac{\det(L+\mathbf I_{\bar A})}{ \det(L+\mathbf I) } =\det \bigg\{ (L+\mathbf I_{\bar A}) (L+\mathbf I)^{-1} \bigg\} \end{aligned} P(AY)=YAP(Y=Y)=det(KA)=YAdet(L+I)det(LY)=det(L+I)1YAdet(LY)=det(L+I)det(L+IAˉ)=det{(L+IAˉ)(L+I)1}
A A A 等价于 Y \mathcal Y Y 的全集 { 1 , 2 , ⋯   , N } \{1,2,\cdots, N\} {1,2,,N} 时,则有
det ⁡ ( K ) = det ⁡ { ( L + 0 ) ( L + I ) − 1 } \det(K)=\det \bigg\{ (L+\mathbf 0) (L+\mathbf I)^{-1} \bigg\} det(K)=det{(L+0)(L+I)1}
因此得到以下推导:

K = L ( L + I ) − 1 = ( L + I − I ) ( L + I ) − 1 = I − ( L + I ) − 1 I − K = ( L + I ) − 1 ( L + I ) ( I − K ) = I L ( I − K ) + ( I − K ) = I L ( I − K ) = K L = K ( I − K ) − 1 \begin{aligned} K&=L(L+\mathbf I)^{-1} \\ &=(L+\mathbf I -\mathbf I)(L+\mathbf I)^{-1} \\ &=\mathbf I - (L+\mathbf I)^{-1} \\ \mathbf I -K &= (L+\mathbf I)^{-1} \\ (L+\mathbf I) (\mathbf I -K) &= \mathbf I \\ L(\mathbf I -K) +(\mathbf I -K) &=\mathbf I \\ L(\mathbf I -K) &= K \\ L&=K(\mathbf I -K) ^{-1} \end{aligned} KIK(L+I)(IK)L(IK)+(IK)L(IK)L=L(L+I)1=(L+II)(L+I)1=I(L+I)1=(L+I)1=I=I=K=K(IK)1

整理得
K = L ( L + I ) − 1 = I − ( L + I ) − 1 L = K ( I − K ) − 1 \boxed{ \begin{aligned} K&=L(L+\mathbf I)^{-1}=\mathbf I - (L+\mathbf I)^{-1} \\ L&=K(\mathbf I -K) ^{-1} \end{aligned} } KL=L(L+I)1=I(L+I)1=K(IK)1

在这个基础上,如果存在特征值分解
L = ∑ n λ n v n v n T L=\sum_n \lambda_n \mathbf v_n \mathbf v_n^{T} L=nλnvnvnT

则可得到
K = ∑ n λ n λ n + 1 v n v n T K=\sum_n \frac{\lambda_n}{\lambda_n+1} \mathbf v_n \mathbf v_n^{T} K=nλn+1λnvnvnT

里面用到了考研常考的知识点:
如果 A A A 是对称阵,则必存在正交阵 P P P 使得
P − 1 A P = P T A P = Λ P^{-1} A P = P^{T} A P = \Lambda P1AP=PTAP=Λ
因此可知
L = V Λ V − 1 K = L ( L + I ) − 1 = V Λ V − 1 ( V Λ V − 1 + V V − 1 ) − 1 = V Λ V − 1 V ( Λ + I ) − 1 V − 1 = V { Λ ( Λ + I ) − 1 } V − 1 \begin{aligned} L &= V\Lambda V^{-1} \\ K & =L(L+\mathbf I)^{-1} \\ &=V\Lambda V^{-1}(V\Lambda V^{-1}+V V^{-1})^{-1} \\ &=V\Lambda V^{-1} V(\Lambda+\mathbf I)^{-1} V^{-1} \\ &=V \{\Lambda (\Lambda+\mathbf I)^{-1} \} V^{-1} \end{aligned} LK=VΛV1=L(L+I)1=VΛV1(VΛV1+VV1)1=VΛV1V(Λ+I)1V1=V{Λ(Λ+I)1}V1


3. Elementary DPPs

定义:如果 K K K 的每个特征值 λ \lambda λ 都在 { 0 , 1 } \{0,1\} {0,1} 中,那么 DPPs 就是 elementary 的。

定义 { v n } n ∈ V \{\mathbf v_n\}_{n \in V} {vn}nV 是一组标准正交向量基。具有以下特征值分解的 K K K(有些特征值为 1,有些特征值为 0):
K V = ∑ n ∈ V v n v n T K^V=\sum_{ n \in V} \mathbf v_n \mathbf v_n^{T} KV=nVvnvnT
我们将具备以上 K V K^V KV 的 DPP 记为 P V \mathcal P^V PV。一般 elementary DPPs 不是 L-ensembles。如果 Y Y Y 是服从 elementary DPPs P V \mathcal P^V PV,那么集合的 cardinality 记作 ∣ Y ∣ \vert Y \vert Y。接下来,我们证明 elementary DPPs 具有固定的 cardinality。

首先有以下关系:
E ( ∣ Y ∣ ) = ∑ n I ( i ∈ Y ) = ∑ n K n n V = t r ( K V ) = ∑ n ∈ V ∥ v n ∥ 2 = ∣ V ∣ \begin{aligned} \mathbb E(\vert Y \vert) &=\sum_n \mathbb I(i\in Y)= \sum_n K^V_{nn} \\ &=\mathrm{tr}(K^V) =\sum_{ n \in V} \Vert \mathbf v_n \Vert^2 =\vert V \vert \end{aligned} E(Y)=nI(iY)=nKnnV=tr(KV)=nVvn2=V
结合 rank ( K V ) = ∣ V ∣ ⟹ P ( ∣ Y ∣ > ∣ V ∣ ) = 0 \text{rank}(K^V)=\vert V \vert \Longrightarrow P(\vert Y \vert>\vert V \vert)=0 rank(KV)=VP(Y>V)=0,因此可知 P ( ∣ Y ∣ = ∣ V ∣ ) = 1 P(\vert Y \vert=\vert V \vert)=1 P(Y=V)=1


3.1 Sampling lemma

If P L P_L PL is a DPP with eigendecomposition of L L L given by L = ∑ n λ n v n v n T L=\sum_n \lambda_n \mathbf v_n \mathbf v_n^{T} L=nλnvnvnT. Then P L P_L PL is a mixture of elementary DPPs:

Determinantal point process 入门_第7张图片

4. 偏好性-相似性分解

在大多数实际情况下,我们希望 diversity 与 Y \mathcal Y Y 中对 different items 的一些基本偏好相平衡。因此对 DPP 进行分解。这里称为 quality-diversity decomposition(偏好性-相似性分解)。
在这里 DPP kernel L L L 可以写成 Gramian 矩阵(Gram 矩阵 ;参考)的形式:
L = B T B B i = q i ϕ i L=B^T B\\ B_i=q_i \phi_i L=BTBBi=qiϕi

  • q i ∈ R + q_i \in \mathbb R^{+} qiR+ 表示 quality,用以作为衡量 item i i i 的 “goodness” 程度。
  • ϕ i ∈ R D \phi_i \in \mathbb R^{D} ϕiRD 表示 diversity feature vector。且 ∥ ϕ i ∥ 2 = 1 \Vert \phi_i \Vert^2=1 ϕi2=1。虽然 D = N D = N D=N 可以分解任意的 DPP,但由于在实际中我们可能希望使用高维特征向量,所以 D D D 是任意的。
  • B ∈ R D × N B \in \mathbb R^{D \times N} BRD×N
  • S ∈ R N × N S \in \mathbb R^{N \times N} SRN×N

L i , j = q i ϕ i T ϕ j q j = q i S i , j q j L_{i,j}=q_i \phi_i^T \phi_j q_j =q_i S_{i,j} q_j Li,j=qiϕiTϕjqj=qiSi,jqj

  • ϕ i T ϕ i = S i , i = 1 \phi_i^T \phi_i = S_{i,i} =1 ϕiTϕi=Si,i=1
  • L i , i = q i ϕ i T ϕ i q i = q i S i , i q i = q i 2 L_{i,i}=q_i \phi_i^T \phi_i q_i =q_i S_{i,i} q_i=q_i^2 Li,i=qiϕiTϕiqi=qiSi,iqi=qi2

S i , j = q i ϕ i T ϕ j q j q i q j = L i , j L i , i L j , j ∈ [ − 1 , 1 ] S_{i,j}=\frac{q_i \phi_i^T \phi_j q_j }{q_i q_j }= \frac{L_{i,j} }{\sqrt{L_{i,i} L_{j,j}} } \in[-1,1] Si,j=qiqjqiϕiTϕjqj=Li,iLj,j Li,j[1,1]
由于 ∥ ϕ i ∥ 2 = 1 \Vert \phi_i \Vert^2=1 ϕi2=1,因此内积 ϕ i T ϕ j \phi_i^T \phi_j ϕiTϕj 表示两个向量的夹角余弦。
Determinantal point process 入门_第8张图片

可以直接推出
P L ( Y ) ∝ det ⁡ ( S Y ) ⎵ d i v e r s i t y ∏ i ∈ Y q i 2 ⎵ q u a l i t y P_L(Y) \propto \underbrace{\det(S_Y)}_{\rm diversity } \underbrace{\prod_{i \in Y} q_i^2}_{\rm quality} PL(Y)diversity det(SY)quality iYqi2


4.1 对偶表示

大多数 DPP 算法需要通过 inversion、eigendecomposition 等方法对 L L L N × N N \times N N×N 矩阵)进行处理。然而,当 N N N 很大时,计算效率很低。因此,我们可以通过以下对偶的表示:
C = B B T C=B B^T C=BBT
在这里 C C C D × D D \times D D×D 矩阵。

  • C C C L L L 有相同的非零特征值。
  • C C C L L L 的特征向量线性相关。

命题:
C C C 存在以下特征值分解
C = ∑ n = 1 D λ n v ^ n v ^ n T C=\sum_{n=1}^{D} \lambda_n \hat\mathbf v_n \hat\mathbf v_n^{T} C=n=1Dλnv^nv^nT
当且仅当 L L L 存在以下特征值分解
L = B T B = B T ( ∑ n = 1 D v ^ n v ^ n T ) B = ∑ n = 1 D λ n [ 1 λ n B T v ^ n ] [ 1 λ n v ^ n T B ] = ∑ n = 1 D λ n [ 1 λ n B T v ^ n ] [ 1 λ n B T v ^ n ] T \begin{aligned} L&=B^TB=B^T\left(\sum_{n=1}^{D} \hat\mathbf v_n \hat\mathbf v_n^{T}\right)B \\ &= \sum_{n=1}^{D} \lambda_n \left[\frac{1}{\sqrt{ \lambda_n}} B^T\hat\mathbf v_n \right] \left[\frac{1}{\sqrt{ \lambda_n}} \hat\mathbf v_n^{T} B\right] \\ &= \sum_{n=1}^{D} \lambda_n \left[\frac{1}{\sqrt{ \lambda_n}} B^T\hat\mathbf v_n \right] \left[\frac{1}{\sqrt{ \lambda_n}} B^T\hat\mathbf v_n\right]^T \end{aligned} L=BTB=BT(n=1Dv^nv^nT)B=n=1Dλn[λn 1BTv^n][λn 1v^nTB]=n=1Dλn[λn 1BTv^n][λn 1BTv^n]T

D D D 也特别大时,采用投影到低维( d ≪ D d \ll D dD)空间:

Determinantal point process 入门_第9张图片
Random projections are known to approximately preserve distances [Johnson and Lindenstrauss, 1984].


5. Conditional-DPP

在很多实际问题中,固定的 ground set Y \mathcal Y Y 是不够用的。例如在 document summarization problems 中。

解决方法是找到一种取决于输入变量 X X X Y ( X ) \mathcal Y(X) Y(X)。因此可以得到定义:

一种 Conditional-DPP P ( Y = Y ∣ X ) \mathcal P(\mathbf Y=Y \vert X) P(Y=YX) 是一种在每一种子集 Y ⊆ Y ( X ) Y \subseteq \mathcal Y(X) YY(X) 上的分布
P ( Y = Y ∣ X ) ∝ det ⁡ ( L Y ( X ) ) \mathcal P(\mathbf Y=Y \vert X) \propto \det\Big(L_Y(X)\Big) P(Y=YX)det(LY(X))

其中 L ( X ) L(X) L(X) 是取决于 X X X的 半正定核。利用 quality-diversity decomposition:
L i , j ( X ) = q i ( X ) ϕ i T ( X ) ϕ j ( X ) q j ( X ) = q i ( X ) S i , j ( X ) q j ( X ) L_{i,j}(X)=q_i(X) \phi_i^T(X) \phi_j(X) q_j (X)=q_i (X)S_{i,j}(X) q_j(X) Li,j(X)=qi(X)ϕiT(X)ϕj(X)qj(X)=qi(X)Si,j(X)qj(X)

在这里 Supervised learning 可以用来确定联系 X X X q i q_i qi ϕ i \phi_i ϕi隐函数

6. k-DPP

如果我们只需要 k k k 个 diverse items 呢?

  • 一个最简单的思路就是将 DPP 调整到集合 cardinality k k k
    P L k ( Y ) = det ⁡ ( L Y ) ∑ ∣ Y ′ ∣ = k det ⁡ ( L Y ′ ) \mathcal P^k_L( Y ) = \frac{\det(L_Y)}{\sum_{\vert Y'\vert =k} \det (L_{Y'}) } PLk(Y)=Y=kdet(LY)det(LY)

引入 k k k-th elementary symmetric polynomial:
e k ( λ 1 , λ 2 , ⋯   , λ N ) = ∑ J ⊆ { 1 , ⋯   , N } ∣ J ∣ = k ∏ n ∈ J λ n e_k(\lambda_1, \lambda_2, \cdots, \lambda_N)=\sum_{ { J \subseteq \{1,\cdots,N \} \atop \vert J \vert =k } } \prod_{n\in J} \lambda_n ek(λ1,λ2,,λN)=J=kJ{1,,N}nJλn

举例说明:
e 1 ( λ 1 , λ 2 , λ 3 ) = λ 1 + λ 2 + λ 3 e 2 ( λ 1 , λ 2 , λ 3 ) = λ 1 λ 2 + λ 1 λ 2 + λ 2 λ 3 e 2 ( λ 1 , λ 2 , λ 3 ) = λ 1 λ 2 λ 3 \begin{aligned} e_1(\lambda_1, \lambda_2, \lambda_3) &= \lambda_1+\lambda_2+\lambda_3 \\ e_2(\lambda_1, \lambda_2, \lambda_3) &= \lambda_1\lambda_2+\lambda_1 \lambda_2+ \lambda_2 \lambda_3 \\ e_2(\lambda_1, \lambda_2, \lambda_3) &= \lambda_1\lambda_2 \lambda_3 \end{aligned} e1(λ1,λ2,λ3)e2(λ1,λ2,λ3)e2(λ1,λ2,λ3)=λ1+λ2+λ3=λ1λ2+λ1λ2+λ2λ3=λ1λ2λ3
因此归一化的分母为
∑ ∣ Y ′ ∣ = k det ⁡ ( L Y ′ ) = e k ( λ 1 , λ 2 , ⋯   , λ N ) \sum_{\vert Y'\vert =k} \det (L_{Y'}) =e_k(\lambda_1, \lambda_2, \cdots, \lambda_N) Y=kdet(LY)=ek(λ1,λ2,,λN)

6.1 k-DPP inference - sampling

同样的,k-DPP 也可以视为 a mixture of elementary DPPs。
Determinantal point process 入门_第10张图片

你可能感兴趣的:(机器学习)