阿里在《Personalized Bundle List Recommendation》中提出了一种BGN的推荐思路:

摘要

产品捆绑销售(Product bundling)是在线电商和线下零售商常用的营销策略之一,它提供了一种将多个商品组合销售给顾客的方式。高质量的捆绑销售组合包含了顾客感兴趣的常购商品,而在不同的捆绑销售组合中提供多样性可以提升用户体验,最终增加交易量。本文将个性化捆绑销售列表推荐问题形式化为结构化预测问题,并提出了一种基于捆绑生成网络(BGN: bundle generation network)的解决方案,该方案通过行列式点过程(DPPs)将问题分解为质量和多样性两个部分。BGN采用了典型的编码器-解码器(encoder-decoder)框架,提出了一种特征感知(feature-aware)的softmax方法来缓解传统softmax方法的不足,并集成了掩码束搜索(masked beam search)和DPP选择,以生成具有适当捆绑大小的高质量和多样化的捆绑销售列表。我们在三个公共数据集和一个工业数据集上进行了广泛的实验,其中包括两个基于共同购买记录生成的数据集和两个从真实的在线捆绑销售服务中提取的数据集。BGN在所有数据集上的质量、多样性和响应时间方面都显著优于现有的最先进方法。特别是,在维持四个数据集上的最高多样性的同时,BGN平均提高了最佳竞争对手的精度16%,并在捆绑销售列表推荐问题中使响应时间提高了3.85倍。

1.介绍

一个捆绑包(bundle)是一组作为整体出售的产品或服务,而捆绑包列表(bundle list)推荐则是推荐一个个性化的捆绑包列表。在传统商业领域,如通信服务、线下零售商和超市等,都将捆绑销售视为关键的市场营销策略,并且他们通常通过人工洞察或非个性化的挖掘方法来制作捆绑包[2]。在现代电子商务网站和在线服务业务中,如亚马逊、淘宝、Steam和Netflix等,也部署了新的应用[22,32],这些应用推荐和销售捆绑包列表而非单个商品。

客户、卖家以及推荐平台都可以从个性化的捆绑包推荐服务中受益。对于客户来说,高质量的捆绑包可以拓宽用户兴趣,并在购买后的最短路径上直接显示互补产品。经典营销研究表明,精心设计的捆绑包可以带来相互促进的效果

  • 对于卖家来说,捆绑销售可以增加每位客户的交易量。沃尔玛官网的平均订单规模为2.3[36]。通过附加一些高度相关的产品,卖家可以推出更多产品并增加毛利润(GMV)
  • 对于客户和卖家来说,购买捆绑包的成本可能低于单独购买每个产品的成本。例如,在电子商务网站中,如果一个订单中的商品金额超过一定数额,通常会免收运费。

对于推荐系统来说,捆绑销售是一种更有效的组织和展示产品的方式。推荐列表由高度相关的捆绑包组成,与商品列表形成对比,多个多样化的捆绑包避免了用户选择单一。推荐系统将捆绑包作为一个整体展示,从而在单位面积内展示更多产品。对于移动应用程序来说,减少向上滑动操作以改善用户体验至关重要。

图片名称

图1

在图1中,我们展示了一个捆绑包列表的例子。捆绑包中的商品应具有高度相关性。此外,捆绑包间的多样性成为了一个关键指标,这是一个可解释的、面向业务的目标,独立于点击率(CTR)和精确度,试图避免单调的选择并量化捆绑推荐系统中的用户体验。相同的高质量商品往往出现在不同的捆绑包中[22],这构成了令人困惑且单调的捆绑包列表,因此在精确度/似然度和多样性之间存在权衡。其他有意义的问题,例如如何设置价格折扣以最大化利润,如何组合捆绑包的图片等,超出了本文的范围,可以作为未来的工作。本文关注于如何生成高质量且多样化的捆绑包

针对个性化捆绑推荐问题,存在几个挑战。首先,推荐系统应该在没有人工干预的情况下自动、灵活地生成高质量捆绑包。频繁项集挖掘算法提供了高质量的捆绑,但不具有个性化。为了模拟捆绑包的分布,我们使用共同购买数据或预定义的捆绑包来监督具有用户上下文的捆绑包质量。然而,序列生成方法在捆绑推荐场景中对于丰富特征的表示不足,因为传统softmax的权重矩阵仅考虑商品ID。此外,在实践中,我们可能需要更大规模的捆绑包以达到卖家的促销目的,但seq2seq通常难以生成短序列[14]。

其次,捆绑包间的多样性成为了捆绑推荐的一个关键指标。具有相同高质量商品的捆绑包可能同时获得高分排名,因此重复的商品往往出现在生成的捆绑包列表中[22]。除了重复之外,由于特征的相似性导致的相似商品可能会产生令人困惑且单调的捆绑包列表,降低用户兴趣。捆绑推荐系统应考虑跨捆绑包间的多样性,同时考虑商品的重叠和相似性。在这里,多样性是一个显式指标,而不是从数据中学到的某些隐藏相似关系。由辅助信息和先验知识预先定义的显式相似性为测量和调整提供了确切的信号。我们使用行列式点过程(DPPs)作为目标函数,该函数在推理过程中考虑全局负相关性,以分解质量和多样性。

最后,与传统item列表推荐相比,捆绑推荐的搜索空间是item的双重指数级数量,因为理论上一个bundle可以包含任意长度的组合,并且一个list包含多个捆绑[9]。应谨慎考虑捆绑稀疏性(Bundle sparsity),因为在共同购买形式下的训练数据中,相对于整个搜索空间而言,只包含了少量的bundle的ground truth。搜索空间中的大多数bundles都是低质量的,因此我们需要一种方法为每个用户高效地生成高质量候选bundles,而不是在所有可能的bundles中应用ranking方法

在本文中,我们旨在解决个性化bundle list推荐问题,并提出了一种捆绑生成网络(BGN)。

我们将本论文的贡献总结如下:

  • • 这是首次尝试通过考虑质量和多样性的序列生成方法来解决捆绑列表推荐问题。我们基于行列式点过程(DPP)分解生成模型,并将神经网络与DPP选择相结合,以产生高质量且多样化的捆绑列表。
  • • 我们提出了一种捆绑推荐场景中的特征感知softmax,用于弥补传统seq2seq对丰富特征表示的不足,从而显著提高了质量建模。特征感知softmax的损失是在每个步骤上优化BPR损失的泛化。
  • • 我们在真实世界数据集和公共数据集上进行了大量实验。我们的模型在四个数据集上平均提高了最佳基线的精度16%,同时保持了最高的多样性,并在捆绑列表推荐问题中显示出最快的响应时间。此外,BGN可以在可容忍的精度降低范围内控制捆绑大小。

3.个性化bundle list推荐

符号表示。设:

  • I为可供选择的所有商品集合,
  • $\mid N \mid$为所有商品的数量。
  • b:一个bundle ,是由I中的商品组成的任意组合
  • T:表示bundle中商品的数量

在bundle中,商品的顺序是无序的。当将bundle视为一个序列时,通常按照商品价格从高到低的顺序对捆绑销售中的商品进行排序,因为价格较低的商品更容易被替换为bundle中的其他商品,同时在序列生成模型中更容易受到曝光偏差(exposure bias)的影响。假设:B为所有可能的bundle集合,$\mid B \mid$等于 :

\[\sum_{t=1}^T \binom{N}{t}\]

其中:

  • T为最大捆绑销售大小,
  • $\binom{N}{t} = \frac{N!}{t! (N−t)!}$ 表示从N个商品中选择t个商品的组合数。
\[I = {1, 2, \cdots, N},|I| = N \\ B = {b = \lbrace i_1,i_2, \cdots, i_T \rbrace | i \in I},|b|=T,|B|=\sum\limits_{t=1}^T \binom{N}{t} \\ Y = {y = \lbrace b_1,b_2, \cdots, b_K \rbrace | b \in B},|y|=K,|Y|=|B|^K\]

在这里:

  • K:是推荐bundle list y的大小。然而,我们认为在bundle list中的顺序并不重要。
  • Y:为所有可能的bundle list集合。
  • $C_u$:用户上下文,通常表示他/她在历史记录中点击/购买的商品序列。

问题公式化。假设:

  • $\widehat{P}(\cdot, \cdot): Y \times {C_u} \rightarrow R^+$为一个通用的兼容性函数,用于衡量bundle list y和用户上下文$C_u$之间的得分(兼容性),
  • $\widehat{P}(y \mid C_u)$ :表示为给定$C_u$时y的非标准化条件概率

因此,个性化bundle list推荐问题可以形式化为一个结构化预测问题[3],试图找到满足以下条件的bundle list $\widehat{y}$:

\[\widehat{y} = \underset{y \in Y}{argmax} \widehat{P}(y = {b_1, b_2, \cdots,b_K }|C_u)\]

