[paper阅读]针对冷启动用户的、基于邻居用户特征映射的跨领域推荐(二)

这一周接着介绍针对冷启动用户的、基于邻居用户特征映射的跨领域推荐的具体模型实现和实验相关的介绍,如果没有阅读第一部分的童鞋,可以移步这里对论文的摘要、背景介绍、相关工作以及问题形式化等部分进行初步的了解。
论文原文:Cross-Domain Recommendation for Cold-Start Users via Neighborhood Based Feature Mapping

融合用户相似性的矩阵分解

用户在不同物品领域的评分行为可能完全不同。例如,一个用户可能在电子产品领域有许多评分但是在服装上只有很少的评分。另外一个示例是:用户可能会使用包括表演技巧、场景、故事线等方面来评估一个电影,但是他们可能会使用不同的方面来评估一本书。因此,在本文中模型的第一步,作者对不同领域的评分矩阵进行了不同的处理,以获取用户面向领域的潜在特征。为了更好地在稀疏领域对用户进行刻画,作者考虑了用户的评分行为,并且提出了一个名为MFUSMatrix Factorization by incorporating User Similarity, 融合用户相似性的矩阵分解)的改进的评分矩阵分解模型。在MFUS中,首先我们计算了基于用户评分行为的用户相似性,然后将这些相似性嵌入到矩阵分解流程中。

基于评分行为的用户相似性度量

基于共同评分的相似性

给定两个用户uv,如果他们拥有相同的评分产品$$ C_{uv} $$ ,我们可以基于他们在 $$ C_{uv} $$ 上的评分相似性来计算他们之间的相似性。作者们使用一个矩阵 $$ A^{(1)} $$ 来表示他们在 $$ C_{uv} $$ 上的评分,其中 $$ A^{(1)}_{ui} $$ 和 $$ A^{(1)}_{vi} $$ 分别表示两个用户在产品i上的评分。首先我们使用下面的公式来计算用户uv之间的第一个相似性度量:

$$D_{uv}^{(1)}=\sum_{z=1}^{|C_{uv}|} {(A^{(1)}_{uz} -A^{(1)}_{vz} )}^2, S^{(1)}_{uv}=e^{-\frac{\gamma_1D_{uv}^{(1)}}{|C_{uv}|}} (\gamma_1>0)$$

在这里,我们使用一个指数函数来讲用户评分的差别转化到一个相似值,$$ \gamma_1$$ 是一个预先定义好的参数,$$ D_{uv}^{(1)} $$ 度量了用户评分之间的评分差区别,$$ D_{uv}^{(1)} $$ 值越小表示相似性越高。

基于无兴趣估计的相似性

除了已经评分的物品,一个用户的潜在偏好可能也可以通过用户未评分的物品表现出来。原因在于:购买行为一般发生在比较和评估之后。然而,我们不能随意地下结论说一个用户不喜欢未评分的物品。

作者们使用 $$ P_{ui} $$ 来表示用户u对物品i没有兴趣的概率。如果用户u对物品i没有评分, $$ P_{ui} $$ 可以使用下面的公式进行估计:

$$ P_{ui} = [1-f_1(n_u) \times f_2(n_i) ] \times [1-f_3(\frac{n_i}{n})\times f_3(\frac{n_{H_i}}{n_i})]$$ — 公式1

其中 $$ f_1(n_u) = \sqrt{1-\frac{n_u^2}{m^2}}$$, $$f_2(n_i)=\sqrt{1-\frac{n_i^2}{n^2}}$$, $$f_3(x)=\frac{2}{1+e^{-\sigma x}}-1$$。nm分别表示某个领域中的用户数目和物品数目。$$n_u$$ 和 $$n_i$$ 分别表示用户 u 和物品i的总评分数目。 $$n_{H_1}$$表示对物品i的高评分数目(在本文的实验中,高评分是4或者5)。$$\frac{n_i}{n}$$和$$\frac{n_{H_i}}{n}$$ 分别表示物品的受欢迎程度和喜爱度。

上述公式的第一部分表示用户u知道物品i的概率(例如:$$n_u$$或者$$n_i$$减少的话,作者假定用户对这个类型的物品不熟悉或者这个物品不是那么流行,因此用户u知道物品v的概率会降低)。第二个部分表示用户u对物品i不感兴趣的概率,由物品的受欢迎程度和喜爱度决定。当用户对物品i进行评分的时候,$$P_{ui}$$可以通过评分分数$$R_{ui}$$估计得到。例如,如果$$R_{ui}=1$$,那么$$P_{ui}=1$$;如果$$R_{ui}=2$$,那么$$P_{ui}=0.8$$;如果$$R_{ui}=3$$,那么$$P_{ui}=0.5$$,以此类推。

