深度学习推荐系统

本文详细探讨了推荐系统的发展历程,从传统模型如协同过滤、矩阵分解到深度学习模型如AutoRec、Deep Crossing、NeuralCF等。深度学习的优势在于其强大的表达能力和模型灵活性。此外,文章还介绍了如何处理推荐系统的实时性、冷启动问题以及模型的工程实现,包括GBDT+LR、FM与深度学习的结合、Attention机制、强化学习在推荐系统中的应用。同时,重点讨论了Embedding技术在推荐系统中的作用,如Word2Vec、Item2Vec以及Graph Embedding等,并给出了实际案例如Facebook、Airbnb和YouTube的推荐系统实践。最后,文章强调了理解业务场景和数据特性在构建高效推荐系统中的重要性。
摘要由CSDN通过智能技术生成

深度学习推荐系统

互联网的增长引擎 —— 推荐系统

  • 推荐系统要处理的是“人”和“信息”的关系,信息包括“用户信息”、“商品信息”、“场景信息”
  • 推荐系统的数据按照实时性的强弱排序为:
    • 客户端及服务器端实时数据处理
    • 流处理平台准实时数据处理
    • 大数据平台离线数据处理
  • 得到原始数据之后,需要数据加工得到的数据有:
    • 推荐模型所需的样本数据,用于算法模型的训练和评估
    • 推荐模型服务(model serving)所需的“特征”,用于推荐系统的线上推断
    • 系统监控、商业智能(Business Intelligence,BI)系统所需的统计型数据
  • 模型训练分为:
    • 离线训练:利用全量样本和特征,使模型逼近全局最优点
    • 在线更新:准实时地“消化”新的数据样本,更快地反映新的数据变化趋势

前深度学习时代 —— 推荐系统的进化之路

传统推荐模型的优点:

  • 可解释性强
  • 硬件环境要求低
  • 易于快速训练和部署

传统推荐模型的演化关系图
在这里插入图片描述

协同过滤

缺点:

  • 因为只引入了用户和商品之间的行为数据,导致头部内容更容易和其他内容相似,而长尾内容因为稀疏的行为向量,很难被推荐出去
  • 数据单一、泛化能力差

UCF

用户相似度计算

  • 余弦相似度:计算用户i和用户j之间的向量夹角大小,夹角越小,说明两个用户更相似
    s i m ( i , j ) = c o s ( i , j ) = i ∗ j ∣ ∣ i ∣ ∣ ∗ ∣ ∣ j ∣ ∣ sim(i, j) = cos(i, j) = \frac{i * j}{||i|| * ||j||} sim(i,j)=cos(i,j)=ijij
  • 皮尔逊相关相似度:
    • 使用用户平均分对评分进行修正,减小了用户偏置带来的影响
      s i m ( i , j ) = ∑ p ∈ P ( R i , p − R i ˉ ) ( R j , p − R j ˉ ) ∑ p ∈ P ( R i , p − R i ˉ ) 2 ∑ p ∈ P ( R j , p − R j ˉ ) 2 sim(i, j) = \frac{\sum_{p\in P} (R_{i,p} - \bar{R_i}) (R_{j, p} - \bar{R_j})}{\sqrt{\sum_{p\in P} (R_{i,p} - \bar{R_i})^2} \sqrt{\sum_{p\in P} (R_{j,p} - \bar{R_j})^2}} sim(i,j)=pP(Ri,pRiˉ)2 pP(Rj,pRjˉ)2 pP(Ri,pRiˉ)(Rj,pRjˉ)
    • 使用物品平均分对评分进行修正,减小了物品偏置对结果的影响
      s i m ( i , j ) = ∑ p ∈ P ( R i , p − R p ˉ ) ( R j , p − R p ˉ ) ∑ p ∈ P ( R i , p − R p ˉ ) 2 ∑ p ∈ P ( R j , p − R p ˉ ) 2 sim(i, j) = \frac{\sum_{p\in P} (R_{i,p} - \bar{R_p}) (R_{j, p} - \bar{R_p})}{\sqrt{\sum_{p\in P} (R_{i,p} - \bar{R_p})^2} \sqrt{\sum_{p\in P} (R_{j,p} - \bar{R_p})^2}} sim(i,j)=pP(Ri,pRpˉ)2 pP(Rj,pRpˉ)2 pP(Ri,pRpˉ)(Rj,pRpˉ)

缺点

  • 在互联网场景下,一般用户数远远大于物品的数量,因此用户相似度矩阵的存储开销会非常大
  • 用户历史数据向量一般都比较稀疏,所以对于购买或者点击行为非常少的用户,寻找相似用户不是非常准确。不适用于低频购买的场景,例如airbnb、大额商品购买等等

ICF

物品相似度的计算方法同上

UCF和ICF的应用场景

  • 新闻推荐场景:UCF
    • 用户对新闻的兴趣点是分散的,新闻的时效性和热度往往是更重要的属性,UCF通过发现相似用户喜欢什么可以更好地发现热点和跟踪热点的趋势
  • 电商和视频推荐场景:ICF
    • 用户的兴趣点相对比较稳定,在一段时间内,更适合推荐相似的物品

矩阵分解

优点:

  • 解决了协同过滤中处理稀疏共现矩阵的问题,增强模型的泛化性。原理:隐向量的生成基于全局的信息,不像CF,如果两个用户没有相同的购买行为,那么他俩的相似度为0
  • 相比于CF,空间复杂度降低,从 n 2 n^2 n2降到了 ( n + m ) ∗ k (n+m)*k (n+m)k

缺点:

  • 没法引入用户侧、物品侧的其他特征和上下文特征

算法:

  • 把用户和物品稀疏共现矩阵分解成用户和物品稠密矩阵的乘积,每一个用户/物品用一个k维的向量表示,k越小,向量包含的信息量越少,模型的泛化能力越强

LR

sigmoid函数 f ( x ) = 1 1 + e − ( w ∗ x + b ) f(x) = \frac{1}{1+e^{-(w*x+b)}} f(x)=1+e(wx+b)1

优点:

  • 数学含义上的支撑
  • 可解释性强
  • 工程需要

缺点:

  • 表达能力不强
  • 需要人工做特征交叉、特征筛选,可能造成“辛普森悖论”的错误结论
    辛普森悖论:在分组实验中(交叉特征)都占优势的一方,可能在总评中(单一特征)反而是失势的一方

FM

在这里插入图片描述
v i v_i vi v j v_j vj是特征 x i x_i xi x j x_j xj对应的embedding(每个特征值都学习到一个隐向量),特征组合 x i x j x_i x_j xixj对应的权重使用 < v i , v j > <v_i, v_j> <vi,vj>表示。这样做的好处在于提高模型的泛化能力,即使特征组合 x i x j x_i x_j xixj没有出现过,只要 x i x_i xi x j x_j xj对应的emb

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值