… (1)

  • $P(y \mid C_u)$:为$\widehat{P}$关于y的归一化条件概率。$P(y \mid C_u)$实际上是对N的双指数级数量的分布进行建模,因此在给定$C_u$的情况下,有 $\binom{(\sum\limits_{t=1}^T \binom{N}{t}}{K}$ 种可能的y结构,这带来了极大的计算挑战。

在本文中,我们考虑与质量和多样性相关的$\widehat{p}$兼容性函数。 bundle list推荐是单个bundle list推荐问题和单个item list推荐问题的一般化。当给定用户上下文时,每个bundle是独立的,我们有:

\[P(y = {b_1,b_2, \cdots,b_K} | C_u) = \prod_k P(b_k |C_u)\]

在这种情况下,bundle list之间没有相关性,问题变成了单个bundle推荐问题[36],有时被认为是个性化bundle的ranking问题[22]。此外,当bundle大小T等于1时,它是单个item list推荐问题。

4. Bundle Generation Network

在这里,我们提出了一个基于捆绑销售生成网络(BGN)的解决方案,以解决考虑质量和多样性的个性化bundle list推荐问题。 在下面的子节中,我们介绍如何通过SDPP将bundle list概率分解为质量/多样性部分,并分别分解它们。然后,我们介绍如何测量多样性,并设计具有特征感知softmax的改进型神经网络来学习质量部分。此外,我们提出了一种masked-beam search方法来控制bundle list大小并避免重复商品。最后,我们演示如何将这些部分集成到BGN中,以处理bundle推荐的生成过程。

4.1 基于SDPP的捆绑销售生成模型

我们在概率空间(B,Y,P)上定义了一个结构化行列式点过程(SDPP: structured determinantal point proc)[15]。当Y是根据概率质量函数(PMF)P绘制的bundle推荐列表的随机变量时,分布如下:

\[P(Y = y) \triangleq det(L_y)/Z\]

…(2)

这里:

  • L是SDPP的对称正半定核,大小为$|B| * |B|$
  • $L_y$:表示L限制为y元素索引的条目,$Z = \sum\limits_{y′ \in Y} det(L_{y′})$是归一化常数。

核L有一个直观的几何解释,即$det(L_y)$是其相关特征向量展开体积(volumn)的平方[16]。请注意,y的每个元素都指向具有特定结构的bundle,因此我们认为DPP是有结构的。定义DPP概率模型的一个好处是我们可以以非常自然的方式分解质量和多样性。对于任何正半定矩阵L的元素$L_{ab}$,我们总是可以找到一个质量/多样性分解

\[L_{ab} = q(a)ϕ(a)^T ϕ(b)q(b) = q(a) S(a,b) q(b)\]

…(3)

其中:

  • $a,b \in B$
  • $L_{ab}$:表示由bundle a和b索引的元素
  • $q(b) \in R$:表示bundle的质量项
  • $ϕ(b) \in R^D$:表示具有$||ϕ(b)||_2 = 1$的归一化多样性特征

这里我们定义一个相似度函数/度量: $S(a,b) : B × B → R$,满足:$S(a,b) = ϕ(a)^T ϕ(b)$,并保持相应的相似度矩阵S半正定。我们将方程(3)重新形式化为矩阵方式

\[L = QSQ\]

… (4)

其中:

  • Q:表示对角矩阵diag $\lbrace q(b)_{b \in B} \rbrace$

该分解平衡了质量和多样性。然后,个性化bundle list推荐的优化准则是找到一个最大化给定用户上下文$C_u$时$P(y \mid C_u;\theta)$的 bundle list y:

\[\underset{y}{argmax} \ det(S_y) \cdot \prod\limits_{b \in y} q^2 (b|C_u; \theta)\]

…(5)

解决个性化bundle list推荐的一个主要挑战是:bundle list的优化准则具有N的双指数级数量的复杂度。根据等式(5)中的分解,我们将复杂度降低到了测量空间B上的质量项q和测量空间B × B上的多样性项S。然而,这两个项仍然具有指数级空间,这是无法处理的。

SDPP认为测量空间B中的任何元素都可以分解为一组因子F [15],其中因子α ∈ F是结构部分的一个小子集。然后,我们分别继续分解质量项和多样性项:

\[q(b) = \prod\limits_{α \in F} q_α(b_α ) \\ ϕ(b) = \sum\limits_{α \in F} ϕ_α(b_α)\]

…(6)

这种分解定义了我们如何解释模型结构,并使模型易于处理。然后,我们将分别为多样性和质量指定分解,并将它们集成在一起,以生成高质量和多样化的bundle list。

4.2 多样性的测量和分解

我们在工作中测量的多样性是一种可解释的指标/目标,试图量化bundle推荐系统中的用户体验,与来自数据的似然性无关。从数据中学习的这种隐式关系可能不是我们所追求的“多样性”,并且数据中物品之间的相关性已经被考虑到了质量部分中。然而,由侧面信息和先验知识定义的显式相似性为测量和调整提供了准确的信号。此外,推荐系统通常缺乏多样性标记的基准列表,这使得监督完整的似然性变得困难。 利用方程(3)和方程(6),我们将bundle的相似度函数分解为物品相似度函数:

\[S(a,b) = ϕ(a)^T ϕ(b) \\ = ( \sum\limits_{α \in F} \phi_α (a_α)^T )(\sum\limits_{β \in F} ϕ_β (b_β)) \\ = \sum\limits_{α, β} ϕ_α(a_α)^T ϕ_β(b_β) \\ = \sum\limits_{i \in a,j \in b} s_{a,b} (i, j)\]

…(7)

在这里, $s_{a,b} (i, j)$测量的是物品而不是bundle的相似性,这与用户上下文无关。相似度函数通常应与根据领域知识预定义的多样性度量一致。例如,在我们的实验中,$s_{a,b}(i, j)$由bundle的Jaccard相似度给出:

\[s_{a,b}(i, j) = \frac{1}{|a \cup b|} δ(i = j)\]

…(8)

其中:

  • δ(·)表示指示函数。请注意,bundle不包含内部重复的物品。该函数可以维护L的半正定性[4],并防止在不同捆绑销售中显示相同的物品。该函数与等式(19)保持一致的局部测量,并且SDPP优化全局负相关性。此外,多样性的度量也可以通过计算属性的相似性来定义,从而提供属性的细粒度多样性。

4.3 用特征感知Softmax建模质量部分

在这里,我们重点研究质量部分$q(b \mid C_u ; θ)$的建模,采用典型的编码器-解码器框架,其中:编码器从用户上下文中提取信息,解码器使用提出的特征感知softmax生成高质量的候选捆绑销售列表。

  • 对于编码器,用户上下文可以表示为物品的购买历史。我们使用TextCNN [13]提取信息,最近已经显示出在文本分类和信息提取方面的有效性[33, 34]。我们在图2中展示了基本的网络架构,并省略了细节的讨论,因为它不是我们的主要贡献之一。TextCNN是可并行化的,比双向LSTM更快,并且可以通过基于自注意力架构的Transformer [27]在未来的工作中轻松改进。
  • 对于解码器,bundle的质量$q(b \mid C_u;θ)$是一个未归一化的联合概率,其参数化为通用的$\theta$,因此我们按照贝叶斯公式进行分解。请注意,贝叶斯公式始终成立并对质量的完整分布进行建模,这里的假设是以序列方式共享参数。
\[q(b|C_u; θ) \propto p(b = {i_1,i_2, \cdots, i_T} | C_u; θ) \\ = \prod\limits_{t=1}^T p(i_t | i_1, \cdots, i_{t−1}, C_u; θ)\]

… (9)

在等式(9)中,我们通过乘以每个元素的所有条件概率来分解任何bundle的联合概率。通过共享这些条件概率的相同权重,我们使用具有(堆叠的)LSTM单元和众所周知的Luong Attention [19]的序列生成模型来计算概率。 设:

  • $x_t$:为解码器的输入
  • t:为bundle中的物品位置

我们使用编码器的输出初始化$h_0$。然而,我们省略了LSTM和attention的常见细节。

\[h0 = text-CNN(C_u) \\ x_t = [item\_emb(i_t), cate\_emb(i_t), \cdots] \\ h_t = stacked-LSTM-attention(h_{t−1}, x_{t−1}, C_u) \\ p(i_t | i_1, \cdots, i_{t−1}, C_u; θ) = feature-aware-softmax(h_t)_{i_t}\]

…(10)

传统的softmax层包含一个权重矩阵$W^{(h+1)*N} = [w_1,w_2, \cdots,w_N]$,其中:$w_i$可以被认为是i的item_id的嵌入。请注意,这里我们省略了偏置项,只是为了方便书写。

\[softmax(h_t ,W)_j = \frac{exp(h_t^T w_j)}{\sum\limits_{\widehat{j}=1}^N exp(h_t^T w_{\widehat{j}}) }\]

…(11)

然而,在推荐系统中的物品候选项通常具有更多的归属特征,而不仅仅是item_id。传统的softmax由于缺乏特征而可能导致权重矩阵表示不充分。

受到指针网络 [28] 的启发,我们提出了特征感知(FA)softmax: 它使用特征感知的权重矩阵修改softmax操作符,而不是使用固定的权重矩阵,使softmax对动态信息敏感。特征感知softmax使用由$F(x_i)$构建的动态权重矩阵,其中F是所有特征的非线性变换函数,因此softmax除了item_id之外还可以对特征敏感。

\[E^{(h+1)* N} = [e_1, e_2, \cdots, e_N]^1, e_i=F(x_i) \\ feature-aware-softmax(h_t)_j = softmax(h_t, E)_j\]

…(12)

我们使用共同购买的数据$D = {b,C_u }_{1:\mid D \mid}$来指导学习过程。loss可以定义为每个步骤softmax层的平均交叉熵,这保证了与等式(9)相同的形式,模型的目标是最大化单个bundle的似然性。

\[L_{MLE}= −\frac{1}{T} \sum\limits_{t=1}^T logp(i_t | i_1, \cdots, i_{t−1}, C_u; θ)\]

…(13)

然而,由于动态构建权重矩阵E,特征感知softmax在训练过程中可能会耗时较长。因此,我们采用带有采样softmax损失的特征感知softmax,称为采样特征感知softmax损失,以加速训练过程。

当采样数量为1时,采样的特征感知softmax的损失由以下公式给出:

\[L_{sample-1}= −\frac{1}{T} \sum_{t=1}^T log \frac{exp(h_t^T e_{i_t})} {exp(h_t^T e_{i_t}) + exp(h_t^T e_{s_t})} + λ_θ ||θ||^2 \\ = −\frac{1}{T} \sum\limits_{t=1}^T log σ(h_t^T(e_{i_t} − e_{s_t})) + λ_θ||θ||^2 \\ = −\frac{1}{T} \sum\limits_{t=1}^T logp(θ |≥t,C_u)=\frac{1}{T} \sum\limits_{t=1}^T L_{BPR}(t)\]

…(14)

其中:

  • σ(·)是逻辑sigmoid函数
  • ≥t,Cu 是每个步骤中的成对偏好,[24]

因此,具有一个负样本的特征感知softmax相当于在每个时间步长优化方程(14)中的平均BPR。

4.4 bundle生成过程概述

bundle list推荐的目标是通过生成高质量和多样化的bundle list y 来最大化等式(5)中的 $p(y \mid C_u)$。在本小节中,我们将整合并总结捆绑生成的整体过程。

图片名称

  • 图2(a)显示了BGN的整体推理过程。我们使用文本-CNN的输出来初始化h0,然后通过在每个步骤扩展生成的bundle前缀来生成bundle列表
  • 图2(b)显示了bundle list $y_t$在每个生成步骤中如何扩展。每个小形状图标表示一个item,矩形块的每一行是一个生成的bundle前缀,t表示生成的bundle前缀的对齐大小。在每个生成步骤中,我们使用beam search生成K * N个候选bundle。beam search[30]是一种启发式搜索算法,通过在有限集中扩展最有希望的item来探索搜索空间,广泛应用于序列生成方法中[26]。在这里,我们使用beam search将低质量的bundle修剪到宽度为M的$y_{cand}$,这对于效率至关重要。DPPs的子模假设[16]在实际应用中广泛使用,包括推荐系统[6,10],可以在多项式时间内找到解决方案。根据等式(5),我们从$y_{cand}$中选择一个bundle b,一次最大化$P(y \cup \lbrace b \rbrace)$,如下所示:
\[\underset{b \in y_{cand}}{argmax} log det S_{y \cup \lbrace b \rbrace} + \sum\limits_{\beta \in y \cup \lbrace b \rbrace} log q^2(\beta|C_u)\\ <=> \underset{b \in y_{cand}}{argmax} logp(b|C_u) + \lambda log det S_{y \cup \lbrace b \rbrace}\]

…(15)

这里,λ是一个超参数,用于控制生成bundle的质量和多样性之间的权衡。当我们增加λ时,我们在生成的bundle之间更加关注多样性,而不是最终列表的准确性,反之亦然。

此外,我们需要避免bundle中出现重复的item,并且在实践中希望生成更大规模的bundle。通常,我们会添加一个特定的项目结束标记来标记bundle生成的结束,这样我们就可以产生不同长度的bundle。然而,BGN使用共同购买数据或预定义的bundle来监督质量部分。ground truth bundle大小的概率分布可能与目标应用的预期分布不一致。在实践中,由于卖家的促销活动,可能需要更大的bundle尺寸。此外,传统的束搜索通常存在显著的长度偏差,并将bundle大小的分布压缩到一个更偏向于较短大小的分布,正如我们在实验中的图4(b)中所示。如果我们简单地选择具有较大bundle尺寸的数据集进行训练,可能会由于训练集的减少而导致更多的稀疏性问题。

为了解决这个问题,我们可以采用一些策略,例如对较大的bundle尺寸进行数据增强,或者在训练过程中引入对bundle尺寸的惩罚项,以鼓励模型生成更大规模的bundle。这些策略可以帮助缓解稀疏性问题,并提高模型在生成大规模bundle时的性能。

阿里在《Adaptive Domain Interest Network for Multi-domain Recommendation》中提出了一种思路来解决multi-domain推荐问题:

摘要

工业界推荐系统通常会持有来自多个商业场景的数据,并同时为这些场景提供推荐服务。在检索阶段,topK的高质量items会从大量corpus中选出,通常对于多个场景来说是多样的。以alibaba展示广告系统为例,不仅因为淘宝用户的行为模式很多样,同时广告主对场景的竞价分配也非常多样。传统方法会针对不同场景独立训练模型,忽略掉user groups和items的cross-domain overlapping,或者简单将所有样本进行混合并使用一个共享模型(它很难捕获不同场景上的多样性)。在本paper中,我们提出Adaptive Domain Interest network,它会自适应处理不同场景的共性和差异,在训练期充分利用多场景数据。接着,在在线inference期间,通过对不同场景给出不同的topK候选,提出的方法能够提升每个business domain的效果。特别的,我们提出的ADI会通过共享网络以及domain-specific networks来建模不同domains的共性和差异。另外,我们会应用domain-specific batch normalization并设计domain interest adaptation layer进行feature-level domain adaptation。一个自训练策略(self training strategy)也会被包含进来捕获跨domains的label-level connections。ADI已经被部署到Alibaba的展示广告系统中,并且获得了1.8%的提升。

1.介绍

2.相关工作

3.前提

3.1 问题公式

在本节中,我们会对multi-domain retrieval任务进行公式化定义。Multi-domain retrieval task的目标是:从一个非常大的corpus中,为multiple domains检索high-quality items。更特别的,online multi-domain retrieval任务可以被公式化:

\[S_{u,d} = \underset{v \in V}{arg \ Topk} \ f_{\theta}(v | u, d)\]

…(1)

其中:

  • U和V: 分别表示user set 和item set
  • d: 表示domain indicator
  • \(f_{\theta}(v \mid u, d)\): 是使用可训练参数\(\theta\)的estimated matching function,给定user u和domain indicator d后,用于measuring u到V的quality
  • \(S_{u,d}\): 是一个set,它包含了对应于\(f_{\theta}(v \mid u, d)\)的topK items的set

在neural-based retrieval模型中,学习这样的一个模型 \(f_{\theta}(v \mid u, d)\)可以看成是一个instance-level的分类问题。从V中胜出的postive item v的分布基于softmax function:

\[s_{\theta}(v | u, d) = \frac{exp(f_{\theta}(v |u, d))}{\sum_{v' \in V} exp(f_{\theta}(v' \mid u, d))}\]