给定用户uv以及他们两个都未评分的产品,我们可以使用上面的方式获取概率值。我们使用一个矩阵$$A^{(2)}$$来表示这些概率值,用户uv之间的相似性度量可以使用如下的方式计算:

$$D_{uv}^{(2)}=|\sum_{z=1}^{m-|C_{uv}|} {(A^{(2)}_{uz} -A^{(2)}_{vz} )}|, S^{(2)}_{uv}=e^{-\frac{\gamma_2D_{uv}^{(2)}}{|C_{uv}|}} (\gamma_2>0)$$

其中,$$m-|C_{uv}|$$ 表示用户uv都还没有评过分的物品大小。在这里,作者使用一个简单的方法来计算用户uv之间的差异,因为物品数目一般会很大。

基于评分偏好的相似性

作者发现用户的评分值经常是不均匀分布的。例如,高评分(4或者5)一般会占据大部分评分,但是低评分(1或者2)只占很小的一部分。作者将这个现象称作是用户的评分偏好,用户被看做是文档,而评分被看做是单词。作者们使用一个矩阵 $$ A^{(3)} $$ 来表示用户的评分偏好,每个元素 $$ A^{(3)}_{ur} $$表示用户u对评分$$r\in \{ 1,2,3,4,5\}$$ 的偏好。可以使用下面的公式进行计算:

$$ A^{(3)}_{ur} =rf(u, r)\times log_{base}(\frac{n}{uf(r)}), rf(u,r)=\frac{n_{ur}}{\sum_{z=1}^{5}n_{uz}}$$

其中,$$uf(r)$$ 表示那些评分为r的用户数,$$n_{ur}$$表示评分r在用户u的评分历史中的频率,base是一个预先定义好的参数(在本文中,$$base=2$$)。我们可以发现$$ A^{(3)}_{ur}$$ 正比于$$rf(u, r)$$,然后反比于$$uf(r)$$。

$$D_{uv}^{(3)}=|\sum_{z=1}^{5} {(A^{(3)}_{uz} -A^{(3)}_{vz} )}|, S^{(3)}_{uv}=e^{-\frac{\gamma_3D_{uv}^{(3)}}{|C_{uv}|}} (\gamma_3>0)$$

如上所述,对于用户uv,三种相似度度量方式$$S_{uv}^{(1)},S_{uv}^{(2)},S_{uv}^{(3)}\in [0,1]$$和它们的加权平均值$$S_{uv}=\rho_1S_{uv}^{(1)}+\rho_2S_{uv}^{(2)}+\rho_3S_{uv}^{(3)}$$被用于基于用户相似性最终的评分行为,其中 $$ \rho_1,\rho_2,\rho_3 $$分别表示控制三个部分重要性的权重。

评分矩阵分解

作者将上述部分中计算得到的用户相似性嵌入到矩阵分解模型中作为一个新的归一化模块。动机在于:两个相似的用户应该在分解后的潜在特征空间中与对方相接近。在文章中,作者使用了大写字母UV分别表示用户和物品的潜在特征矩阵,目标是解决下面的最小化问题:

$$\min \limits_{U,V} \frac{1}{2}\sum_{u=1}^{n}\sum_{v=1}^{m}Y_{ui}{(R_{ui}-U_{u*}V_{i*}^T)}^2+\frac{\alpha}{2}tr(UU^T)$$

$$+\frac{\alpha}{2}tr(VV^T)+\frac{\beta}{2}\sum_{u=1}^{n}\sum_{v=u+1}^{n}S_{uv}{||U_{u*}-U_{v*}||}^2$$ — 公式2

其中,$$U_{u*}$$和$$V_{v*}$$分别表示用户u和物品v的潜在特征,$${(\centerdot)}^T$$和$$tr(\centerdot)$$分别表示矩阵的转置和秩,$$Y_{ui}$$表示指示变量,当用户u对物品i有评分时,其值为1,否则的话为0。$$\alpha$$是正则化参数来避免过拟合,而$$\beta$$用来控制用户相似性的组成。

上述公式的最后一个部分的动机是:如果两个用户有非常相似的评分行为,它将会给这两个用户的潜在特征之间的差异性提供更大的惩罚,否则的话,它将会给潜在特征的差异性提供更小的惩罚(也就是说:两个用户越相似,那么用户潜在特征的差异性应该越小)。为了方便地解决这个问题,作者们将公式中的最后一个部分转化如下:

