论文《Sampling-Bias-Corrected Neural Modeling for Large Corpus Item Recommendations》

论文地址:https://dl.acm.org/doi/abs/10.1145/3298689.3346996

摘要

推荐系统通常处理数据稀疏性和长尾分布的方式是从物料的内容特征上学习物料的向量表示,除了使用基于矩阵分解的内容感知系统,论文考虑双塔结构,其中一个塔是编码了很多内容特征的物料塔。优化双塔的方式就是最优化batch内随机负采样的损失,然而batch内的损失会受到采样偏差的影响,会影响模型效果,特别是分布明显倾斜的情况。论文提出从流式数据预估物料频率的新方法,不需要固定的物料库,能产生无偏估计且可以适应物料分布的变化。在YouTube上面应用新提出的基于修正的采样偏差方法构建大规模神经网络检索系统服务于推荐业务,这个系统从千万量级的物料库中检索个性化结果。通过离线两个真实的数据集证明了新方法的有效率,在线A/B测试也显示新方法显著提高了YouTube推荐的质量。

简介

推荐系统通常分成召回和排序两个阶段,从一个大规模的物料池中召回一小部分用户相关的物料,然后交给排序打分。论文旨在解决召回阶段的问题。
给定三元组 { u s e r , c o n t e x t , i t e m } \{user, context, item\} {user,context,item},首先为用户 { u s e r , c o n t e x t } \{ user, context \} {user,context}及物料 { i t e m } \{item\} {item}分别学习向量表示,然后使用简单的打分函数(点乘)来获得用户召回的物料。向量表示学习问题有2个挑战:工业级应用的物料池非常大;大量物料的用户行为非常稀疏。这会造成模型对于长尾物料的预测有很大偏差。而且对于广泛提到的冷启问题,推荐系统需要适应分布变化来呈现新鲜内容。

受Netflix prize启发,基于矩阵分解学习用户和物料的隐向量的方式广泛应用到召回模块中。基于矩阵分解的方式一般只能捕捉二阶交叉的特征,对于不同的形式的特征,这类模型的能力有限。
最近很多用深度学习表示的用户和物料的向量来构建推荐召回模块,论文也是基于这个结构,如下图。

在这里插入图片描述
双塔模型在训练的时候,每个正样本,需要随机采样一些负样本,在通常的正负样本比例下,大量物料很难学习的充分。考虑batch内随机负采样的样本的softmax计算,这个计算会受到采样偏差的影响,论文用户预估的物料频率提出用修正的采样偏差方法来计算batch softmax。而且相比于原来采样的物料池固定的做法,论文针对的是物料池和数据分布随时间变化的流式数据。

论文的贡献如下:

• Streaming Frequency Estimation. We propose a novel algorithm to estimate item frequency from a data stream, subject to vocabulary and distribution shifts. We offer analytical results to show the variance and bias of the estimation. We also provide simulation that demonstrates the efficacy of our approach in capturing data dynamics.
• Modeling Framework. We provide a generic modeling framework for building large-scale retrieval systems. In particular, we incorporate the estimated item frequency in a cross entropy loss for the batch softmax to reduce the sampling bias of in-batch items.
• YouTube Recommendation. We describe how we apply the modeling framework to build a large-scale retrieval system for YouTube recommendations. We introduce the end- to-end system including the training, indexing, and serving components.
• Offline and Live Experiments. We perform offline exper- iments on two real-world datasets and demonstrate the ef- fectiveness of sampling bias correction. We also show that our retrieval system built for YouTube leads to improved engagement metrics in live experiments

流式数据频率预估:提出一种受物料池和数据分布变化的物料频率预估方法
模型框架:一种通用的大规模召回建模框架,将预估的物料频率纳入batch softmax的交叉熵损失中来降低采样偏差。
YouTube推荐系统:介绍包括训练、索引、在线服务的端到端的系统。
离线在线实验:基于修正的采样偏差方法在离线和在线实验的表现。

相关工作

利用用户和物料特征提升个性化,经典的是矩阵因子分解框架,像SVDFeature,FM,能捕获二阶交叉特征。DNN方法能抽取到高维非线性特征交叉,像NCF。论文与NCF区别:使用双塔模型,这样在线召回检索就可以近线性时间从大规模物料池中计算结果;NCF使用point-wise(平方损失或者对数损失),论文使用多分类softmax损失并且显式建模物料频率。