…(2)

接着\(\theta\)会训练在训练数据上用来最小化negative log likelihood:\(log s_{\theta}(v \mid u, d)\):

\[\theta^{*} = \underset{\theta}{argmin} \sum\limits_d \sum\limits_u \sum\limits_{v \in B_{u,d}} - log s_{\theta}(v \mid u, d)\]

…(3)

其中:

  • \(B_{u,d}\)是在给定user u和domain indicator d后,与u的交叉items的集合

实际上,由于V通常相当大,sub-sampling被广泛用来减小等式(2)分母的计算复杂度。根据[3,6],我们会使用sampled softmax loss[33],并将等式(2)中的\(f_{\theta}(v \mid u, d)\)替换成:

\[\bar{f}_{\theta} (v | u, d) = f_{\theta}(v | u, d) - log Q(v)\]

…(4)

有了sub-sampling,我们有等式(5)。\(N_{u,d}\)是不相关items的集合,它从V中根据分布\(Q: V \rightarrow R\)进行采样,以便它的size可以满足\(\mid N_{u,d} \mid << \mid V \mid\)。

\[\theta^{*} = argmin_{\theta} \sum_{d,u,v \in B_{u,d}} - \bar{f}_{\theta}(v | u, d) + log(exp(\bar{\theta}(v | u, d)) + \sum_{v' \in N_{u,t}} exp(\bar{f}_{\theta} (v' |u, t))\]

…(5)

4.方法论

在本节中,我们会引入我们提出的方法来解决multi-domain retrieval问题。整个模型结构如图1所示。总模型结构被设计成:对于来自三个角度(angles)的不同domains的共性和不同。

  • 首先,后端网络(backbone network)会从来自不同domains收集到的数据来抽取参数级共性(parameter-level)和多样性
  • 第二,domain adaptation方法会学到feature-level diversities
  • 第三,self-training策略会捕获label-level的共性

图片名称

图1 ADI的整体架构展示。根据灰色箭头,一个样本会首先进行embedded,接着feed到Domain Interest Adaptation Layer,Shared Domain-Specific Network, Fusion Layer和Domain-Specific Forward Network。在通过user/item tower获得user/ item representations后,inner product会被生成,在最后会计算sampled softmax loss。domain indicator会被用来选择:使用哪个domain-related network

4.1 Backbone Network

为了有效学习来自不同domains的数据分布的共性与不同,我们会在底部使用设计shared networks和domain-specific networks,在顶部使用domain-specific forward networks。当处理multi-domain retrieval问题时,对比起普通DNN【3】、share-bottom network【28】以及MMoE【29】,这样的架构效果更好。它会在下面实验中证明。

4.1.1 Shared Embedding Layer

如表1所示,training/testing samples包含了丰富的feature信息。因此,第一阶段是,将这样的高维稀疏one-hot vectors转化成低维embedding vectors,所有domains会共享相同的embedding layers。

\[F_i = EMBED(f_i) \\ F = concat(F_1 | \cdots | F_n)\]

…(6)(7)

其中:

  • \(F_i\)表示第i个embedded feature,F表示user/item inputs。

4.1.2 Shared Network & Domain-Specific Network

在获得encoded user representations和item representations后,我们会引入shared network和domain-specific network,如图1所示。受[18]启发,我们设计了shared network来学习由所有domains共享的representations,以及domain-specific network来在每个domain上学习domain-specific representations:

\[\begin{align} & a_k = \frac{W_{shared}^k (f_{domain}) + b_{shared}^k}{\sum\limits_{n=1}^K (w_{shared}^n(f_{domain}) + b_{shared}^n)} \\ & E_{shared} = \sum\limits_{k=1}^K a_k MLP_{shared}^k (F) \\ & E_{spec}^{(d)} = MLP_{spec}^{(d)} (F^{(d)}) \end{align}\]

…(8)(9)(10)

其中:

  • MLP表示multilayer perceptron,
  • \(f_{domain}, F^{(d)}\)表示domain相关的features,数据从domain d中收集到。在我们的实践中,我们会使用domain indicator embedding作为\(f_{domain}\)。
  • \(W_{shared}^n, b_{shared}\):是一个one-layer shallow neural network的weights和bias。

从所有domains中的数据会feed到shared networks中,而从domain d中的数据会feed到第d个domain-specific network中。更特别的,假设,存在来自D个domains的训练数据,我们会构建K个shared network以及D个specific network。FCs的总数是D+K

4.1.3 Fusion Layer

fusion layer的目标是学习一个来自Domain-Specific Network和Shared Network的最优化组合,它可以描述如下:

\[\beta_1^{(d)} = \sigma (W_{fusion\_spec}^{(d)} (f_{domain})) \\ \beta_2^{(d)} = \sigma (W_{fusion\_shared}^{(d)} (f_{domain})) \\ E_{fusion}^{(d)} = concat(\beta_1^{(d)} E_{spec}^{(d)} | \beta_{1}^{(d)}E_{spec}^{(d)} \odot \beta_2^{(d)} E_{shared} | \beta_2^{(d)} E_{shared})\]

…(11)(12)(13)

其中:

  • \(\sigma\)表示sigmoid函数
  • \(\odot\)表示hadamard product
  • \(\beta_1^{(d)}, \beta_2^{(d)}\)表示分配给\(E_{spec}^{(d)}, E_{shared}\)feature weights。

我们将提出的fusion layer命名为:CONCAT version。因此,shared和specific network会为每个domain生成domain-related \(E_{fusion}^{(d)}\)。另外,我们会引入两个变种,它们是由MMoE、SAR-NET使用的SUM version,以及由STAR【11】提出的Network-Mul version。对于SUM version,我们会使用MMoE的gating network作为fusion layer。\(W_{gate}, b_{gate}\)表示gating network的weights和bias:

\[a^{(d)} = \sigma(W_{gate}^{(d)}(f_{domain}) + b_{gate}) \\ E_{fusion}^{(d)} = \alpha^{(d)} E_{spec}^{(d)} + (1 - \alpha^{(d)}) E_{shared}\]

…(14)(15)

对于Network-Mul version,我们使用STAR-Topology FCN作为fusion layer。\(W_{shared}, b_{shared}, W_{spec}^{(d)}, b_{spec}^{(d)}\)分别表示在\(FC_{shared}\)和\(FC_{spec}\)中的参数:

\[FC_{Net-Mul}(X) = (W_{shared} \odot W_{spec}^{(d)}) \cdot X + b_{shared} + b_{spec}^{(d)} \\ E_{fusion}^{(d)} = FC_{Net-Mul} (F^{(d)})\]

在第5.3.1节中的实验表明,我们提出的CONCAT version会达到最好的效果,它会被用作fusion layer。

4.1.4 Domain-Specific Forward Network

在获得domain-related \(E_{fusion}^{(d)}\)后,最后outputs会feed到domain-related forward network中,描述如下:

\[E = FC_{forward}^{(d)} (E_{fusion}^{(d)})\]

…(18)

由user tower以及item tower生产的output E会被用作随后的inner product和sampled softmax计算。

4.2 Domain Adaptation

在multi-domain推荐任务中,我们提供了两种方法来解决domain adaptation问题:domain-specific batch normalization和domain intereset adaptation layer。

图片名称

图2

4.2.1 Domain-Specific Batch Normalization

batch normalization技术已经广泛被用于训练非常深的neural network。假设:\(\mu\)表示input X的均值,而\(\sigma^2\)表示方差。batch normalization方法可以描述如下:

\[\hat{X} = \alpha \frac{X-\mu}{\sqrt{\sigma^2 + \epsilon}} + \beta\]

…(19)

其中:\(\alpha\)和\(\beta\)是可学习的参数,\(\epsilon\)是非常小的quantity,以避免分母为0. BN假设input X会满足i.i.d的假设,它会在单个场景上有效。然而,multi-domain retrieval问题会面临着一个混合数据分布的问题。计算全局的BN参数,并忽略在不同domain间的静态差异,可能会损伤最终效果。受[35]的启发,我们会使用domain-specific batch normalization(DSBN)来解决提到的问题:

\[\hat{X}^{(d)} = \alpha^{(d)} \frac{X^{(d)} - \mu^{(d)}}{\sqrt{(\sigma^{(d)})^2 + \epsilon}} + \beta^{(d)}\]

…(20)

其中:

  • \(X^{(d)} \in X\) 表示:来自domain d的样本。

通过估计在batch normalization中的domain-specific batch统计:\(\mu^{(d)}, (\sigma^{(d)})^2, \alpha^{(d)}, \beta^{(d)}\),我们相信:该模型可以捕获domain-specific信息。

4.2.2 Domain Interst Adaptation Layer

domain interest adaptation layer来自直觉,不同domains假设只关注在raw features的不同部分。我们实现了三种类型的domain interest adaptation layer:linear domain transformation, vanilla domain attention,以及SE-Block-based domain attention:

Linear domain transformation:[14]使用的Linear domain transformation会将original features映射到domain-related features中。假如:\(F_i^{(d)}\)表示来自domain d的embedded input的第i个feature,\(W^{(d)}, b^{(d)}\)共享着与input \(F^{(d)}\)相同的维度。Linear domain transformation方法的描述如下:

\[\alpha_i^{(d)} = \sigma(Q_i^{(d)} F_i^{(d)}) \\ \hat{F}^{(d)} = concat(\alpha_1^{(d)} F_1^{(d)} | \cdots | \alpha_n^{(d)} F_N^{(d)})\]

…(23)(24)

SE-Block based domain attention:Squeeze-and-Excitation Network (SE-Net) 【36】在许多计算机视觉任务上达到了SOTA的结果。我们会讨论SE-Block是另一种形式的attention机制,它可以捕获在不同domains下的特征重要性差异。\(F_{se}\)表示一个(FC, Relu, FC) block和\(F_{avg}\)表示average pooling操作符。\(\alpha^{(d)}\)表示domain d下的N维的SE attention scores vector。

\[F^{(d)} = concat(F_1^{(d)} | \cdots | F_N^{(d)}) \\ \hat{F}^{(d)} = \alpha^{(d)} \odot concat(F_1^{(d)} | \cdots | F_N^{(d)})\]

…(25)(26)

SE-Block based domain adaptation layer会为不同domains学习不同domain attention weights,并以一种轻量且高效的方式来迁移cross-domain知识。

通过添加domain interest adaptation layer给backbone network,raw features会迁移到domain-related features中。在第5.3节中的实验和可视化表明:提出的domain interest adaptation layer。

4.3 Self Training

self training方法已经证明是一种有效的学习策略,可以在模型训练期利用unlabeled data。我们会应用该技术在multi-domain推荐的retrieval step中,有两个原因:

  • 1) 在训练数据中,当在domains间存在数据重合时,有一个潜在的label-level connection。为了更准确,在一个domain中的与user交叉的一个item,在另一个domain中仍会被相同的一个user进行交叉。该假设是有效的,特别是当更大的domain会帮助那些labeled data有限的小domains或新domains。
  • 2) 添加pseudo-labeld data到训练中,必然会变更原始的数据分布,然而,我们会讨论我们提出的self-training方法更适合于召回模型(retrieval models),而非ranking models. 在广告系统中的ranking models需要预测准确的CTR scores】【38】,添加额外的pseudo-labeled data可能会导致未知的效果,因为数据分布已经变化,CTR模型对数据分布非常敏感。然而,广告系统的retrieval models的目标是提供candidates set给下流任务。换句话说,对于retrieval models不需要精准的CTR score,因为多个candidates会平等的生成。因此,额外的潜在兴趣信号可以添加到model中,即使对于生成高质量topK candidates来说数据分布会发生微弱变化。已经存在的方法主要关注sample-level【32】,feature level【14】,parameter level【11】转换,从而忽略label-level transferring。因此,我们提出这种有效的self training方法,通过domains来挖掘潜在的label-level transferring knowledge,它被证明是有效的。

