How to Retrain Recommendation System (SIGIR’20)

模型

当今工业界更新推荐系统的痛点:
({Dm:m≤t},Wt−1)⟶get Wt⟵test Dt+1.\left(\left\{D_{m}: m \leq t\right\}, W_{t-1}\right) \stackrel{\text { get }}{\longrightarrow} W_{t} \stackrel{\text { test }}{\longleftarrow} D_{t+1} . ({Dm​:m≤t},Wt−1​)⟶ get ​Wt​⟵ test ​Dt+1​.
本文希望解决的问题:
(Dt,Wt−1)⟶get Wt⟵test Dt+1,\left(D_{t}, W_{t-1}\right) \stackrel{\text { get }}{\longrightarrow} W_{t} \stackrel{\text { test }}{\longleftarrow} D_{t+1}, (Dt​,Wt−1​)⟶ get ​Wt​⟵ test ​Dt+1​,
因此提出一个迁移组件:

其中Wt−1W_{t-1}Wt−1​代表之前的推荐系统的参数,Wt^\hat{W_t}Wt​^​代表从新数据DtD_tDt​中学出的推荐系统参数。迁移组件用来结合Wt−1W_{t-1}Wt−1​和Wt^\hat{W_t}Wt​^​的知识,从而得到新推荐系统WtW_tWt​。

模型经过Transfer模块后,输出还是模型参数。

训练方法

要分为两步训练,在时间ttt时,对应的DtD_tDt​

Step 1 在DtD_tDt​上学Wt^\hat{W_t}Wt​^​, θ\thetaθ固定

虽然是学Wt^\hat{W_t}Wt​^​,但是也要带着CNN的θ\thetaθ,为了让参数在同一个空间内:
Lr(W^t∣Dt‾)=L0(fΘ(Wt−1,W^t)∣Dt)+λ1∣∣W^t∥2L_{r}\left(\hat{W}_{t} \mid \overline{D_{t}}\right)=L_{0}\left(f_{\Theta}\left(W_{t-1}, \hat{W}_{t}\right) \mid D_{t}\right)+\lambda_{1}|| \hat{W}_{t} \|^{2} Lr​(W^t​∣Dt​​)=L0​(fΘ​(Wt−1​,W^t​)∣Dt​)+λ1​∣∣W^t​∥2
其中L0L_0L0​是推荐系统的loss(log loss或者BPR loss)。这时把θ\thetaθ、Wt−1W_{t-1}Wt−1​当作常数。

Step 2 在Dt+1D_{t+1}Dt+1​上学θ\thetaθ,Wt^\hat{W_t}Wt​^​固定

Ls(Θ∣Dt+1)=L0(fΘ(Wt−1,W^t)∣Dt+1)+λ2∣∣Θ∥2L_{s}\left(\Theta \mid D_{t+1}\right)=L_{0}\left(f_{\Theta}\left(W_{t-1}, \hat{W}_{t}\right) \mid D_{t+1}\right)+\lambda_{2}|| \Theta \|^{2} Ls​(Θ∣Dt+1​)=L0​(fΘ​(Wt−1​,W^t​)∣Dt+1​)+λ2​∣∣Θ∥2

测试和更新

在测试中,来一批新的数据Dt+1D_{t+1}Dt+1​时,用推荐模型WtW_tWt​测试。

紧接着先用Dt+1D_{t+1}Dt+1​更新参数θ\thetaθ:Ls(Θ∣Dt+1)L_{s}\left(\Theta \mid D_{t+1}\right)Ls​(Θ∣Dt+1​)

然后用DtD_tDt​更新Wt^\hat{W_t}Wt​^​:Lr(W^t∣Dt)L_{r}\left(\hat{W}_{t} \mid D_{t}\right)Lr​(W^t​∣Dt​),交替这两步。

最后再运行一次第四行,更新θ\thetaθ,计算得到新的Wt←fΘ(Wt−1,W^t)W_{t} \leftarrow f_{\Theta}\left(W_{t-1}, \hat{W}_{t}\right)Wt​←fΘ​(Wt−1​,W^t​)。

计算W^t+1\hat{W}_{t+1}W^t+1​:Lr(W^t+1∣Dt+1)L_{r}\left(\hat{W}_{t+1} \mid D_{t+1}\right)Lr​(W^t+1​∣Dt+1​)