softmax

softmax是多分类常用的函数,当类别非常多时,通常采用一部分类目来预测,减少计算。有论文显示好的采样分布应该和模型的输出分布相适应。实际应用中经常采用简单的采样方法(均匀分布)来减少采样的复杂度。自适应采样目前仍然是个开放问题,想之前的一些工作,基于树的层级softmax对于多分类很有用,但是需要提前基于类别属性定义好树的结构,因此不适用于各种各样输入特征的形式。

双塔

YouTube的物料规模很大,通过在线实验,显式建模物料频率对于召回准确性至关重要。

模型框架

{ x i } i = 1 N \{ x_i \}_{i=1}^N {xi}i=1N表示用户特征向量, { y j } j = 1 M \{y_j\}_{j=1}^M {yj}j=1M表示物料特征向量, x i ∈ X , y j ∈ Y x_i \in X,y_j \in Y xiX,yjY 表示各种各样的特征(如系数的ID特征、稠密特征),可能维度非常高,目标是给指定用户检索出一个物料库子集。假设用户及上下文特征都在 x i x_i xi,建立一个包含两个参数化的embedding函数 u : X × R d → R k , v : Y × R d → R k u:X \times R^d \rightarrow R^k,v:Y \times R^d \rightarrow R^k u:X×RdRk,v:Y×RdRk,模型参数 θ ∈ R d \theta \in R^d θRd,将用户和物料的特征映射到 k k k维的向量空间。 u , v u,v u,v如图1所示,模型的输出就是这两个向量的点乘。

s ( x , y ) = < u ( x , θ ) , v ( y , θ ) > s(x,y) = <u(x,\theta),v(y,\theta)> s(x,y)=<u(x,θ),v(y,θ)>
对于一个给定的用户 x x x,从 M M M个物料 { y j } j = 1 M \{y_j\}_{j=1}^M {yj}j=1M中选中候选物料 y y y的概率分布如下
P ( y ∣ x ; θ ) = e s ( x , y ) ∑ j ∈ M e s ( x , y j )        ( 1 ) P(y \vert x;\theta) = \frac {e^{s(x,y)}} {\sum_{j \in M} e^{s(x,y_j)}} \ \ \ \ \ \ (1) P(yx;θ)=jMes(x,yj)es(x,y)      (1)
目标函数
L T ( θ ) = − 1 T ∑ i ∈ T r i log ⁡ ( P ( y i ∣ x i ; θ ) )        ( 2 ) L_T(\theta) = -\frac {1} {T} \sum_{i \in T} r_i \log (P(y_i\vert x_i;\theta)) \ \ \ \ \ \ (2) LT(θ)=T1iTrilog(P(yixi;θ))      (2)
其中 r i r_i ri是pair对 ( x i , y i ) (x_i,y_i) (xi,yi)相关的回馈,如果多分类每个目标相同,对于每个正样本pair对, r i = 1 r_i=1 ri=1,在推荐中, r i r_i ri可以扩展为不同交互目标的重要度,例如在新闻场景中, r i r_i ri可以表示为用户在文章上的阅读时长。