给定一个item v与user u在domain d上交叉,self training方法遵循以下两个steps:

  • a) 对于在除了domain d外的其它domains v,freeze住模型来生成pseudo-labels
  • b) freeze住pseduo-labels,接着fine-tune模型。

根据算法 1,对于每个step,我们会选择具有最高置信分的pseudo-labels,并且在训练期间选择部分(selection portion)会渐近增加。最后对于在其它domains中的v获得pseudo-labels,等式(3)中的\(\theta\)被训练来最小化在训练数据和pseudo-labeled data上的negative log likelihood:\(log s_{\theta}(v \mid u, d)\):

\[\theta^* = argmin_{\theta} \sum_d \sum_u \sum_{v \in B_{u,d}} - (log s_{\theta} (v | u, d) + log s_{\theta}(\bar{v} | u, d))\]

…(27)

其中,\(\bar{v}\)是在给定user u和domain d下,选中的潜在postive pseudo-items。

表3

5.实验

ali在《ATNN: Adversarial Two-Tower Neural Network for New Item’s Popularity Prediction in E-commerce》中提出了ATNN。

3.ADVERSARIAL TWO-TOWER NEURAL NETWORK

本节中,首先描述了new arrivals预估问题。CTR被认为是该问题的最重要的indicator。接着我们描述了ATNN,它会根据它们的流行度(popularity)对所有new arrivals进行排序。

A.问题描述

我们的目标是解决在电商平台上预估关于new arrivals的流行度的冷启问题。由于对于new arivals的流行度(popularity)没有公共评估,我们会使用CTR预估作为一个关键任务来解决该cold-start问题。在平台上有新items发出时,我们会利用模型根据CTR预估来做出个性化推荐。精准的CTR预估可以让购买者(buyers)看到它们更偏好的items,这会满足buyers对于new arrivals的消费期望,增强用户体验。同时,卖家(sellers)也愿意在该平台上提供更新的items,因为增加new arrivals的交易数可以获得利润。

另外,我们的主要目标是,在new arrivals间发现潜在的流行items。然而,对于一个模型来说,评估item流行性是很难的。我们会采用:如果一个item对于大多数购买者(buyers)具有较高CTR,那么它会具有一个高可能性是吸引人的。因此,我们会基于大规模工业界数据,将模型进行扩展,以获得new arrivals在所有用户上的流行度。在new items放到平台上前,该模型能获得关于new items的流行度

特别的,我们会使用item被释放到平台上的前30天信息作为训练数据。我们接着收集这些items的静态数据,包括:Page Views(PV)、UV(Unique Visotors)、用户行为序列(比如:点击、加购物车、加收藏、购买)。我们也会获得item profiles和user profiles作为训练数据的features。Item profiles包含了买家信息、产品名、产品图片、类别。User profiles包含了私人数据,经如:用户名、性别、位置信息、购买偏好、购买力等级等。New arrivals只有item profiles没有item统计信息。我们的目标是对所有new arrivals对在所有用户上的流行度进行排序。

B.普通pairwise user-item CTR预估的双塔模型

DNNs被广泛用来进行普通CTR预估,自动学习feature表示和高阶特征交叉。由DNNs获得的Item vectors可以被用于多个任务,包括new arrivals的流行度估计。

图2展示了一个标准的DNN model,用于pairwise user-item CTR预估。这是一个经典的方法,会首先将一个item embedding和一个user embedding进行concatenate在一起。通过该模型我们不能获得item vector和user vector。

图片名称

图2

为了显式捕获对new item流行度预估的item vectors,我们会构建一个two-tower网络,如图3所示。左塔会从item profiles和item统计信息中抽取信息,来达到item vectors;右塔会利用user profiles来获得user vectors。我们可以显式捕获item vector和user vector,可以用来训练其它模型,并求解与pairwise CTR预估相关的其它任务。我们使用ATNN获得的item vectors来训练一个generator,它会在后描述。

我们会训练模型,通过将每个item,user pair给到network中,包括它们的交叉。一条input样本如下:

\[[itemID, x_{i1}, x_{i2}, x_{i3}, \cdots, userID, x_{u1}, x_{u2}, x_{u3}, \cdots, y]\]

其中:

  • itemID和user ID是唯一标识符
  • \(x_i\)和\(x_u\)表示一个item和一个user的features
  • \(y\)是label

图片名称

图3

C.对new arrivals进行ATNN预估

New arrivals CTR预估与普通CTR预估不同,因为缺少user-item交叉。对于平台新上的items,对比起普通item,通常在它们之上具有少量的用户行为。用户行为非常稀疏,很难训练。另外,对于还没有上的new arrivals,还不存在item统计数据。所有经典方法面临着item统计信息(包括:PV、UV、用户行为预行)的缺失。

受GANs思想的启发,我们设计了一个item generator以及一个discriminator,它可以更好学习只有item profiles的item vectors。如上所述,一个原始的two-tower DNN模型能达到item vectors和user vectors,因为在item encoder和user encoder间存在一个显式层(explicit layer)。我们会利用由双塔网络生成的item vectors来增强generator的feature extraction能力。生成的item vector和user vector的quality会影响CTR预估的精准度。

我们提出在双塔结构中引入一个对抗网络(adversarial network)来进行CTR预估,称为:Adversarial Two-tower Neural Network (ATNN)。ATNN结论如图4所示。左部分是对抗组件,它使用没有任何item统计信息的item profiles来学习更好抽取item vectors。

图片名称

图4

generator设计的目的是:用来从item profiles生成item vectors,以便生成的item vectors与由item encoder生成的item vectors很相似,其中:item encoder从item profile和item统计数据中学习得到。discriminator被设计用来区分:由item generator生成的item vectors、由item encoder生成的item vectors。该generator和discriminator会做一个极大极小博弈(minimax game)来提升效果。discriminator的loss function会基于两类item vectors间的相似度,被定义为\(L_s\)。

另外,我们会使用由generator和encoder两者生成的所有item vectors来训练CTR预估模型。原始two-tower模型的loss function被定义为:\(L_i\)。generated item vectors和user vectors间的CTR预估的loss function被定义为\(L_g\):

\[L_i = - \frac{1}{N} (y_i log\hat{y}_i + (1-y_i) log(1-\hat{y}_i)) \\ L_g = - \frac{1}{N} (y_i log\hat{y}_i^{(g)} + (1-y_i) log(1-\hat{y}_i^{(g)}))\]

其中:

  • \(y_i \in \lbrace 0, 1\rbrace\)是label indicator,表示用户是否对该item有点击
  • \(\hat{y} \in (0,1)\):是基于item vector和user vector的预估label
  • \(\hat{y}^{(g)} \in (0,1)\):是基于generated item vector和user vector的预估label
  • N表示训练样本数

我们会feed每对item\user pair、以及每个user-item pair的交互信息给网络来训练该模型。我们会迭代式最小化loss的方式来最优化ATNN。生成能力以及CTR的预估质量可以被增强。

在gnerators和encoders中会使用DCN。略

另外受transfer learning和multi-task learning的启发,我们让两个item embedding layers共享它们的embeddings。embedding layers会将large-scale sparse features映射到low-rank vectors中,需要大量input样本来训练一个更好模型。在embedding layers间共享features会改善generator组件的能力,以便将item profiles映射到vectors中。

我们在算法1中将ATNN的训练过程进行总结。

图片名称

算法1

在每轮迭代,我们会首先通过以下的loss function来最优化ATNN:

\[L_i(H(f_i(X_i), f_u(X_u)), y)\]

其中,

  • \(X_i\)和\(X_u\)分别表示一个item和一个user的features
  • \(f_i(X_i)\)和\(f_u(X_u)\)表示由item encoder和user encoder获得的item vector和user vector
  • \(H(\cdot)\)函数表示在一个item和一个user间的CTR预估得分

\(L_i\)会使用LR从item profiles和item统计信息,根据给定labels来进行CTR预估。在该步,我们会通过使用item tower和user tower来最优化CTR prediction。

接着,我们会通过以下的loss function来最优化ATNN:

\[L_g(H(g(X_{ip}), f_u(X_u)), y) + \lambda L_s(S(g(X_{ip}), f_i(X_i)))\]

其中:

  • \(X_{ip}\)是一个item profiles的features
  • \(g(X_{ip})\)是generated item vector
  • \(\lambda\)是一个weighting参数,用来对两个loss进行balance
  • \(S(\cdot)\)函数表示在一个generated item vector和一个普通item vector间的相似度

根据给定labels,\(L_g\)使用logistic regression从只有item profiles信息中来评估CTR预估,\(L_s\)会使用mean squared error,如下:

\[L_s(X) = mean((1 - x_i)^2)\]

其中,\(L_s\)会评估在generated item vectors和normal item vectors间的平均相似度。在该step中,我们会最小化在来自generator的generated item vector与item encoder的item vector间的差异。

D.基于ATNN进行大规模new arrivals的流行度预估

我们的目标是:通过对所有items进行流行度排序,来发现潜在的流行new arrivals。然而,对于items流行度的打分没有通用评估。基于合理假设:如果一个item对于大量买家来说具有一个较高CTR,我们认为该商品很可能更吸引人,我们可以利用ATNN来估计new arrivals的流行度。

然而,使用一个pairwise user-item CTR预估模型来完成new arrivals流行度,面临着高时间复杂度的挑战。实际上,对于new arrivals的排序,我们需要获得所有new arrivals流行度。在预估阶段,我们需要构建一个关于所有new arrivals和所有users的笛卡尔积 ( Cartesian product)。因此,预估阶段的时间复杂度是\(O(N_u * N_{NA})\),其中:\(N_{NA}\)表示new arrivals的数目。在电商平台上,每天会来数百万已存在用户和数百万新items。在实际系统中\(O(N_u * N_{NA})\)复杂度的算法是不用运转的。

为了对new arrivals进行排序,没必要获得所有user-item pairs。作为替代,我们选择top 2000w偏好new arrivals的活跃用户,将他们看成一个用户组。我们在训练阶段学习和存储它们的mean user vector。当预估一个item的流行度时,我们只需要使用存储好的mean user vector来做出预估,它可以减少时间复杂度:每个item从\(O(N_u)\)到\(O(1)\)。图5展示了ATNN模型对于new arrivals流行度预估的效率。

图片名称

图5

参考

microsoft在《Predictive Model Performance: Offline and Online Evaluations》中提出在线评估与离线评估中 AUC的特性:

1.介绍

对于一个常见的机器学习问题,训练和评估(or test)样本会从模型所需要的population中随机选出,预估模型会基于训练样本构建。接着,学到的模型会被应用到evaluation data上,模型的qualities会使用选中的evaluation metrics进行measure。这被称为“offline evaluation”。

另外,高度复杂的现代应用,比如:google/bing的搜索引擎,经常会在一个controlled AB testing平台上对最好的离线模型进行开展在线评估(称为online evaluation)。

现实中模型评估的一个问题是:在离线评估中模型效果的提升有时不会收到实际效果,或者有时在在线评估时获得相反结果。不同于静态offline evaluation,在controlled环境下的online Testing是高度动态的,当然,在离线建模期间都没有考虑的许多因素会对结果有重要影响。然而,这些observations会抛出一个问题:是否存在会导致这样差异在离线评估指标上的基础biases或限制。

另一个问题是:使用不同类型的数据构建的模型所进行的效果对比,特别是那些带有稀有事件(rare events)数据。稀有事件(rare events)会比其它事件以更低频率出现,从而导致在classes间的倾斜样本分布。在真实世界问题中,这是个相当常见的现象。(rare events)的样本包含了在web search结果链接上的点击、展示广告的点击、在产品广告上的购买。之前的研究已经表明,一些metrics可能会过度估计对于倾斜样本的模型效果。该observations会导致以下的问题:

  • 有了该bias,我们如何解释和对比应用不同类型数据的模型效果
  • 例如,当我们构建对于文本广告和展示广告的预估模型时,我们可以使用离线指标作为可对比度量(comparative measures)来预估它的真实效果吗
  • 假设我们知道一个模型的真实效果,并且我们获得了另一个模型(the other model)相当的离线指标(offline metrics)。我们是否就可以估计该另一个模型(the other model)的真实效果呢?如果不能,我们应使用哪种metrics进行替代?

