TimeSVD++:动态协同过滤推荐算法

本文探讨了时间感知的隐因子模型,包括静态隐因子模型与时间变化的基准预测方法。通过引入时间效应,改进了推荐系统的准确性。同时,文章还介绍了动态邻域模型,以适应用户和产品的交互变化。
摘要由CSDN通过智能技术生成

时间感知的隐因子模型

隐因子模型

  静态隐因子模型

r^ui=qTipu

为了学习向量 pu qi 我们对下面的正则化平方差公式最小化:
minq,p(u,i)K(ruiqTipu)2+λ(qi2+pu2)

常数 λ 控制了正则化的程度,通常由交叉验证得到。最小化通常通过随机梯度下降或者交替最小二乘方法得到。

不过有些评分与用户和产品的交互无关:有些用户偏向于给产品打高分,有些产品会收到高分。我们将这类不涉及用户产品交互的影响建模为baseline predictors。令 μ 为整体平均评分。对未知评分 rui 的基准预测评分表示为 bui

bui=μ+bu+bi

将基准预测器与隐因子模型结合我们得到
r^ui=μ+bu+bi+qTipu

考虑隐反馈信息的隐因子模型
r^ui=μ+bu+bi+qTipu+|R(u)|12jR(u)yj

其中集合 R(u) 包含了用户 u 评价过的产品。
模型的解释:这样的模型对于提供了很多隐式反馈(|R(u)|较高)的用户,使得它们的预测偏离基准预测。这对于推荐系统是一个较好的尝试,因为我们总是希望对那些提供了较多反馈用户从而可以较好建模的用户冒更大的风险。对于这类用户我们我们愿意提供不常见的推荐。而对于提供较少用户,我们更希望提供安全的预测,在基准值附近。
将评分分解成不同的部分在这里很方便,它是的我们可以分别对待不同的时间视角:(1)用户的评分偏差 bu (评分尺度)随时间变化;(2)产品的评分偏差 bi (产品流行度)随时间变化;(3)用户偏好 pu (兴趣)随时间变化。不过,我们认为产品特征 qi 与人不同不会随时间改变。我们接下来首先通过基准预测方法详细讨论时间效应。

时间变化的基准预测方法

  基准预测方法主要有两个时间效应:产品评分偏差(产品流行性)的时间效应;用户评分偏差(评分尺度)的时间效应。于是基准方法模型变为

bui(t)=μ+bu(t)+bi(t)

函数 bui(t) 表示用户 u 对产品i t (这一天)的评分。在对上述模型建模时,我们需要考虑到时间变化是渐变型还是突然型。在电影评分的例子中,我们认为电影的喜爱度不太可能在一天之内有太大波动;但是我们发现用户可能在一天之内有较大变化。那么在对用户偏差建模时就要求更精细的时间分辨率,而对产品建模时可以采用较低的时间分辨率。
  首先对于产品偏差,由于我们不需要太精细的分辨率,所以可以将产品偏差分割为基于时间的bin。在每个时间区间对应的bin我们使用一个不同的产品偏差。如何将时间轴分割为时间bin应该在得到更精细的分辨率(更小的bin)和在每个bin中有足够的评分之间进行权衡。在TimeSVD++论文中每个bin为连续十周的数据。因此在整个数据集上大概有30个bins。t对应一个 Bin(t) (在我们的数据中是一个1到30的数),这样电影偏差就被分割为一个静态部分和一个时间变化的部分:
bi(t)=bi+bi,Bin(t)

  对于用户偏差来说,情况就要更复杂了。如何对用户的时间区间进行不同粒度的划分是首要要考虑的问题。
  第一个模型选择是非常简单,使用一个线性函数刻画了用户评分偏差的可能的逐渐的漂移。我们首先引入一些新的符号,对每个用户,我们将其评分的日期的均值表示为 tu 。现在,如果用户在第 t 天评价了一部电影,那么这个评分相关的时间偏差定义为:
devu(t)=sign(ttu)|ttu|β

  

时间变化的隐因子模型

动态邻域模型

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值