当物料池 M M M特别大时,一般采用负采样的方式减少计算,采用是基于一个固定的物料池。论文旨在处理流式数据,考虑从一个batch内的物料进行负采样,对于一个batch的pair数据 { ( x i , y i , r i ) } i B , i ∈ B \{(x_i,y_i,r_i)\}_i^B,i \in B {(xi,yi,ri)}iB,iB,则batch内softmax计算如下
P B ( y i ∣ x i ; θ ) = e s ( x i , y i ) ∑ j ∈ B e s ( x i , y j )        ( 3 ) P_B(y_i \vert x_i;\theta) = \frac {e^{s(x_i,y_i)}} {\sum_{j \in B} e^{s(x_i,y_j)}} \ \ \ \ \ \ (3) PB(yixi;θ)=jBes(xi,yj)es(xi,yi)      (3)
batch负采样通常是从长尾分布中采样,会带来巨大的采样偏差,热门物料容易被当做负样本,因为它们在batch内出现的概率高,受 log ⁡ Q \log Q logQ修正在基于采样的softmax模型中的应用启发,论文通过如下方式修正对数 s ( x i , y i ) s(x_i,y_i) s(xi,yi)
s c ( x i , y j ) = s ( x i , y j ) − l o g ( p j ) s^c(x_i,y_j) = s(x_i,y_j) - log(p_j) sc(xi,yj)=s(xi,yj)log(pj)
p j p_j pj表示物料 j j j从batch采样的概率
修正后的batch内softmax概率如下
P B c ( y i ∣ x i ; θ ) = e s c ( x i , y i ) e c ( x i , y i ) + ∑ j ∈ B , j ≠ i e x c ( x i , y j ) P_B^c(y_i\vert x_i;\theta) = \frac {e^{s^c(x_i,y_i)}} { e^c(x_i,y_i) + \sum_{j \in B,j \neq i} e^{x^c(x_i,y_j)} } PBc(yixi;θ)=ec(xi,yi)+jB,j=iexc(xi,yj)esc(xi,yi)
目标函数
L B ( θ ) : = − 1 B ∑ i ∈ B r i log ⁡ ( P B c ( y i ∣ x i ; θ ) )        ( 4 ) L_B(\theta): = -\frac {1} {B} \sum_{i \in B}r_i \log(P_B^c(y_i \vert x_i;\theta))\ \ \ \ \ \ (4) LB(θ):=B1iBrilog(PBc(yixi;θ))      (4)
模型参数更新如下:
θ = θ − γ ∇ L B ( θ )        ( 5 ) \theta = \theta - \gamma \nabla L_B(\theta) \ \ \ \ \ \ (5) θ=θγLB(θ)      (5)

在这里插入图片描述
L B L_B LB不需要固定的素材池来做采样,可以处理流式数据。

标准化及温度超参

经验上讲,embedding的标准化能提升模型训练稳定性,增强召回模型表现。
u ( x , θ ) ← u ( x , θ ) / ∣ ∣ u ( x , θ ) ∣ ∣ 2   ,   v ( y , θ ) ← v ( y , θ ) / ∣ ∣ v ( y , θ ) ∣ ∣ 2 u(x,\theta) \leftarrow u(x,\theta) / \vert \vert u(x,\theta) \vert \vert _2\ ,\ v(y,\theta) \leftarrow v(y,\theta) / \vert \vert v(y,\theta) \vert \vert _2 u(x,θ)u(x,θ)/∣∣u(x,θ)2 , v(y,θ)v(y,θ)/∣∣v(y,θ)2
温度超参 τ \tau τ加到每个对数上,增加预测准确性
s ( x , y ) = < u ( x , θ ) , v ( y , θ ) > /   τ s(x,y) = <u(x,\theta),v(y,\theta)> / \ \tau s(x,y)=<u(x,θ),v(y,θ)>/ τ

流式数据频率预估