我们提出一种新的模型评估范式:仿真指标(simulated metrics)。对于在线行为的离线仿真,我们实现了 auction simulation,并使用simulated metrics来估计该点击预估模型的在线模型效果。由于simulated metrics被设计用于模拟在线行为,我们期望更少遭受效果差异问题。另外,由于simulated metrics直接估计像user CTR等在线指标,他们可以被直接对比,即使模型基于不同数据进行构建。

4.评估指标

我们集中关注点击预估问题中的metrics。一个点击预估模型会估计:给定query下,广告的位置无偏(position-unbiased) CTR。我们将它看成是一个二分类问题。

我们将NDCG排除在外,是因为它更偏向于ranking算法,在eariler ranks位置放置更多相关结果。如第2.1节所述,在搜索广告领域,排序(ranks)不光由pClick scores(例如:预估点击)决定,也会由rank scores影响。因此,使用NDCG的rank顺序来对pClick的效果进行measure是不合适的

我们也会在review中排除Precision-Recall(PR)分析,因为在PR曲线和ROC曲线间有一个连接,从而在PR曲线和AUC间会有一个连接【9】。Davis等人展示了:当且仅当在PR空间内主导的曲线,会在ROC空间中主导。

4.1 AUC

考虑一个二元分类器,它会产生:

  • p:表示一个事件发生的概率
  • 1-p:表示事件不会发生的概率

p和1-p表示:每个case是两种事件其中之一。为了预估所属class,threshold是必要的。AUC(Area under the ROC (Receiver Operating Characteristic) 曲线),提供了一个在threshold所有可能范围间的判别式衡量(discriminative measure).

在一个混淆矩阵中,4个不同部分的概率对比:

  • 真阳率- true positive rate (TPR) :也叫做sensitivity
  • 真阴率- true negative rate (TNR) :也叫做specificity
  • 假阳率- false positive rate (FPR) :也叫做 commission
  • 假阴率- false negative rate (FNR) :也叫做 omission errors

从混淆矩阵中派生出的这4个scores和其它关于accuracy的measures,比如:precision, recall, or accuracy 都依赖于threshold。

ROC曲线是一个关于sensitivity (or TPR)的一个图形描述,是一个关于二分类的FPR的函数,随threshold变化。AUC计算如下:

  • 按模型预估分的降序进行sort
  • 为每个预估值计算真阳率(TPR)和假阳率(FPR)
  • 绘制ROC曲线
  • 使用梯形近似(trapezoid approximation)来计算AUC

经验上,AUC是一个关于任意scoring model的预估能力的可靠指标。对于付费搜索,AUC,特别是只在主线广告上measure的AUC,是关于模型预估能力的最可靠指标。一个好的模型(AUC>0.8),如果AUC能提升1个点(0.01),通常具有统计显著提升(statistically significant improvement)

预估模型使用AUC的好处包括:

  • AUC提供了一个:在所有可能threshold范围上,对整个模型效果的单值判别式得分归纳。这可以避免在threshold选择中的主观因素
  • 可以应用到任意scoring function的预估模型上
  • AUC得分介于[0, 1]之间,得分0.5表示随机预估,1表示完美预估
  • AUC可以同时被用于预估模型的offline和online监控中

4.2 RIG

RIG (Relative Information Gain:相对信息增益)是一个关于log-loss的线性转换:

\[RIG = 1 - \frac{log loss}{Entropy(\gamma)} \\ = 1 - \frac{-c \cdot log(p) - (1-c) log(1-p)}{-\gamma \cdot log(\gamma) - (1-\gamma) log(1 - \gamma)}\]

其中:

  • c和p分别表示observed click和pClick。
  • \(\gamma\)表示评估数据的CTR

Log-loss表示click的期望概率(expected probability)。最小化log-loss意味着pClick应收敛到expected click rate上,RIG score会增加。

4.3 MSE

MSE (Mean Squared Error)会对average squared loss进行measure:

\[MSE(P) = \frac{\sum\limits_{i=1}^n (c_i \cdot (1 - p_i)^2 + (1 - c_i) \cdot p_i^2)}{n}\]

其中:

  • \(p_i\)和\(c_i\)分别样本i是pClick和observed click

NMSE(Normalized MSE)是由CTR, \(\gamma\)归一化的MSE

\[NMSE(P) = \frac{MSE(P)}{\gamma \cdot (1-\gamma)}\]

4.4 MAE

Mean Absolute Error (MAE) 由以下公式给出:

\[MAE(P) = \frac{1}{n} \sum\limits_{i=1}^n e_i\]

其中:\(e_i = p_i - c_i\)是一个 absolute error.

MAE会权衡在prediction和observation间的distance,同时忽略掉到关键operating points的距离。MAE常用于measure在时序分析中的forecast error。

经验上,对于付费搜索(sponsored search),预估pClick模型的功率来说,该指标具有一个好的效果。它与AUC一起,是最可靠的指标之一。

4.5 Prediction Error

Prediction Error(PE)会measure由CTR归一化的平均pClick:

\[PE(P) = \frac{avg(p)}{\gamma} - 1\]

当平均pClick score准确估计CTR时,PE会变0。另一方面,当pClick scores相当不准时(有可能欠估计、过估计的混合,平均值与underlying CTR相似),PE可能接近0。这使得prediction error相当不稳定,它不能被用来可靠估计分类accuracy

4.6 Simulated Metric

尽管在controlled AB testing环境下的在线实验会提供关于用户engagement方面的模型的真实效果对比指标,AB testing环境是通过一些固定参数值集合预设定的,因而,在testing环境上的模型效果指标只对应于operating points的给定集合。在多个operating points集合上开展实验,是不实际的,因为在线实验不仅耗时,而且如果新模型效果欠佳,对于用户体验和收益都很昂贵。

作为在线评估的替代,在整个可行operating points的范围(span)上,一个模型的效果可以使用历史在线用户engagement data进行仿真。Kumar et.为federated search 开发了一种在线效果仿真方法[20]

Auction simulation,首先:为给定query会离线复现ad auctions,并基于新的模型预估分、以及多个operating points集合选择一个ads集合

我们使用付费搜索(sponsored search)点击日志数据来实现auction simulation,并生成多个simulated metrics。Auction simulation,首先,为给定query离线复现ad auctions,并基于新模型预估分选择ads的一个集合。在仿真期间,会使用在日志中提供的(query, ad) pair的历史用户点击来预估用户点击:

  • 如果(query, ad) pair在日志中被发现,但仿真的ad-position与在日志中的posiiton不同,expected CTR会通过position-biased histric CTR(或click曲线)被校准(calibirated)。一般的,对于相同的(query, ad) pair,主线广告(mainline ads)会比sidebar ads获得更高的大CTR,在相同ad block内,对于相同的(query, ad) pair,在更高位置的广告会获得更高的CTR。
  • 如果predicted(query, ad) pair不会出现在historic logs中,会使用在ad-position上的平均CTR(也被称为:reference CTR)

Click曲线和reference CTR来源于自在搜索广告日志中的historic user responses。

经验上,对于operating points的给定集合,auction simulation会生成高度准确的ads集合,它们会被新模型选中。 Simulated metric通常结果是在线模型效果的最强离线估计之一。

5.METRICS在真实世界中的问题

在本节中,我们分析了行为、限制以及缺点。注意,我们不打算建议:由于限制和缺陷,这些指标被一起排除。我们会宁可建议metrics被小心应用和说明,特别是那些会产生误导估计的metrics。

5.1 AUC

AUC是一个可以评估预估模型效果的相当可靠的方法,它在样本数据的特定条件下仍会有缺点。该假设是:AUC是一个需要被重新检查模型效果的充分测试指标。

首先,它忽略了预估的概率值(predicted probability values)。这使得它对于预估概率的保序变换不敏感。

  • 一方面,这也是个优点,它使得在不同的measurement scales上生成的数值结果是可对比测试的。
  • 另一方面,对于两个tests来说,生成具有相似AUC scores、并且非常不同的预估输出是相当可能的。它可能是一个较差拟合模型(poorly fitted model)(对所有预估过拟合、或者欠拟合),具有一个良好的判别能力;而一个良好拟合模型(well-fitted model),如果出现概率略微高于不出现概率时,会具有较差的判别。

表2中的示例展示了:一个poorly-fitted model,它使用大量负样本,具有非常低的pClick scores,从而有更低的CTR,反而具有较高AUC score。在相对更高的pClick scores范围内,它会影响FPR的降低,从而提高AUC score

图片名称

表2 AUC反常示例1:一个poorly fitted model,具有更高AUC,现在大量负样本集中在pClick score范围的低端(图中的第一张图展示了:better1-fitted模型)

第二,在整个ROC空间的spectrum上(包括很少操作的区域),它会总结测试效果。例如,对于付费搜索,在mainline上放置一个ad会显著影响CTR。不管ad在mainline上被展示、还是不被展示,predicted CTR如何拟合actual CTR并不是个大问题。换句话说,ROC的极左和极右通常很少用。Baker and Pinsky提出了partial ROC曲线作为整个ROC曲线的一个替代选择。

图片名称

表3 AUC反常示例2: 在FPR的两端上,样本分布的变化会非常影响AUC score,尽管实际效果提升与在practical operating point很相近

已经观察到,更高的AUC并不必然意味着更好的rankings。如表3所示,在FPR两端上样本分布的变化会非常影响AUC score。然而,模型效果在CTR上的影响可能是相同的,特别是在threshold的practical operating points上。由于AUC不会区分ROC空间的多个区域,一个模型仅仅通过在数据的两端最优化模型效果,就能最大化AUC score。这会导致在实际在线流量上,低于期望效果增益。

第三,它会等价权衡omission和omission errors。例如,在付费搜索中,在mainline中没有放置最优ads的惩罚(penalty)(omission error)远远超过放置一个次优ads的惩罚(penalty)。当误分类代价不等时,对所有可等threshold进行汇总是有瑕疵的。

图片名称

表4 AUC反常示例3: 一个poorly fitted model与well-fitted model具有相似的AUC

最后,AUC高度依赖于数据底层分布。AUC会对两个具有不同负样本率的数据集进行计算。如表4所示,一个具有较低内在CTR的poorly-fitted模型,会与一个well-fitted模型具有相同的AUC。这意味着,一个使用更高负样本率训练的模型,具有较高AUC score时,并不必然意味着模型具有更好的预估效果。图1绘制了关于付费搜索和contextual ads的pClick模型的ROC曲线。如图所示,contextual ads的AUC score要比付费搜索的AUC高3%,尽管前者会更不准:付费搜索为\(\frac{avg \ pClick}{actual \ CTR} = 1.02\),而contextual ads为0.86。

图片名称

图1

5.2 RIG

类似于AUC,RIG的一个问题是,它对评估数据的底层分布是高度敏感的。由于评估数据的RIG score的范围会随着数据分布非常不同,我们不能仅评RIG scores来决定一个预估模型有多好。

图片名称

图2

图2展示了RIG(实线:solid curve)和PE(虚线:doted curve)随着一个关注的CTR区间的变化情况。我们观察到,RIG scores会随着dataset中的CTR的增加而降低,即使是相同的预估模型。图2中的prediction error意味着,prediction score与true CTR有多接近。正如所期望的,click prediction error要比低的pClick score区间要高。

这种行为符合我们关于不同点击预估数据集的早期观察,它会随intrinsic CTR的level而不同。该observations建议实践时如下:

  • 不应直接使用RIG scores的实际值 来对比两个预估模型效果,如果得分来自不同分布的多个数据集合。
  • RIG scores可以被用于对比多个模型在同一个数据上进行test的相对效果
  • 一个独立的RIG score,信息不足够去估计预估模型的效果,因为该score不仅取决于模型效果的质量,也会非常受数据分布的偏向性影响

6.离线和在线效果差异

实践中,关于离线评估指标,一个非常显著的问题是:离线和在线间的效果差异。存在这样的情况:一个预估模型在离线指标上达到显著增益,在online testing环境部署时发现效果表现并不好

表5总结了一个点击预估模型在Bing付费搜索数据上构建的离线和在线指标,并在一个线上真实流量上进行online AB testing环境实验。Click yield(CY)是一个在线用户点击指标,它会measure每个搜索PV上广告的点击数。Mainline CY是在每次搜索PV下mainline ads的点击数。新模型vs baseline模型,会在在线环境中在user clicks上显著下降,即使在离线评估数据上AUC和RIG会有显著收益。

