WWW'22 推荐系统 | 利用用户兴趣边界构造混合损失函数

2022-09-19 11:00:27 浏览数 (2)

title:Learning Explicit User Interest Boundary for Recommendation link:https://arxiv.53yu.com/pdf/2111.11026.pdf from:WWW 2022

1. 导读

本文是一篇简单,有意思的文章,通常推荐系统里主要采用两种损失函数point-wise和pair-wise,point-wise方法使得每个样本与其标签分别匹配,这在实例级别的加权和采样方面是灵活的,但忽略了固有的排序特性;而pair-wise能更好的反应样本之间的先后关系。但是这两种该方式难以显式地提供个性化的决策边界,以确定用户是否对看不见的商品感兴趣。作者考虑用户兴趣边界,将point-wise和pair-wise结合,利用二者的优势产生个性化的决策边界并提高效果。

对两类损失函数比较熟悉的可以直接跳到第3小节,以下为三类损失函数的比较

2. 基础

用户集为U,商品集为X,可能的交互集合表示为T=U × X,其中被观察到的交互被认为是真实交互历史

I subset T

,

T rightarrow {0,1}

,1表示交互是正的(

(u,p)in I

),0表示负样本(

(u,n)notin I

)。建模的目标是学习一个打分函数s反映用户对商品的偏好。

2.1 Point-wise Loss

point-wise的损失函数通常采用交叉熵损失函数等,主要用于计算预测的偏好分数与真实点击标签之前的损失,可以表示为下式,其中

psi

表示交叉熵损失函数等,s()表示打分函数,l()表示标签。

mathcal{L}=sum_{(u, x) in mathcal{T}} psi(s(u, x), l(u, x))

2.2 Pair-wise Loss

pair-wise损失函数用于计算先后关系,例如正样本的打分需要比负样本高,其中包含了排序性。具体公式如下,其中φ表示BPR损失,边距损失等。

mathcal{L}=sum_{(u, p) in I} sum_{(u, n) notin I} phi(s(u, n)-s(u, p))

3. 混合损失

这部分进行了总结,详细可见论文第三节。

结合上述的两类损失函数,本文提出了将两者结合的混合损失函数,以此自适应的匹配用户的兴趣。通过引入辅助分数b_u反应用户的边界兴趣。公式如下,其中

P_u

表示用户u的embedding,W为可学习向量。

b_u=W^TP_u

损失函数如下,主要包含Lp和Ln。其含义是对跨过边界(分数低于边界)的正样本做出惩罚,以及对于分数高于边界的负样本做出惩罚,α为超参数。

mathcal{L}=underbrace{sum_{(u, p) in mathcal{I}} phileft(b_{u}-s(u, p)right)}_{L_{p}} underbrace{alpha sum_{(u, n) notin I} phileft(s(u, n)-b_{u}right)}_{L_{n}}

该损失可以看作是point-wise和pair-wise的混合损失。一方面,point-wise损失通常会优化每个样本以匹配其标签,这是灵活的,但不适合与排名相关的任务。另一方面,pair-wise损失取一对正样本和负样本,然后对模型进行优化,使其得分有序,包含排序信息,但存在梯度消失问题。混合损失通过辅助分数将两者结合,一方面,正负样本之间的分别优化的,即符合point-wise,灵活优化每个样本;另一方面,通过引入辅助分数,使整个损失函数中包含了前后排序关系。

  • Q:为什么能个性化?
  • A:边界是根据每个用户embedding学的,即每个用户的边界都是自适应的
  • Q:α的作用?
  • A:通常正样本是观察到的样本,而负样本时未观察到的样本中采样得到,样本数通常不平衡。α可以起到缓解不平衡性的作用,并且不同的α值可以对正负样本的得分空间进行约束(边界靠近正样本或负样本),从而扩大或者压缩两类样本的得分空间。

4. 结果

不同方法对应的损失函数

离线结果

0 人点赞