目标是在batch内预估每个物料 y y y的频率。需要一个分布式的频率预估来支持分布式训练。全局步骤通过参数服务器和多个worker同步,利用全局步骤,将对物料频率 p p p的预估转化为估计 δ \delta δ,即物料连续两次点击之间的的全局步骤数。例如,一个物料每50步被采样一次,则 p = 0.02 p=0.02 p=0.02。利用全局步骤的2个优点:多个worker通过步长隐式同步; δ \delta δ可以通过简单的移动平均实现,这样可以适应分布的变化。
借助两个哈希数组 A A A B B B,大小是 H H H h h h是哈希函数,能将任意一个物料 y y y映射成一个落在 [ H ] [H] [H]的整数,哈希函数是基于数据流ID或者其他指纹信息。给定物料 y y y A [ h ( y ) ] A[h(y)] A[h(y)]表示物料 y y y最近一次被采样的步数, B [ h ( y ) ] B[h(y)] B[h(y)]包含了预估的物料 y y y的预估 δ \delta δ。使用数组 A A A更新数组 B B B,一旦物料 y y y在第 t t t步出现,更新 B B B
B [ h ( y ) ] ← ( 1 − α ) B [ h ( y ) ] + α ( t − A [ h ( y ) ] )        ( 6 ) B[h(y)] \leftarrow (1 - \alpha)B[h(y)] + \alpha (t - A[h(y)]) \ \ \ \ \ \ (6) B[h(y)](1α)B[h(y)]+α(tA[h(y)])      (6)
B B B更新后,再令 A [ h ( y ) ] ← t A[h(y)] \leftarrow t A[h(y)]t
对于每个物料,两次两次命中之间的步骤数服从随机变量 Δ \Delta Δ的分布,均值 δ = E ( Δ ) \delta = E(\Delta) δ=E(Δ)。当物料 y y y在步骤 t t t出现在了batch中,则 t − A [ h ( y ) ] t-A[h(y)] tA[h(y)] Δ \Delta Δ的一个样本值。可以通过固定的学习率 α \alpha α来学习。
预估的偏差和方差如下
{ Δ 1 , Δ 2 , . . . , Δ t } \{\Delta_1,\Delta_2,...,\Delta_t\} {Δ1,Δ2,...,Δt}随机变量 Δ \Delta Δ的一系列取值,令 δ = E ( Δ ) \delta = E(\Delta) δ=E(Δ),对于 i ∈ [ t ] , α ∈ ( 0 , 1 ) i \in [t], \alpha \in (0,1) i[t],α(0,1)
δ i = ( 1 − α ) δ i − 1 + α Δ i \delta_i = (1-\alpha) \delta_{i-1}+ \alpha \Delta_i δi=(1α)δi1+αΔi
偏差如下
E ( δ t ) − δ = ( 1 − α ) t δ 0 − ( 1 − α ) t − 1 δ        ( 7 ) E(\delta_t) - \delta = (1-\alpha)^t \delta_0- (1-\alpha)^{t-1} \delta \ \ \ \ \ \ (7) E(δt)δ=(1α)tδ0(1α)t1δ      (7)
方差如下
E ( δ t − E ( δ t ) ) 2 ≤ ( 1 − α ) 2 t ( δ − δ 0 2 ) + α E [ ( Δ 1 − α ) 2 ]        ( 8 ) E(\delta_t - E(\delta_t))^2 \leq(1-\alpha)^{2t}(\delta - \delta_0^2) + \alpha E[(\Delta_1 - \alpha)^2] \ \ \ \ \ \ (8) E(δtE(δt))2(1α)2t(δδ02)+αE[(Δ1α)2]      (8)
论文证明如下
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
从式子(7)看出偏差 E [ δ ] − δ → 0 E[\delta]- \delta \rightarrow 0 E[δ]δ0 t → ∞ t \rightarrow \infty t,因此一个好的初始化 δ 0 = δ / ( 1 − α ) \delta_0 = \delta/(1-\alpha) δ0=δ/(1α)能使每一步都是无偏估计。式子(8)给出了预估方差的上界,学习率 α \alpha α从2方面影响预估方差,学习率越大,依赖于初始化error的第一项下降的越快;学习率低会降低第二项,依赖于 Δ \Delta Δ的方差,且不随时间改变。

那么物料 y y y的采样概率预估 y ^ \hat y y^表示为 p ^ = 1 / B [ h ( y ) ] \hat {p} = 1 / B[h(y)] p^=1/B[h(y)]

分布式更新。分布式模型训练框架里面,模型参数分布在一系列参数服务器上面,多个worker独立处理训练数据,和参数服务器交互,拉取和更新模型参数,每个worker通过小批量采样来执行。具体来说,在第 t t t步, A [ h ( y ) ] A[h(y)] A[h(y)] B [ h ( y ) ] B[h(y)] B[h(y)]从参数服务器上拉取下来,然后他们计算更新后推送到参数服务器上,因此模型在异步随机梯度下降训练的同时,可以更新这些参数。

多个哈希函数。使用多个哈希函数来缓解因为哈希碰撞导致的物料频率预估过高的问题(算法3)。

YouTube的神经网络检索召回系统

建模方法综述

用户观看过的视频,是一个表示用户当前兴趣很强的信号,因此特征里面用户了很多用户的历史观看记录。
训练目标:视频点击作为正样本,考虑奖励 r i r_i ri作为用户交互视频的程度, r i = 0 r_i=0 ri=0表示用只看了视频很短一部分, r i = 1 表示用户完整观看了视频, r_i = 1表示用户完整观看了视频, ri=1表示用户完整观看了视频,r_i$作为权重用在上面的式子(4)中。

视频特征。包含类别特征和稠密特征。类别特征:视频ID,渠道ID,用embedding层来将这些类别特征映射为稠密向量。通常有两种类别特征,一种是类别特征只有一个取值,像视频ID特征,每个视频只有一个ID,还有一种类别特征可以取多个值,像视频主题,每个视频可以有多个主题,最后的embedding就是各embedding的加权和。对于不在词汇表中的实体,随机分配到散列通中,然后学习这些散列桶的embedding,散列通对于模型捕获新实体非常重要。