表5

图3对比了:在感兴趣pClick scores范围内,每个分位下(quantile),两个点击预估模型的log-loss(baseline:model-1,test:model2)。Model-2会在较低pClick score范围的分位上大量过度估计(overestimates)pClick scores。图4绘制了相同数据的prediction error。

图片名称

图3

图片名称

图4

对比起低pClick score范围的过度估计,pClick scores的更高范围上于click概率做出过度估计对于在线效果影响较小,因为在高pClick score范围上的广告最可能被多个模型选中。一旦展示给用户,user clicks大多数由ad-position和ads的relevances决定,而非分配的pClick scores。

另一方面,在较低pClick范围上对pClick scores的过度估计,会对在线指标做出显著负影响;对比起base model,较低质量的ads有更高机率被选中。选中的较低质量的ads,由于过度估计pClick scores,会导致对user clicks的较低rate,从而伤害在线指标。

大多数离线指标包括:RIG和AUC,不能捕获这些行为,因为:指标会贯穿pClick scores的整个范围累积该影响。

6.1 Simulated Metrics

我们会通过第4.6节描述的 auction simulation来计算simulated metric。 simulated click metrics的实验结果会伴随着表6中归纳的offline和online指标。我们首先会训练一个新模型,并最优化参数设定,来通过基于历史日志数据的auction simulation提供最好的期望用户点击指标。具有最好表现的click metrics如表所示。

JADIDINEJAD在《The Simpson’s Paradox in the Offline Evaluation of Recommendation Systems》中提出推荐系统中的Simpson’s Paradox:

1.介绍

推荐系统通常会以online(A/B testing或interleaving)或offline方式进行评估。然而,由于online evaluation[6,14]部署研究系统的难度,推荐系统的离线评估仍然是大范围使用的evaluation方式。实际上,很难以离线方式通过使用历史用户交互日志可靠地评估一个推荐模型的效果【7,16,43】。该问题是因为存在混淆因子(confounders),例如:那些可以影响items的曝光(exposure)以及结果(outcomes)(比如:ratings)的变量。在当一个平台尝试建模用户行为时,如果没有解释在曝光的推荐items的选择偏差(selection bias),这时会出现confounding问题,从而导致不可预料的结果。在这种情况下,很难区别用户交互是来自于用户的真实偏好、还是受部署推荐系统(deployed recommender system)的影响

通常,推荐系统的离线评估会具有两个阶段:

  • 1) 收集来自一个deployed system的用户反馈集合
  • 2) 使用这样的feedback来经验性评估和比较不同的推荐模型

第一阶段可以服从不同类型的confounders,即可以是由用户关于item的选择行为来初始化,或者通过受deployed推荐系统的动作影响来初始化。例如,除了其它交互机制(比如:搜索)之外,用户更可能会与被曝光的items进行交互。在这种方式下,在一个新推荐模型的离线评估中使用历史交互,而这样的交互从deployed推荐系统中获取得到,形成一个closed loop feedback,例如:deployed recommender system存在对收集到的feedback的具有一个直接影响,它可以被用来进行对其它推荐模型的离线评估。因而,新的推荐模型会根据它趋向于模拟由deployed model收集到的交互有多像来进行评估,而非有多满足用户的真实偏好。另一方面,在一个open loop(随机化)场景中,deployed model是一个随机推荐模型,例如:为users曝光随机的items。因此,在deployed model与新的推荐model间的feedback loop会打破,deployed model不会对收集到的feedback dataset具有影响,相应的,它对于在基于收集到的feedback dataset上对任意新模型的离线评估都没有影响。然而,为users曝光随机items是天然不实际的,用户体验会降级。因此,基于closed loop feedback对推荐系统进行训练和评估会是一个严重问题

Simpson’s paradox是统计学中的一个现象,当多个不同分组的观察数据中出现的一个显著趋势,会在这些分组组合在一起时消失或者逆转【29】。在推荐场景中,当曝光(例如:推荐items)和结果(例如:用户的隐式和显式反馈)相关联时,并且曝光和结果会受一个第三方变量强烈影响时,会发生Simpson’s paradox。在统计学上,如果观察到的feedback是Simpson’s paradox的一个产物,根据confounding variable对feedback进行分层,可以消除悖论。我们会讨论:在推荐系统的情况下,该confounding variable是交互数据被收集的deployed model(或系统),a.k.a:closed loop feedback【17】。在本paper中,我们的核心目标是,对于closed loop feedback在推荐系统离线评估上提供一个in-depth研究,并提供了一个健壮的解来解决该问题。特别的,我们会讨论:从一个deployed model收集到的feedback datasets会偏向于deployed model的特性,并导致证实Simpson’s paradox的结论。我们通过研究在推荐系统离线评估上的confounding variable(例如:deployed model’s的特性),可以观察到显著趋势;当从经典离线setting中上报observations时,该趋势接着会消失或逆转。另外,我们提出了一种新的评估方法,它可以解决Simpson’s paradox,以便产生一种更合理的推荐系统离线评估方法。

为了更好地理解该问题的微妙之处,考虑一个deployed推荐模型,它会提升一个指定分组的items(例如:流行的items)——对比起只有少量交互的长尾items,存在一些少量的头部items,它们会被广泛曝光给用户并获得大量交互。当我们基于从前面deployed model收集到的feedback来评估一个新的推荐模型时,如果没有解释不同的items曝光的有多频繁,评估过程会被deployed model的特性所混淆,例如:任意模型的效果会具有这样一个趋势,展示与已经存在的deployed model相似的属性,这很可能会引起过估计(over-estimated)。在这种情况下,我们可能会选择部署一个匹配已deployed model的特性的新模型,从实际用户角度看,它会比另一个模型更低效。在本paper中,我们通过研究该问题在标准离线评估中做出结论的结果,并提出一种新的方法来解决该问题。特别的,本paper的贡献有两块:

  • 我们提出了一种in-depth分析
  • 为了解决该问题,提出了一个新的propensity-based stratified evaluation方法

2.相关工作

我们的工作主要受三块相关工作的启发:

  • 在l2r中解决bias(2.1节)
  • 算法混淆(algorithmic confounding)或closed loop feedback(2.2节)
  • 在counterfactual learning和evaluation中的工作(2.3)

3.离线评估法

本节中,我们会将当前offline evaluation方法进行总结,称为标准holdout evaluation和counterfactual evaluation。

3.1 Holdout Evaluation

3.2 Counterfactual Evaluation

4.介绍

辛普森悖论(Simpson’s paradox)是统计学中的一种观察现象:在观察数据集的许多不同groups中都出现的一个显著趋势,当将这些groups组合在一起时会消失甚至反转。该topic在许多文献上被广泛讨论。在该现象中会出现一个明显的悖论,当聚合数据时会支持这么一个结论:它与在数据聚合前的相同的分层数据的结论相反。当两个变量间的关系被研究时,如果这些变量会被一个协变量(confounding variable)所强烈影响时,就会发生辛普森悖论。当该数据根据混杂变量(confounding variable)进行分层时,该悖论会展示出相悖的结论。在这种情况下,使用一个显著性检验(significance test)可以识别出在一个指定层做出的错误结论;然而,如第7节所示,显著性检验不可能识别出这样的统计趋势(trends)。在推荐系统的评估场景,会在所有用户上进行testing,这里讨论的悖论通常会涉及到user-item feedback生成过程。在另一方面,当因果关系(causal relations)在统计建模中被合理解决时,辛普森悖论可被解决。

在本节中,为了演示辛普森悖论,我们会从一个paper[8]中呈现一个真实示例,它会对比肾结石(kidney stone disease)的两种治疗方法(treatments)的成功率。这里的目标是:基于观察找出哪个treatment更高效。【8】会随机抽样350个病人,它们会接受每个治疗,并上报如表1所示的成功率。一个合理的结论是:treatment B要比treatment A更高效(83% vs. 78%的康复率)。另一方面,悖论是,当考虑上结石大小时,比如:treatment A对于小size(93% vs. 87%),大size(73% vs. 69%)两者都要有效,但最终的成功率会反转。[8]会讨论treatment (A vs. B) 以及结果(成功 vs. 失败)会与一个第三个混杂变量(confounding variable:这里的结石大小)有关。

图片名称

表1 a) 肾结石示例。每个条目表示:恢复数/总病人数,成功率见括号 b) 推荐系统中离线评估的辛普森悖论。每个条目表示了受检模型在相应分层上的效果。*表示对比其它模型的一个显著差异(paired t-test, p<0.05)

假设 1: 医生趋向于对不严重病例(例如:小结石)选择treatment B,对于更严重病例(例如:大结石)使用treatment A进行治疗

表1验证了以上的假设,例如:大多数接受treatment A的病人都是大结石病例(group 3中350个随机病人中有263个),而大多数接受treatment B的病人都是小结石病例(Group 2的350中的270)。因此,当从接受A或B治疗的病人中被随机挑选样本时,抽样过程并不纯随机,例如:样本会倾向于:严重病例进行treatment A进行measuring,而轻症病例进行treatment B进行measuring。这就是因果分析中著名的现象:辛普森悖论。

表1b展示了在推荐系统的离线评估中的辛普森悖论示例。我们对两个推荐模型的有效性进行评估,如表1b中的A、B模型。两个模型会在相同的dataset上使用相同的evaluation metric进行评估。根据一个paired t-test,在检查的数据集上的标准离线评估表明:模型A要明显好于模型B。然而,将待检测数据集划分成两个层(Q1和Q2)表明:模型B对于待测数据集的99%(Q1)要更好,而模型A在1%(Q2)上面要更好。当Q1和Q2进行聚合时,模型B在99%待测数据集上的的统计优势会消失。在以下部分,我们会呈现:辛普森悖论是如何影响推荐系统的离线评估的,并讨论这样的悖论的原因,以及提出一个新的评估方法来解决它。

5.基于倾向的分层评估(PROPENSITY-BASED STRATIFIED EVALUATION)

当为一个推荐系统的离线评估创建一个数据集时,用户反馈不仅会用户与来自deployed recommendation system推出的items交互上被收集到到,也会通过其它形式(比如:当浏览item的目录时发生的交互、或者点了sponsored items的链接)进行收集得到。对于区分用户的不同反馈源来说并不简单,因为没有公共数据集提供这样的数据来确定用户反馈的source。因此,在本paper中,我们的研究主要关注于用户反馈的主源,称为deployed system。为了演示在推荐系统中的辛普森悖论,我们需要一个因果假设,它与第4节中的假设1相似。

图片名称

图1 推荐系统中的Closed loop feedback

图1a展示了一个典型推荐系统的信息流,其中用户反馈会通过deployed system进行收集。

  • 部署好的推荐系统组件(通过RecSys表示)会为target user(例如:通过推荐items的一个ranked list)过滤出items进行曝光(exposure: e)
  • 另一方面,用户在items上记录的偏好(例如:ratings或clicks)(用r表示)会被作为交互数据来训练 或 评估推荐模型的下一次生成(next-generation)。

因而,由于用户点击是从RecSys曝光的items获得的,模型本身会影响数据的生成,而它们则会被用于训练和评估。图1a中的系统是一个动态系统,其中,系统进行简单联想推理(associative reasoning )的原因是很难的,因为每个组件会互相影响。图1b表明了在这样一个闭合循环反馈场景下的因果关系图。实线表示了在原因和效果间一个explicit/observed关系,而虚线表示了一个implicit/unobserved关系。如上所示,在推荐系统的case中,主要的混合变量是,来自交互数据的deployed model会被收集。我们的目标是,基于来自deployed model收集到的封闭循环反馈(r))评估一个推荐模型(Y)的效果会影响主干扰因子(main confounder),例如:deployed model的特性。在该情况下,很难区分: 来源于用户真实偏好影响的的用户交互,或者受deployed recommendation model影响的用户交互。因此,在该场景下,用户反馈通常会通过deployed system进行收集,我们会假定,基于闭循环反馈数据集的推荐模型离线评估,会受以下deployed recommendation model的强烈影响:

假设2: 闭环循环反馈(closed loop feedback)会从一个deployed recommendation model来收集到,并倾向于deployed model的特性(characteristics)(例如:曝光items)deployed model的该特性会在推荐模型的离线评估中作为一个混淆因子(confounding factor)。