$$\sum_{u=1}^{n}\sum_{v=u+1}^{n}S_{uv}{||U_{u*}-U_{v*}||}^2=\sum_{u=1}^{n}\sum_{v=1}^{n}S_{uv}{||U_{u*}-U_{v*}||}^2$$

$$=\frac{1}{2}\sum_{u=1}^{n}\sum_{v=1}^{n}S_{uv}\sum_{k=1}^{K}{(U_{uk}-U_{vk})}^2=\sum_{k=1}^{K}U^T_{*k}LU_{*k}=tr(U^TLU)$$

其中,$$L=D-S$$表示矩阵D的拉普拉斯矩阵,它是一个对角矩阵,其中对角的元素是$$D_{uu}=\sum_{v=1}^n S_{uv}$$,因此目标函数可以变成:

$$\min \limits_{U,V} \frac{1}{2}\sum_{u=1}^{n}\sum_{v=1}^{m}Y_{ui}{(R_{ui}-U_{u*}V_{i*}^T)}^2+\frac{\alpha}{2}tr(UU^T)$$

$$+\frac{\alpha}{2}tr(VV^T)+\frac{1}{2}tr[U^T(\alpha I+\beta L)U]$$ — 公式3

其中,I是单位矩阵。作者每次使用交替的梯度下降来优化UV的每一行。如果使用F来表示上面公式中的目标函数,那么可以使用下面的公式来计算梯度:

$$\frac{\delta F}{\delta U_{*k}}=(\alpha I+\beta L)U_{*k}-x$$

$$\frac{\delta F}{\delta V_{i*}}=-\sum_{u=1}^{n}Y_{ui}(R_{ui}-U_{u*}V^T_{i*})U_{u*}+\alpha V_{ik}$$

其中,x是一个$$n\times 1$$的向量,其值为$$x_u=\sum_{i=1}^{m}Y_{ui}(R_{ui}-U_{u*}V^{T}_{i*})V_{ik}$$。

基于邻居用户的潜在特征映射

作者提出的MFUS可以学习用户在不同领域针对领域的潜在特征。然而,对于冷启动用户$$U_T$$,我们只能在辅助领域获取其潜在特征,而由于在不同领域中潜在特征的不同语义含义,我们是无法直接在目标领域生成推荐的。但是,相同用户在不同领域的潜在特征可能是高度相关的。例如,如果一个用户喜欢武侠小说,那么该用户也有可能对那些中国的剑客电影感兴趣。因此,作者试图使用链接用户$$U_L$$来作为一个桥梁来学习函数F来将用户在辅助领域的潜在特征映射到目标领域中。

映射函数F的输入时用户在辅助领域的潜在特征,而输出是对应用户在目标领域的潜在特征。

在这里,作者采用了GBTGradient Boosting Tree,梯度提升树)方法来学习映射函数F,因为该方法在获取输入和输出之间高阶转化关系的方面非常强大的方法。GBT是一个在函数空间而不是参数空间进行数值优化的函数估计方法。给定训练集合$${\{x^i,y^i\}}_{i=1}^N$$,其中 $$x^i\in R^{K\times 1}$$,$$y^i\in R$$。GBT的目标是找到一个函数$$f(x)$$,使得指定损失函数$$\psi(f(x))$$在训练集上的预估值最小化,并且可以针对一个新的$$x\in R^{K\times 1}$$来预测响应值$$y\in R$$。更进一步地,最后返回的$$f(x)$$是构建在一个分阶段的流程中,通过在函数空间上执行梯度下降。在第m步的提升中,

$$ f_m(x)=f_{m-1}(x)+\nu \eta_m h_m(x; \alpha_m) $$ — 公式4

其中,$$h_m(x; \alpha_m)$$是一个由$$\alpha_m$$ 参数化的函数,$$\eta_m$$是学习率,$$0 < \nu \le 1$$是收缩参数来防止过拟合。在第m步迭代中,学习进程由两步组成:首先,根据在m-1步迭代中保持的“虚拟响应”得到的新组件函数$$h_m(x; \alpha_m)$$,然后执行“线性检索”来推导$$\eta_m$$。在本文的实验中,作者们使用方差误差函数,并将$$\nu = 0.01, \eta_m=1$$。