用户特征。用用户观看的视频历史来学习用户兴趣,例如,取 k k k个用户最近观看的视频列表。将这些历史视频ID视作词袋(Bag Of Words),通过视频ID的embedding的平均向量来表示。

对于相同类型的ID,embedding是共享的。例如,对于视频ID特征,既作为视频侧特征,也是用户侧的观看历史特征,它们的embedding是共享的。实验发现这类特征不共享并没有显著提升。

在这里插入图片描述

连续训练

模型在Tensorflow中实现,并在多个worker和参数服务器上进行分布式梯度下降训练。在YouTube中,每天都会产生新的训练数据,训练数据集按照天数进行组织。模型训练以如下方式利用了这种顺序结构。Trainer按照从最老的训练例子到最近的训练例子的顺序使用数据。一旦Trainer掌握了最近一天的训练数据,它就会等待第二天的训练数据的到来。通过这种方式,模型能够跟上最新的数据分布变化。
训练数据本质上是由训练者以流的方式消耗的。应用算法2或算法3,使用多个哈希)估计项目的频率。对式(6)进行在线更新,使模型能够适应新的频率分布。

索引及在线服务

检索系统中的索引管道周期性地创建一个Tensorflow SavedModel用于在线服务。分三步构建,先产生候选物料的样本,再根据样本推断出物料embedding,然后根据物料embedding进行索引。
在这里插入图片描述

实验

为评估提出的算法(2)和(3)的有效性,开启一个模拟研究,每个算法开始设定一个固定的物料分布,然后在某个步骤之后改变分布。使用一个固定的大小为 M M M的物料集合,每个物料是以概率 q i ∝ i 2 , i ∈ M , ∑ i q i = 1 q_i \varpropto i^2,i\in M,\sum_iq_i = 1 qii2,iM,iqi=1独立采样得到。

在一个输入流上进行模拟,每一步都采样一个batch物料集 B B B,物料集中每个物料根据 q i q_i qi采用无替换的方式采出。因此batch内物料采样到的概率 p i = ∣ B ∣ × q i p_i = \vert B \vert \times q_i pi=B×qi。前面的 t t t个步骤,保持一样的分布,接下来的步骤改变采样概率来调整分布 q i ∝ ( M − 1 − i ) 2 q_i \varpropto (M - 1 - i )^2 qi(M1i)2,对于预估的概率集合 { p ^ i } i ∈ M \{ \hat p_i \}_{i \in M} {p^i}iM和真实的概率集合 { p i } i ∈ M \{ p_i \}_{i \in M} {pi}iM,使用 1 2 ∣ B ∣ ∑ i ∣ p ^ i − p i ∣ \frac {1} {2\vert B \vert} \sum_i\vert \hat p_i - p_i \vert 2∣B1ip^ipi作为估计误差,即2个概率集合的误差。

学习率 α \alpha α的影响

设置 M = 10000 , B = 128 , H = 5000 M=10000,B=128,H=5000 M=10000,B=128,H=5000 A A A B B B H H H一样。用0初始化哈希数组 A A A,100初始化哈希数组 B B B,物料分布在 t = 10000 t=10000 t=10000时改变,图(4)展示概率预估误差和不同学习率之间的关系,可以看到,学习率越大,能更快的适应物料分布,但是最后的误差也比相对小的学习率大。
在这里插入图片描述

哈希函数的影响

实验不同数量的哈希函数 m = 1 , 2 , 4 m=1,2,4 m=1,2,4选择不同的哈希数组大小 H H H,使得在不同设置下哈希分桶总数一致,图(5)表示不同数量的哈希函数和对应的概率误差的关系,可以看到多个哈希函数能够降低预估误差。
在这里插入图片描述

维基百科页面检索

在维基百科数据集上开展页面检索实验,看基于修正的采样偏差的batch loss的变化。

数据集

目的是预测维基百科页面之间的链接,对于给定的源页面和目的页面 ( x , y ) (x,y) (x,y) l a b e l = 1 label=1 label=1表示源页面 x x x有一个链接到目的页面 y y y l a b e l = 0 label=0 label=0则表示没有。每个页面由页面的特征表示,例如页面url,标题、类目的词袋表示。实验使用英文页面,包含530万页面,4.3亿链接,51万标题n-grams,40.34万类目n-grams。