deployed recommendation model的核心问题是:尝试建模潜在的用户偏好,在没有解释算法混淆的情况下,这使得它很难对用户行为(或者使用用户数据)做出断言。另一方面,如果图1a中的RecSys组件是一个random模型,那么在User和RecSys组件间的连接会被移除,RecSys组件会在收集到的feedback dataset上没有影响,这种情况 称为“开环循环反馈(open loop feedback)”,对比起在collection中的任意其它item,没有items会接收到或多或少的期望曝光。

如图1b所示,如果deployed model的特性(e)可以被标识和评估,离线评估(Y)会与confounder独立。因此,为了验证在推荐系统中(假设2)closed loop feedback的影响,我们必须量化deployed model的特性。结尾处,根据5,47,我们会如下定义propensity score:

定义5.1 propensity score \(p_{u,i}\)是deployed model(如图1a中的RecSys描述)对于expose item \(i \in I\)的曝光给user \(u \in U\)的趋势

propensity \(p_{u,i}\)是在一个闭环反馈场景下,deployed model将item i曝光给user u的概率。该值会对来自一个无偏开环曝光(unbiased open loop exposure)场景的系统偏差(deviation)进行量化,其中:随机items会被曝光给该用户,deployed model对收集到的feedback没有影响。propensity score \(p_{u,i}\)允许我们基于观察到的闭环feedback来设计并分析推荐模型的离线评估,因此它会模拟一些开环场景的特殊特性。

分层(Stratification)是用来标识和估计因果效应的知名方法,会在每个层调查因果效应之前,首先标识出潜在层(underlying strata)。总意图是:在confounding variable上进行分层,并研究在每个层上的潜在结果。因此,衡量不考虑confounding variable的潜在结果是可能的。在这种情况下,在confounding variable上的边缘化(marginalisation)可以作为一个组合估计(combined estimate)被使用。如前所述,在推荐系统中的假设condounding variable是deployed model的特征(假设2)。定义5.1会将该变量量化成倾向(propensities)。在这种情况下,在propensity scores上的分层会允许我们分析deployed model特性在推荐模型的离线评估上的该效应。

出于简洁性,假设我们具有一个单一的categorical confounding variable X。如果我们基于X的可能值将观察到的结果进行分层,那么潜在结果(Y)的期望值如下所示:

\[E(Y) = \sum\limits_x E(Y | X=x) P(X=x)\]

…(4)

其中:

  • \(E(Y \mid X = x)\)是在给定分层x下对于observed结果的条件期望,
  • \(P(X=x)\)是x的边缘分布。

例如,在肾结石的示例中,condounding variable是结石大小,基于它进行分层(\(X = \lbrace small, large \rbrace\)),潜在结果是treatment效果。我们可以基于等式(4)计算每个treatment的期望值。例如:treatment A的期望值可以按如下方式计算:

\[E(A) = E(A | X = small) P(X=small) + E(A | X = large) P(X = large)\]

…(5)

例如:基于表1a和等式(5)中的数字,treatment A的期望值(resp. B)分别计算为:0.832和0.782,

计算:

  • P(X=small)=(87+270)/(87+270+263+80)=0.51,
  • P(X=large)=(263+80)/(87+270+263+80)=0.49
  • E(A) = 0.93 x 0.51 + 0.49 x 0.73 = 0.832
  • E(B) = 0.87 x 0.51 + 0.69 x 0.49 = 0.782

E(A) > E(B),它可以更好地估计treatments的实验效果。

相似的,对于表1b的推荐示例,模型A和模型B的期望值分别被计算为:0.343和0.351(计算所需数据参考第7节),计算如下:

  • E(A) = 0.339 * 0.99 + 0.695 * 0.01 = 0.343
  • E(B) = 0.350 * 0.99 + 0.418 * 0.01 = 0.351

从而得到E(B) > E(A)。

如上所示,在推荐系统中,主要的假设混淆变量是deployed model(假设2)。该变量可以量化成propensity scores(定义5.1)。Propensity是一个连续变量。在本paper中,我们会通过将propensity scores进行排序和分片成将它转换成一个categorical variable,然后转成一个预定义好数目的分层,例如:表1b中的Q1和Q2分层。在表1a和表1b的两个case,都基于假设混淆变量并使用等式(4)对等验证分层进行边缘化,会解决Simpson’s paradox。例如:在表1b中,模型B会被认为更好的model,因为它对于99%的user-item feedback在效果上要好。这个重要的趋势会被提出的分层评估进行捕获,而在标准离线评估中,当将Q1和Q2分层聚合在一起时,结论会完全逆转。在下节中,我们会研究simpson paradox的效应,以及提出的propensity-based分层评估的好处。特别的,我们研究了以下问题:

研究问题1:在closed loop feedback场景下,推荐系统的离线评估有多大程度是受deployed model特性所影响的

然而,我们的目标是评估deployed model特性在推荐模型离线评估中的confounding effect,如图1b所示。就这一点而言,相似的原理图示例如第4节所示,我们对于将基于deployed model的特性的observed closed-loop feedback进行分层这一点比较感兴趣。这样的分层分析使得我们可以去评估:在推荐系统的标准离线评估中辛普森悖论的存在。从而,我们会研究许多不同推荐模型的相关关系的显著趋势,其中:在大多数层上观察到的一个趋势,在标准离线评估中会消失或者逆转。

研究问题2:当进行一个可比离线评估时,propensity-based stratified evaluation是否可以帮助我们更好地估计实际的模型效果

在上述研究问题中,我们的目标是:评估在推荐模型的离线评估中,提出的提出的propensity-based stratified evaluation是否有效。如等式(4)所示,我们可以利用在confounding variable分布上的边缘化(marginalisation)作为潜在结果的一个组合估计。在该研究问题上,我们会评估:该估计是如何与open loop(randomised) evaluation相关的,其中deployed model是一个随机推荐模型(例如:random items会被曝光给该user)。特别的,给定一个特别的评估方法(open loop、closed loop等),我们可以去measure基于标准的rank-based评估指标(nDCG)多种推荐模型的效果,并记录这些模型的所用metrics的相对排序。我们接着研究在examined models的相对排序间的相关性,并对比从一个open loop(随机化)设定下获得的rankings,以及使用propensity-based evaluation这两者的评估。我们会利用适当的显著性检测,如第6节所述,来决定:在对比标准的离线holdout evaluation时,由d propensity-based stratified evaluation评估的模型效果要比open loop(随机) evaluation更好。

6.实验设定

下面,我们会通过实验来解决两个前面的研究问题。图2表示了实验的总结构。每个评估方法(X, Y和Z)会会基于它们的相对表现对多个检查的推荐模型进行排序。我们会使用Kendall’s \(\tau\) rank相关系数来对受检模型在每个评估方法上(Y or Z)的相对顺序间的联系,对比ground truth进行measure,例如:open loop(randomiszed) evaluation(X)。这样的相关值会在图2中被描述成\(\tau_{XY}\)和\(\tau_{XZ}\)。另外,我们会使用Steiger’s方法来测试在两个评估方法间的差异显著性,例如:baseline evaluation method(Y)以及提出的evaluation method(Z)。我们会对比propensity-based stratified evaluation、标准offline holdout和counterfactual evaluation方法作为baseline两者。以下,我们描述了我们实验设定的详情,包含:使用的数据集和评估指标、受检推荐模型、以及如何在实验中估计propensities。

图片名称

图2 基于Steiger’s方法的依赖相关度(dependent correlations)显著性测试。每种评估方法(Y and Z)的效果可以通过基于与open loop (randomised) evaluation (X)之间的Kendall’s \(\tau\) rank collrelation进行measur。在baseline evaluation方法(Y)和提出的evaluation方法(Z)间的显著性差异可以基于Steiger’s方法进行measure。

6.1 Datasets和Evaluation Metrics

我们会使用4种数据集,它们被推荐系统的离线评测所广泛使用,称为:MovieLens、Netflix、Yahoo! music rating、Coat shopping dataset。

  • MovieLens包含了6k users对4k items的1M的ratings
  • Netflix包含了10k users对5k items的607k ratings
  • 而Yahoo! dataset包含了300K ratings,它由15.4k个users对1k items进行rate得到
  • Coat shopping dataset:模拟以在线方式购买coat。包含了mh 290 users对 300 items的7k ratings。

所有datasets都通过一个unknown deployed recommendation system以closed loop方式进行收集得到。另外,Yahoo! dataset还有一个独特的feature:一个关于users(5.4k)的子集会被要求对10个随机选中的items(open loop场景)进行评分(rate)。因此,对于该子集,我们会具有closed loop和open loop(random) feedback。相似的,对于Coat dataset,每个用户会被要求提供对于24个self-selected(closed loop) items、以及16个随机选中(open loop) items进行ratings。然而,在一个真实的evaluation setup中,模型会基于收集到的closed loop feedback进行训练;因为实际评估会基于open loop(random) feedback进行很难进行收集。

我们会使用normalised Discounted Cumulative Gain(nDCG@k) metric 对不同的cut-offs(k={5,10,20,30,100}),而非使用不带rank cutoff的nDCG。以便表示对于每个user的所有items的rank metric。对于所有datasets的用户rating值是一个整数 \(r \in [0, 5]\)。我们的目标是:对每个user的最相关items进行排序。因此,我们会将所有explicit rating values进行二值化,通过(r>=4)来保留最高的推荐items。在closed loop evaluation中,我们会使用80%的closed loop dataset(MovieLens, Yahoo!和Coat)来进行训练,另外20% random split作为testing另一方面,对于open loop evaluation(Yahoo! & Coat),我们会在所有提供的open loop(randomised) feedback上进行评估。

6.2 推荐模型

我们使用由Cornac framework提供的实验来评估以下的模型:

  • BO: 一个简单的baseline model:会在忽略用户偏好的情况下,推荐一个随机的items组合给每个用户
  • GA:一个baseline model,会在忽略用户偏好的情况下,推荐全局平均rating给每个user
  • POP:一个baseline model,会在忽略用户偏好的情况下,它会基于流行度(popularity:例如:一个指定item被评分的次数)来对items进行rank
  • MF:Matrix Factorisation,一个rating prediction模型,它会将users和items表示为latent vectors。该模型会被用来预测每个user-item pair的observed rating
  • PMF:Probabilistic Matrix Factorisation。MF的扩展版本。
  • SVD++:
  • WMF:Weighted MF。MF的扩展版本。
  • NMF:Non-negative Matrix Factorisation。
  • BPR:Bayesian Personalised Ranking。
  • MMMF:Maximum Margin Matrix Factorisation
  • NCF: Neural Collaborative Filtering
  • MLP: Multi-Layer Perceptron
  • GMF: Generalised Matrix Factorisation
  • NeuMF: Neural Matrix Factorisation

我们对在closed-loop和open loop场景下的模型效果的相对顺序比较关心。因此,根据以下研究,我们会采用不同的超参数来控制latent factors的size:{10, 20, …, 100},从而导致有104个模型需要评估。每个受检模型会指定相应的latent variable size。比如:size m=40 MF,则为\(MF^{40}\)。我们的代码和数据集可以在: https://github.com/terrierteam/stratified_recsys_eval.提供。

6.3 估计Propensity Scores

propensity score \(p_{u,i}\)会被定义成:deployed model将item i曝光给user u的趋势(定义5.1)。由于它对于deployed model来曝光每个item给user是不实际的,我们必须为多个user/item pairs 估计propensity scores \(p_{u,i}\)。[47]提出了一种简单方法来估计propensity scores,它基于如下的简单假设:

假设1: propensity score是用户独立的(user independent),例如:\(p_{u,i} = p_{*,i}\)。该假设是为了解决:在公开数据集中的辅助用户信息的缺失。

user independent propensity score \(p_{*,i}\)可以使用一个2-step的生成过程(generative process)来估计:

\[p_{*,i} = p_{*,i}^{select} * p_{*,i}^{interact \mid select}\]

…(6)

其中:\(p_{*,i}^{select}\)是先验概率(prior probability),item i通过deployed model被推荐出来,\(p_{*,i}^{interact \mid select}\)是user 与推荐出来的item i进行交互下的条件概率。基于这样的温和假设,我们可以估计user independent propensity score \(p_{*,i}\)如下:

\[\hat{p}_{*,i} \propto (n_i^*)^{\frac{\gamma + 1}{2}}\]

…(7)