【RS】在线更新RS:How to Retrain Recommendation System (SIGIR‘20)相关推荐

  1. 论文翻译:How to Retrain Recommender System A Sequential Meta-Learning Method

    论文翻译:How to Retrain Recommender System? A Sequential Meta-Learning Method 一.Abstract 实际的推荐系统需要周期性地进行 ...

  2. sigir20-How to Retrain Recommender System A Sequential Meta-Learning Approach

    sigir20-How to Retrain Recommender System A Sequential Meta-Learning Approach 论文解读 Introduction Reco ...

  3. 【KDD2020-Tutorial】自动推荐系统,Automated Recommendation System

    点击上方,选择星标或置顶,不定期资源大放送! 阅读大概需要5分钟 Follow小博主,每天更新前沿干货 随着推荐任务的日益多样化和推荐模型的日益复杂,开发出一套能够很好地适应新的推荐任务的推荐系统变得 ...

  4. PAT甲级1129 Recommendation System:[C++题解]统计前k个商品

    文章目录 题目分析 题目来源 题目分析 来源:acwing 分析: 用变量k来计数每次输出前k个,k等于min(k,m),m为系统允许的最大推荐数. 用数组cnt统计每件商品的数量,top数组统计前k ...

  5. Algorithm之RS:RS常用的一些库

    Algorithm之RS:RS常用的一些库 目录 RS常用的一些库 RS常用的一些库

  6. open source project for recommendation system

    原文链接:http://blog.csdn.net/cserchen/article/details/14231153 目前互联网上所能找到的知名开源推荐系统(open source project ...

  7. 推荐系统——Converged Recommendation System Based on RNN and BP Neural Networks

    论文描述: 随着电子商务系统.社交网络.音乐应用等在线消费平台的快速发展,大量用户的消费行为日志每天都在产生.同时,我们现在有很好的硬件环境和相应的大数据处理技术来处理这些日志,如:越来越成熟的并行计 ...

  8. #Paper Reading# The YouTube Video Recommendation System

    论文题目: The YouTube Video Recommendation System 论文地址: https://dl.acm.org/citation.cfm?id=1864770 论文发表于 ...

  9. Some thoughts on Recommendation System

    Keep the recommendation system's recommendation function, but can I make my own decisions about what ...

最新文章

  1. 利用eigen库简单实现矩阵功能
  2. 不要再new一个对象了!程序员脱离单身秘籍
  3. python js 效率_巧用 db.system.js 提升20% 开发效率
  4. 【图数据结构的遍历】java实现广度优先和深度优先遍历
  5. 查看操作系统的UUID
  6. 欣赏下国外人css3打造的载入动画
  7. 亲串 (hdu 2203 KMP)
  8. Redux 入门 -- 处理 async action
  9. 小蜜蜂(动态规划dp)
  10. 墨菲定律 二八法则 马太效应 手表定理等
  11. v-for 循环生成多个表单元素 给动态生成的表单元素绑定值并且添加校验规则
  12. 360 mysql无法启动_mysql无法启动
  13. 生产环境系统突然访问速度变慢问题排查
  14. VSCode Tab按键失效,无法自动补全是什么情况?
  15. 「生产技改工程」智能变电站辅助监控系统
  16. 2021年中国乳胶床垫市场趋势报告、技术动态创新及2027年市场预测
  17. 智微JMS901量产工具软件+固件,JMS901双接口U盘成功量产教程分享
  18. 老调重弹-access注入过主机卫
  19. 2021.12.9号学习dockerfile内容
  20. 2 万多字,183 道 Java 面试题分析及答案

热门文章

  1. 将泰克TEK示波器生成的isf文件转化为csv文件
  2. HTML文件引入外部CSS文件时路径的写法总结
  3. Linux的shell脚本爬虫实战之图片爬取
  4. Spark Mllib核心思想
  5. go mod 与 goproxy 的使用
  6. Andrew Ng吴恩达深度学习Course_2笔记
  7. 身为程序员,你焦虑吗?
  8. komodo 注册机
  9. java.net.urlencoder_使用java.net.URLEncoder.encode()可以对要传递的中文进行编码
  10. 邑网杯 CTF 2021 , easystego和ccat 解题