模型

将链接预测视为检索召回任务,给定一个源页面,从页面集合中去召回目的页面。双塔中左右塔分别表示源页面和目的页面,输入特征embedding双塔共享,每个塔是个全连接的ReLU层,维度是 [ 512 , 128 ] [512,128] [512,128]

基线

论文提出的基于采样修正(sampling-bias-corrected batch softmax ( c o r r e c t − s f x correct-sfx correctsfx) )的batch softmax,对比的是没有采样修正(batch softmax without any cor- rection ( p l a i n − s f x plain-sfx plainsfx) )的batch softmax。为论证采样偏差的影响,采用均方误差(MSE)来衡量,加上正则项,loss为
1 ∣ Ω ∣ ∑ ( x i , y i ) ∈ Ω ( < u ( x i ) , v ( y i ) > − r i ) 2 + λ 1 ∣ Ω c ∣ ∑ ( x i , y i ) ∈ Ω c ( < u ( x i ) , v ( y i ) > ) 2 \frac {1} {\vert \Omega \vert} \sum_{(x_i,y_i) \in \Omega} (<u(x_i),v(y_i)> - r_i)^2 + \lambda \frac {1} {\vert \Omega^c \vert} \sum_{(x_i,y_i) \in \Omega^c} (<u(x_i),v(y_i)>)^2 ∣Ω∣1(xi,yi)Ω(<u(xi),v(yi)>ri)2+λΩc1(xi,yi)Ωc(<u(xi),v(yi)>)2

这样的loss,在矩阵分解中通常采样交替最小二乘法发( alternating least squares)或者坐标下降法(coordinate descent )来求解,即通过将正则化项写成两个Gramian矩阵的内积,这样可以高效线性embedding。最近Krichene通过SGD预估将Gramian矩阵计算扩展到非线性场景,称为 m s e − g r a m i a n mse-gramian msegramian

训练&评估

b a t c h s i z e = 1024 , l e a r n i n g r a t e = 0.01 batch_size=1024,learning_rate=0.01 batchsize=1024,learningrate=0.01使用Adagrad优化。对于频率预估,设置 m = 1 , H = 40 M , α = 0.01 m=1,H=40M,\alpha=0.01 m=1,H=40M,α=0.01,留出10%的数据作为评估集,使用 R e c a l l @ K Recall@K Recall@K评估,即在topk的候选中包含真实label的平均概率。参数 λ \lambda λ m s e − g r a m i a n mse-gramian msegramian通过线性搜索得到,实验发现正则化输出层能提升模型效果而且提升训练稳定性,因此下面的实验都是基于输出层正则化来的。对于 c o r r e c t − s f x correct-sfx correctsfx p l a i n − s f x plain-sfx plainsfx都实验了温度超参 τ \tau τ

实验结果如下Table(1),对于每种温度超参,基于修正的采样偏差方法都好于未修正的;另外,当输出层有正则的时候,不同的温度超参对于结果的影响也较大;基于batch softmax的方法都优于 m s e − g r a m i a n mse-gramian msegramian
在这里插入图片描述

YouTube实验
配置

模型结构如上面的图(2),每个塔使用三层DNN,隐层大小 [ 024 , 512 , 128 ] [024,512,128] [024,512,128],使用Adagrad,学习率 α = 0.2 \alpha=0.2 α=0.2 b a t c h s i z e = 8192 batch_size=8192 batchsize=8192。对于频率预估,设置 H = 50 M H=50M H=50M m = 1 m=1 m=1 α = 0.01 \alpha=0.01 α=0.01,索引的候选集是从最近几个小时,集合大小 10 M 10M 10M,索引的候选集在不断更新,例如,有新上传的视频,但是能覆盖90%的训练视频。

离线实验

对于点击过的视频, r i = 1 r_i=1 ri=1。因为是连续训练的,需要回溯15天来追赶,然后从 d 0 d_0 d0天开始评估,留10%的数据来评估,使用超过7天的平均离线结果如下表Tabel(2),可以看到基于修正的采样偏差要优于基线
在这里插入图片描述

在线实验

在YouTube推荐的在线实验如下表Tabel(3)
在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值