其中,\(n_i^*\)是item i被交互的总次数,\(\gamma\)是一个参数,它影响着在items上具有不同流行度的propensity分布。power-law参数\(\gamma\)会影响着在items上的propensity分布,具体取决于dataset。根据之前的研究,对于每个dataset,我们会使用极大似然来估计\(\gamma\)参数。

7.实验结果与分析

我们在第5节提出使用一个propensity-based的直接评估方法,它会在推荐系统的离线评估中,考虑上deployed model的混杂角色( confounding role)。在第6节中,我们提出使用Kendall’s \(\tau\)相关系数来量化在propensity-based stratified evaluation方法以及open loop evaluation间多个目标推荐模型的相对顺序间的相似度。下面,我们会会分别根据在第5节的两个研究问题开展实验,并关注和验证在标准离线评估的中 Simpson’s paradox,以及使用提出的propensity-based ed stratified evaluation方法的效果(7.2)。

7.1 RQ1: 研究Simpson’s Paradox

RQ1会研究:在推荐系统的离线评估中,基于假设2中提到的一个closed loop feedback dataset来研究deployed model的confounding effect。在第6.3节中,我们表述了一个简单的统计方法来表示deployed model的角色作为propensity scores。在下面,我们会使用estimated propensity score \(\hat{p}_{*,i}\)来将数据集划分成两个相同大小的层( strata),称为Q1层和Q2层。

Q1和Q2 strata来分别表示用户与长尾items和头部items的交叉,我们会根据等式(7),基于每个item交互的总次数来估计propensity scores。

首先,我们会在closed loop dataset(MovieLens和Netflix)和open loop dataset(Yahoo!和Coat)上举例说明Simpson’s paradox。表2和表3会对比评估方法的效果(称为:holdout、IPS、提出的stratified评估法)。出于简洁,以下,我们会关注MovieLens dataset,分析两个模型(BPR、WMF)以及一个metric(nDCG)。我们观察到:在使用holdout和IPF评估法时,BPR要比WMF都好。然而,在同样的test dataset上进行分层分析(Q1和Q2层)表明:对于Q1分层,WMF要比BPR好很多;对于Q2分层,BPR则是支配模型。另外,我们观察到:Q1和Q2分层会分别覆盖99%和1%的user-item interactions。实际上,对于99%的test dataset(例如:Q1分层),WMF要比BPR好很多,但当我们结合Q2分层上1%的feedback时趋势会逆转,如holdout evaluation表示所示。因此,实际问题是:当使用holdout evaluation方法进行评估时认为的,BPR是否会比WMF执行的更好?分层分析表明:通过我们提出的分层评估法,WMF会被认为是更优的模型。我们注意到,BPR只会在1%的feedback dataset上是更优的模型,holdout和IPS evaluation方法两都都会受在test dataset上少量user-item interactions的影响。例如:在Q2分层中的1%的user-item interactions。该分层对应在MovieLens dataset的3499个items中只有4个items。在表3中,在MMMF和MF models间,在Netflix dataset中观察到相同的pattern。

在MovieLens和Netflix datasets中,我们不会访问open loop feedback,例如:feedback会通过一个随机曝光items进行收集。结果是,我们不能measure在一个open loop场景下的模型实验效果,对比起相应的closed loop场景。如第6.1节,我们对于在Coat dataset中的所有users,都有一些open loop feedback;而在Yahoo! dataset上只有一部分users有。表4和表5会表示在Yahoo! dataset中模型的两个pairs的效果对比。特别的,在表4中,我们会对比BPR和MF,它使用nDCG评估指标,并观察到:使用经典holdout evaluation方法,BPR要明显好于MF。另一方法,IPS评估法更偏向于MF,但,基于paired t-test(p < 0.05)上的差异没有显著。然而,基于估计倾向(Q1和Q2分层)的分层分析表明:对于Q1分层,MF要好于BPR;它可以覆盖在test dataset上92%的feedback;而BPR对于Q2分层则是更好的模型,它在closed loop test dataset上覆盖了8%的feedback。确实,对于test dataset中的大多数feedback和items(92%和99.5%),MF要胜过BPR。因此,我们会争论:通过任意的评估法(我们提出的分层评估法,或者open loop evaluation),MF应该被认为是一个更好的模型。当我们基于Q1和Q2分层(例如:holdout evaluation)的聚合数据进行评估模型时,在Yahoo! dataset上,1000个总items中只有少量5个items它对应于只有8%的总user-item interactions,会在受检模型的离线评估中,扮演着一个混杂因子的角色。当考虑上Coat dataset(表5)时,当评估GMF和SVD推荐模型的效果时,我们也会观察到相同的现象。表2、表3、表5中观察到的现象可以通过从一个closed loop场景收集到的datasets(MovieLens、Netflix、Yahoo!和Coat)被解释。因此,收集到的closed loop dataset会倾向于deployed model的特性(如表2、表4和表5中的Q2分层所捕获的)。

接着,为了完整回答RQ1,我们会评估以上观察的总结,通过验证在所有104个模型上的评估中 Simpson’s paradox的盛行。图3表明了,所有受检模型()在Yahoo!和Coat datasets上在open loop evaluation和closed loop evaluation间的相关性。我们观察到,模型会表现出在Q1和Q2分层上的一个imbalanced效果,例如:Q1分层的nDCG score与Q2分层不成比例(\(nDCG_{Q2} >> nDCG_{Q1}\))。另一方法,在Q1分层和open loop evaluation上Kendall’s \(\tau\)相关性,对比起Q2分层要更高。特别的,对于Coat dataset(图3b),基于Q2分层的closed loop evaluation对比open loop evaluation具有一个负向correlation。因此,在holdout evaluation中通过组合这两个异构分层,如图3a和3b所示,不能说明Q1分层覆盖feedback的大多数(在Yahoo!和Coat datasets上分别是92%和93%的total feedback),会导致不可预料的后果。特别的,在open loop evaluation和holdout evaluation间的Kendall’s \(\tau\)相关性,会比Q1分层和open loop evaluation间的对应相关性要低很多,例如:对于Yahoo!和Coat datasets,分别为:0.62 < 0.72 和 0.20 < 0.51. 这回答了RQ1: 推荐系统的offline holdout evaluation会受deployed model特性的影响(在Q2分层捕获),会导致对Simpson’s paradox的一个证实。

总之,在本节中,我们强调了在推荐系统的标准离线评估中,基于于closed loop和open loop datasets,证实了Simpson’s paradox的存在。接着,我们会研究提出的propensity-based分层评估法来解决该问题。

7.2 RQ2: 评估Propensity-based Stratified Evaluation方法

在本节中,我们会研究提出的propensity-based分层评估法会导致:对比IPS和holdout evaluation方法,结论与从open loop(随机化)evaluation获取的结果对齐的范围。确实,我们的目标是:研究每种评估法对应于open loop evaluation的范围。相反的,我们会考虑open loop evaluation,它与在线评估(A/B testing或interleaving)更相似,其中:评估过程不会受任意混淆因子的影响。如第6.2节所示,我们会利用在evaluation方法与open loop evaluation间Kendall’s \(\tau\)的rank相关系数。

表6展示了,在评估方法和ground truth(例如:open loop evaluation)间的Kendall’s \(\tau\)的rank相关系数。在分析该表时,我们会观察到,对于Yahoo! dataset,在holdout evaluation和open loop evaluation间的\(\tau\)相关系数是medium-to-strong(\(0.599 \leq \tau \leq 0.729\));而对于Coat dataset, weaker(\(-0.40 \leq \tau \leq 0.327\)),对于更大的截止点,两个数据集上的相关度都会轻微上升。确实,我们注意到,Coat dataset吃饭休息发货呢MovieLens/Netflix/Yahoo!会有一个不同的数据生成过程。另外,受检用户和items的数目会低于在Yahoo!dataset中数目。该发现与我们之前的研究一致:基于标准rank-based metrics的离线评估不必与在线评估的结果正相关,研究者们会质疑离线评估的合法性。

接着,我们会考虑在counterfactual evaluation(IPS)和open loop evaluation方法间的Kendall’s \(\tau\)相关性。表6表明,IPS评估方法效果要比holdout评估要稍微好些,例如:对于两个数据集中nCDG cut-offs的绝大多数,IPS的相关值要大于holdout evalution方法。然而,根据Steiger’s test,这些相关度差异没有任何在统计上是显著的。因此,我们会下结论,在评估期间,对比起holdout evaluation方法,counterfactual(IPS) evaluation方法不会更好地表示无偏用户偏好。这是因为:在IPS评估方法中,每个feedback是基于它的propensity进行加权独立(weighted individually)的。feedback sampling process(例如:从closed loop feedback中收集到的过程),并不是一个随机过程(random process)。因此,抽样的feedback会倾斜,相应的estimated propensity scores是不均的。在这种情况下,基于disproportionate propensities对feedback进行reweighting会导致在使用IPS评估模型效果评估上的高variance。

我们现在考虑表6中分层评估的相关性。这表明:在两个数据集中,对于nDCG cut-offs的绝大多数,特别是更深的cut-offs,分层评估的效果要好于holdout和IPS评估方法。例如:考虑将nDCG作为evaluation metric,我们会观察到,提出的分层评估方法效果要显著好于holdout evaluation和IPS evaluation,例如:对于Yahoo! dataset,0.710 > 0.622,0.710 > 0.644;对于Coat dataset,有0.283 > 0.202和0.283 > 0.225. 总体上,我们发现,对于两个datasets中更深的nDCG cut-offs,我们的propensity-based evaluation方法,效果要显著好于holdout和counterfactual evaluation。这可以回答RQ2.

然而,holdout evaluation的效果,IPS evaluation和提出的propensity-based分层评估方法,对于shallow nDCG cut-offs并不显著(对于Yahoo! dataset和Coat dataset来说,分别是:\(10 \leq k \leq 20 和 20 \leq k \leq 30\))。对于deeper rank cut-offs的增加的sensitivity,支持了之前的研究:它对于推荐系统评估上deeper cut-offs的sparsity和discriminative pwoer来说更健壮。【43】发现,在feedback sampling process期间,由于只有少量items会曝光给该user,使用deeper cut-offs会允许研究者执行更健壮和discriminative evaluations。由【25】中,deeper rank cut-offs的使用对于训练listwise learning2rank技术来说可以做出相似的观察。

在feedback sub-populations (表6中的Q1和Q2分层)的进一步实验表明:受检模型的离线评估,它只基于long-tail feedback(Q1分层)更好地与open loop evaluation相关。特别的,对于Coat dataset,基于Q2分层的受检模型的离线评估,会与open loop evaluation具有一个负相关性。这支持了[9]的工作,它发现:非常少量的头部流行items会对推荐系统的rank-based evaluation进行倾斜。他们建议:当评估推荐模型的效果时,排除非常流行的items

而表6演示了提出的分层评估方法对于两个sub-populations(Q1和Q2分层)的效果,我们接着检查了所使用分层数目的影响。特别的,在图4中,演示了提出的分层评估对于Coat和Yahoo! datasets的分层数目的影响。水平轴(X={1,2, …, 10})会表示分层的数目,而竖直轴表示在提出的分层数目上与open loop(随机化)评估间对于104个受检模型的相关性。当我们只具有一个分层时(例如:在图4a和图4b中的X=1),提出的分层评估法对应于表6中的holdout evaluation。我们观察到,对于在两个数据集中的分层数目,对比起holdout评估(例如:X=1),提出的分层评估方法可以更好地与open loop(随机)评估相关。然而,在提出的分层评估和open loop(随机)评估间的相关度上,分层数目具有一个边缘效应(marginal effect),例如:在提出的分层评估(2<=X <=10)对于Coats和Yahoo! datasets间的平均相关度(mean correlations)是:\(0.266 \pm 0.021\)以及\(0.706 \pm 0.026\),对比在holdout evaluation(X=1)中分别是0.202和0.622相关度。另外,对于\(2 \leq X \leq 10\),大多数cases(coats和Yahoo!中分别是5/9和7/9)表示显著高于holdout evaluation的相关度。注意,每个dataset中的分层数目,可以使用分层原则(stratification principle)【24】来决定,它倾向于使用在每个层(stratum)内的层(strata),用户的反馈尽可能会相似。尽管不同数据集具有不同级别的closed loop effect,它取决于deployed model的特性,我们的实验表明:没有关于deployed model的进一步信息,基于estimated propensities将closed loop feedback分层为sub-populations,允许研究者们说明来自收集到的feedback dataset的closed loop effect。

8. 结论

参考