概述
论文解析:Collaborative Filtering for Implicit Feedback Datasets
基本信息
- 作者:Yifan Hu, Yehuda Koren, Chris Volinsky
- 单位:AT&T Labs – Research
- 发表:International Conference on Data Mining, 2008
- 引用量:2002 (截止2019年10月)
- Spark ml机器学习库ALS隐式矩阵分解(通过
implicitPrefs
参数指定采用显性反馈还是隐性反馈模型)算法spark.ml.recommendation.ALS参考本文实现 - 本文的意义在于在传统的FM算法的基础上,考虑了用户的隐形反馈建模的问题
问题背景
以往的矩阵分解模型基于user对于item的显性反馈,而对于没有显性反馈的user-item对,则认为是user-item评分矩阵的缺失值。但是在实际系统中,无法收集user对于item的显性反馈(例如user对item的评分),更多数据是隐性反馈(例如用户的购买历史、浏览历史)。
隐性反馈有如下特点:
- 没有负面反馈。在显性反馈中,较高的评分可以看作是正面反馈,较低的评分可以看作负面反馈,而评分矩阵中缺失的评分则被某种意义上认为是没有信息量的,在计算模型中不予考虑;而在隐性反馈中,所有的反馈都是正面反馈,而没有反馈的user-item项未必是负面反馈(有可能该user没有点击/购买该item只是因为没有看到该item),但是模型也必须考虑这些没有反馈的user-item项,否则模型中就只有正面反馈没有负面反馈
- 隐性反馈信噪比更低
- 显性反馈的数值表示user偏好,具有明确的数值意义;隐性反馈的数值只能表达某种意义上的置信度。隐性反馈中的数值通常代表user action发生的次数(user对item的浏览量/购买量),但是action的次数并不能直接反应user的偏好。例如,用户观看一个视频2次可能是因为看视频的中间去处理了别的事情第一次视频中断了
- 模型评价指标不同。在显性反馈模型中,可以直接使用诸如mse之类的指标来评估模型,而在隐性反馈模型中,由于user-item项的值没有明确的偏好数字量的意义,因此无法直接用上述指标评估模型
模型
在经典FM模型的基础上加入置信度加权。经典FM模型的优化模型为
m
i
n
x
,
y
Σ
u
,
i
(
r
u
i
−
x
u
T
y
i
)
2
+
λ
(
Σ
u
∣
∣
x
u
∣
∣
2
+
Σ
i
∣
∣
y
i
∣
∣
2
)
min_{x,y} Sigma_{u,i}(r_{ui} - x_u^Ty_i)^2 + lambda(Sigma_u||x_u||^2 + Sigma_i||y_i||^2)
minx,yΣu,i(rui−xuTyi)2+λ(Σu∣∣xu∣∣2+Σi∣∣yi∣∣2)
其中
x
u
x_u
xu和
y
i
y_i
yi分别是用户
u
u
u和物品
i
i
i的隐向量,
r
u
i
r_{ui}
rui是
u
u
u对
i
i
i的评分(显性反馈)。第一项是矩阵分解项,第二项是参数正则项。
置信度权重的公式为
c
u
i
=
1
+
α
r
u
i
c_{ui} = 1 + alpha r_{ui}
cui=1+αrui
其中
r
u
i
r_{ui}
rui是用户
u
u
u对物品
i
i
i的隐性反馈,
α
alpha
α是超参数。当
r
u
i
=
0
r_{ui} = 0
rui=0时,
c
u
i
=
1
c_{ui} = 1
cui=1,表示模型也会计算没有隐性反馈的项,只是权重较小。
本文提出的隐性反馈模型的公式为
m
i
n
x
,
y
Σ
u
,
i
c
u
i
(
p
u
i
−
x
u
T
y
i
)
2
+
λ
(
Σ
u
∣
∣
x
u
∣
∣
2
+
Σ
i
∣
∣
y
i
∣
∣
2
)
min_{x,y} Sigma_{u,i}c_{ui}(p_{ui} - x_u^Ty_i)^2 + lambda(Sigma_u||x_u||^2 + Sigma_i||y_i||^2)
minx,yΣu,icui(pui−xuTyi)2+λ(Σu∣∣xu∣∣2+Σi∣∣yi∣∣2)
其中
c
u
i
c_{ui}
cui是上面提到的置信度权重,
p
u
i
p_{ui}
pui是一个表示
u
u
u和
i
i
i之间是否存在隐性反馈的0-1变量,存在隐性反馈时
p
u
i
=
1
p_{ui} = 1
pui=1,否则
p
u
i
=
0
p_{ui} = 0
pui=0. 因此,除了置信度加权和利用无反馈数据外,本文的隐性反馈模型和经典FM模型的区别还在于矩阵分解项中隐性反馈只有0-1没有数值,隐性反馈的数值体现在置信度权重当中。
优化方法
与经典FM一样,本文也采用ALS(Alternating Least Squares, 交替最小二乘法)对上述模型进行优化。
记user的隐向量为
X
∈
R
m
×
f
Xin R^{mtimes f}
X∈Rm×f,记item的隐向量矩阵为
Y
∈
R
n
×
f
Yin R^{ntimes f}
Y∈Rn×f,
m
,
n
,
f
m, n, f
m,n,f分别为user的个数,item的个数和隐向量的维度,
C
u
,
C
i
C^u, C^i
Cu,Ci分别为
u
u
u和
i
i
i对应的置信度权重对角矩阵,
p
(
u
)
,
p
(
i
)
p(u), p(i)
p(u),p(i)分别为
u
u
u和
i
i
i对应的隐性反馈0-1向量,根据最小二乘法,有迭代公式
x
u
=
(
Y
T
C
u
Y
+
λ
I
)
−
1
Y
T
C
u
p
(
u
)
x_u = (Y^T C^u Y + lambda I)^{-1} Y^T C^u p(u)
xu=(YTCuY+λI)−1YTCup(u)
y
i
=
(
X
T
C
i
X
+
λ
I
)
−
1
X
T
C
i
p
(
i
)
y_i = (X^T C^i X + lambda I)^{-1} X^T C^i p(i)
yi=(XTCiX+λI)−1XTCip(i)
对比经典FM算法的ALS迭代公式为
x
u
=
(
Y
T
Y
+
λ
I
)
−
1
Y
T
r
(
u
)
x_u = (Y^T Y + lambda I)^{-1} Y^T r(u)
xu=(YTY+λI)−1YTr(u)
y
i
=
(
X
T
X
+
λ
I
)
−
1
X
T
r
(
i
)
y_i = (X^T X + lambda I)^{-1} X^T r(i)
yi=(XTX+λI)−1XTr(i)
其中
r
(
u
)
,
r
(
i
)
r(u), r(i)
r(u),r(i)分别为
u
u
u和
i
i
i对应的数值评分向量。
最后
以上就是无语荷花为你收集整理的论文解析:Collaborative Filtering for Implicit Feedback Datasets论文解析:Collaborative Filtering for Implicit Feedback Datasets的全部内容,希望文章能够帮你解决论文解析:Collaborative Filtering for Implicit Feedback Datasets论文解析:Collaborative Filtering for Implicit Feedback Datasets所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复