假设目标领域中潜在特征的维度是$$K_t$$,作者们使用$$K_t$$次GBT 来学习映射函数$$F={\{f^{(k)}(x)}\}^{K_t}_{k=1}$$,其中第j部分的子函数$$f^{(j)}(x)$$将辅助领域的用户潜在特征作为输入,然后返回用户在目标领域中第j个映射的潜在特征。

考虑到有相似评分行为的用户应该共享相似的潜在特征,对于每个冷启动用户,作者使用相似的链接用户来学习映射函数。因此,模型的最后一步中,对于每个用户$$u\in U_T$$,作者们使用$$N_u$$来表示用户u的相似链接用户,对于每个属于$$N_u$$中的用户v,$$S_{uv}^a > sim$$。在这里,sim是一个预先定义好的相似性阈值,$$S_{uv}^a$$表示在辅助领域中通过MFUS计算得到的用户相似性。潜在特征对$${\{U_{v*}^a,U_{v*}^t\}}_{v\in N_u}$$,其中,$$U_{v*}^a$$和$$U_{v*}^t$$分别表示用户v在辅助领域和目标领域的潜在特征,将会被用于通过使用GBT学习映射函数$$F_u={\{f_u^{(k)}(x)}\}^{K_t}_{k=1}$$。基于潜在特征$$U_{u*}^a$$和映射函数$$F_u$$,作者们可以计算得到用户在目标领域的映射潜在特征,每个维度的值为:$$u_k=f_u^{(k)}(U_{u*}^a)$$。基于映射的潜在特征u和物品在目标领域$$V^t$$的潜在特征,可以得到预估的评分为:

$$\hat{r}=V^tu^T$$ — 公式5

跨领域潜在特征映射算法的伪代码如下所示:

输入:$$R^t, R^a$$- 目标领域和辅助领域的评分矩阵
$$K_t, K_a$$- 目标领域和辅助领域的特征维度
$$sim$$ – 筛选最近邻链接用户的相似性阈值
输出:$$\hat{R}$$ – 评分预测矩阵,行是$$U_T$$,列是$$P_t$$
– 通过MFUS获取目标领域中潜在特征矩阵$$U^t$$和$$V^t$$
– 获取用户相似性矩阵$$S^a$$,通过MFUS获取辅助领域的用户潜在特征矩阵$$U^a$$
– 对于每一个$$U_T$$中的冷启动用户:
1. 基于$$S_{u*}^a$$和$$sim$$找到用户的最近邻链接用户$$N_u$$
2. 对于目标领域中潜在特征向量的每个维度k
2.1构建训练集$$T_u^{(k)}={\{U_{v*}^a, U_{vk}^t\}}_{v\in N_u}$$
2.2初始化$$f_u^{k}(x)=f_{u_0}^{(k)}(x)$$
2.3当目标损失函数$$\psi(f_u^{(k)}(x))$$未收敛:
2.3.1计算当前的“虚拟响应”
2.3.2学习一个新的函数$$h(x;\alpha)$$来满足“虚拟响应”
2.3.3使用公式4来更新$$f_u^{(k)}(x)$$
3.使用$$F_u={\{f_u^{(k)}(x)\}}_{k=1}^{K_t}$$和$$U^a_{u*}$$来预测用户的映射潜在特征
4. 使用公式5来计算$$\hat{R}$$中u的映射特征
返回 $$\hat{R}$$

实验分析

实验设置

  • 数据源:Amazon的评分数据(MB:电影+书籍;BM:书籍+电影;ME:电影+电子产品;EM:电子产品+电影)
  • 基线:
    • AF:平均填充,启发式的方法[1],基于全局平均评分的和、用户偏好和物品偏好估计评分
    • CDCF-U:基于用户的邻居用户跨领域协同过滤模型[2]
    • CDCF-I:基于物品的邻居用户跨领域协同过滤模型[2]
    • CMF:不同领域之间共享用户潜在特征的迁移学习方法[3]
    • TMatrix:通过基于链接用户的转换矩阵的跨领域特征映射。在本文的实验中,通过矩阵分解学习潜在特征[4]
    • EMCDR:面向冷启动用户的跨领域推荐方法。首先通过矩阵分解学习潜在特征,然后使用MLP进行潜在特征映射[5]
  • 度量标准:RMSERoot Mean Square Error,根均值方差)和MAEMean Absolute Error,均值绝对差)

实验结果

参数设置:潜在特征维度-15,相似度阈值sim-0.45

数据密度的影响

不同数据密度级别下的实验结果如图1和图2所示。

