前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >WWW'22 推荐系统 | MCL:混合中心损失用于协同过滤

WWW'22 推荐系统 | MCL:混合中心损失用于协同过滤

作者头像
秋枫学习笔记
发布2022-09-19 10:56:20
5300
发布2022-09-19 10:56:20
举报
文章被收录于专栏:秋枫学习笔记

关注我们,一起学习~

title:MCL: Mixed-Centric Loss for Collaborative Filtering link:https://www.cs.toronto.edu/~mvolkovs/WWW2022_MCL.pdf code:https://github.com/layer6ai-labs/MCL from:WWW 2022

1. 导读

推荐系统模型中通常采用逐点损失(CE)和成对损失(BPR),很少探索如何从可用的偏好信息中最优地提取信号。对负样本进行采样后,通常利用正样本和采样的负样本来更新权重。这可能会忽略来自其他用户和商品的有价值的全局信息,并导致次优结果。

本文提出了MCL来解决上述问题,首先挖掘富含信息的难样本对,然后为难样本分配更多的权重。加权过程由四个不同的组件组成,并结合了来自其他用户的距离信息,使模型能够更好地学习的表征。

文中对BPR,Triplet两个损失的导数影响进行了分析,具体可见论文第三节,本文直接介绍方法。

2. 方法

2.1 样本对挖掘

样本对挖掘的目标是找到难正样本和负样本,难正样本定义为比至少一个负样本离用户更远的商品,难负样本定义为比至少一个正商品更接近用户的商品。在每次迭代中,丢弃不符合难样本定义的商品,加入边距进一步约束距离关系。公式如下,其中E表示欧式距离,uj为正样本对{u,j}用户和正样本构成的样本对,uk为负样本对,N和P表示负样本和正样本。以难正样本为例进行解释,正样本的距离比最小的负样本的距离减阈值要大,则认为是难正样本。

E_{u j}>\min _{k \in N_{u}} E_{u k}-\epsilon
E_{u k}<\max _{j \in P_{u}} E_{u j}+\epsilon

负样本集合一般比较大,因此在实际中采用随机从负样本集和中采样一个子集进行上述计算。

2.2 混合中心损失MCL

通过挖掘样本对之后,可以得到对应的正负样本集合,表示为

P_u^s

,

N_u^s

。给定一个batch B,其中包含m个用户,其损失函数定义为下式,其中λ为边距,α,β控制正负样本的作用,他们都是超参数。第一项缩小难正样本到用户的距离,第二项增大负样本到用户的距离。

\begin{aligned} L_{M C L} &=\frac{1}{\alpha} \log \left[1+\frac{1}{m} \sum_{u \in B} \sum_{j \in P_{u}^{s}} e^{\alpha\left(E_{u j}+\lambda_{p}\right)}\right] \\ &+\frac{1}{\beta} \log \left[1+\frac{1}{m} \sum_{u \in B} \sum_{k \in N_{u}^{s}} e^{-\beta\left(E_{u k}+\lambda_{n}\right)}\right] \end{aligned}

难正样本(难负样本也类似)对权重导数的影响如下所示,

  • 用户-商品中心
w_1^+

仅和用户-目标商品的距离相关,离用户越远则其越小,使整个

w_{uj}^+

变大。

  • 同类型中心
w_2^+

计算的是目标商品和集合中其他难正样本之间的关系,如果目标商品的距离比其他难正样本的距离更大,则w_2就更小,使得

w_{uj}^+

变大;这对商品embedding空间具有正则化效果,其中损失倾向于使所有相同类型的商品与用户的距离相似,并且异常值受到强烈惩罚。

  • 同批次中心
w_3^+

表示和同一个batch中的其他用户进行比较,提供了跨用户的额外一致性,其中损失旨在将所有正样本放置在每个用户的相同距离内。距离明显更远的样本对具有更大的整体权重

\begin{aligned} w_{u j}^{+} &=\frac{1}{m} \cdot \frac{e^{\alpha E_{u j}}}{e^{-\alpha \lambda_{p}}+\frac{1}{m} \sum_{u^{\prime} \in B} \sum_{i \in P_{u^{\prime}}} e^{\alpha E_{u^{\prime} i}}} \\ &=\frac{1}{m} \cdot \frac{1}{w_{1}^{+}(u, j)+w_{2}^{+}(u, j)+w_{3}^{+}(u, j)} \end{aligned}
\begin{array}{l} w_{1}^{+}(u, j)=e^{-\alpha\left(E_{u j}+\lambda_{p}\right)} \\ w_{2}^{+}(u, j)=\frac{1}{m} \sum_{\substack{i \in P_{u}^{s}}} e^{\alpha\left(E_{u i}-E_{u j}\right)} \\ w_{3}^{+}(u, j)=\frac{1}{m} \sum_{\substack{u^{\prime} \in B \\ u^{\prime} \neq u}} \sum_{\substack{i \in P^{s} \\ u^{\prime}}} e^{\alpha\left(E_{u^{\prime} i}-E_{u j}\right)} \end{array}

3. 结果

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-03-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 秋枫学习笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 2.1 样本对挖掘
  • 2.2 混合中心损失MCL
相关产品与服务
批量计算
批量计算(BatchCompute,Batch)是为有大数据计算业务的企业、科研单位等提供高性价比且易用的计算服务。批量计算 Batch 可以根据用户提供的批处理规模,智能地管理作业和调动其所需的最佳资源。有了 Batch 的帮助,您可以将精力集中在如何分析和处理数据结果上。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档