图1 不同数据密度级别下、不同方法的RMSE

图2 不同数据密度级别下、不同方法的MAE

  • AF和基于邻居用户的方法:无法和分解模型一样能够获取到用户和物品的全局特征;此外,用户的偏好和评分在不同的领域是不相同的,由于没有考虑到特定的领域,这些方法无法获取更加合适的性能(CMF方法亦然)。
  • TMatrix:转换矩阵是线性映射函数,无法对不同领域潜在特征之间的非线性关系进行建模。
  • EMCDR:基于所有链接用户使用MLP进行学习,可能会引入噪音
  • 在本文提出的模型中,MFUS考虑了用户的评分行为,可以缓解数据的稀疏性,从而学习到更精确的针对领域的潜在特征,然后基于邻居用户的GBT通过相似的链接用户学习了针对用户的高阶特征映射函数。因此,本文中提出的方法可以精确地预测冷启动用户在目标领域的潜在特征和偏好。

链接用户大小的影响

不同重合级别下的实验结果如图3和图4所示。

图3 不同重合级别下、不同方法的RMSE

图4 不同重合级别下、不同方法的MAE

本文提出的模型在所有的用户覆盖级别下都能实现最佳的性能。同样地,两个领域之间重合的用户数目越少,本模型相对于其它模型的提高越明显,这就意味着CDLFM擅长从少量数据中获取到有价值的知识。

两种变式的比较

为了更好地理解模型,作者也实现了MF+GBTMFUS+GBT的方法,发现后者的效果优于前者。这就意味着MFUS中学习到的潜在也正可以提高GBT的性能,从相似用户中学习到的映射函数更加合理。与TMatrix相比,可以发现,GBT对于高阶的跨领域 潜在特征映射更加高效。

参数敏感性分析

图5 不同K、$$\alpha$$、$$\beta$$值下MFUS的性能,加粗的数字表示最佳的性能

在本文中,作者使用回溯线性检索来加速梯度下降法,设置$$\gamma_1=1/4,\gamma_2=3,\gamma_3=2,\sigma=6$$。一些实验结果如图5所示。当$$\beta=0$$时,在矩阵分解中,性能会随着K的增大而提高。然而,当$$\beta \neq 0$$时,在K的值过大时,MFUS的性能会变糟糕。可能的原因是:通过考虑用户的评分行为,MFUS可以获取到更多的信息,而低维的潜在特征已经能够精确地刻画用户和物品了。此外,当$$\rho_1=0.6, \rho_2=0.2, \rho_3=0.2 $$时,得到一个较优的值,这意味着三种相似度度量方法对于精确的评分预测而言都是有效的。具体的实验结果如图6所示。

图6 不同相似性度量方法权重下MFUS的性能比较

此外,作者们还探究了参数sim对模型效果的影响。不难发现:sim值越大,可以学习到越精确的特征映射函数。结果表明:在某个物品领域有相似评分行为的一群用户,倾向于在另一个物品领域的某些方面会保持一致。具体的实验结果如图7所示。

图7 不同数据集上不同sim值对CDLFM性能的影响

结论

在本篇文章中,作者介绍了一个新颖的模型CDLFM用于冷启动用户更高效的跨领域推荐。首先,作者提出了一个新的、融合用户相似性的评分矩阵分解模型。在这个模型中,作者考虑了用户的评分行为,从而学习到了稀疏领域中更加精确的用户潜在特征。其次,作者还提出了一个基于邻居用户的GBT方法来学习跨领域的高阶潜在特征映射函数。实验结果表明:该模型在针对冷启动用户的跨领域问题上由于其它流行的方法。

参考文献

[1] Pan, W., Yang, Q.: Transfer learning in heterogeneous collaborative filtering do- mains. Artificial Intelligence 197, 39–55 (2013)
[2] Hu, L., Cao, J., Xu, G., Cao, L., Gu, Z., Zhu, C.: Personalized recommendation via cross-domain triadic factorization. WWW, 595–606 (2013)
[3] Singh, A.P., Gordon, G.J.: Relational learning via collective matrix factorization. KDD, 650–658 (2008)
[4] Kazama, M., Varga, I.: Cross domain recommendation using vector space transfer learning. RecSys Posters 2016
[5] Man, T., Shen, H., Jin, X., Cheng, X.: Cross-Domain Recommendation: An Em- bedding and Mapping Approach. IJCAI, 2464–2470 (2017)

打赏

mickey

记录生活,写给几十年后的自己。