1. 引言
伴随着互联网的出现和普及,用户可以获得大量的信息,但互联网的迅速发展也致使数据信息大幅度增加,这便造成了信息过载 [1] ,用户难以从海量数据中挑选出有效信息。为了解决这一问题,推荐系统 [2] [3] 应运而生。
推荐系统通过数据进行预测,既可以帮助用户挑选出有效信息,也可以将信息展现在更可能对它感兴趣的用户面前。常见的推荐方法包括基于内容的推荐、基于知识的推荐、协同过滤以及混合推荐等 [4] 。推荐系统现已广泛地应用在很多领域,例如零售、音乐、目录、网络搜索等 [5] 。但在实际中,由于与用户产生交互的项目很少,因此便产生了数据稀疏和冷启动问题,这也是推荐系统所面临的主要问题。
为了缓解数据稀疏 [6] 和冷启动 [7] ,一种有效的方法就是跨域推荐 [8] [9] 。跨域推荐旨在利用其他领域的数据信息,帮助目标领域给用户进行推荐。例如,对于一个大型的电商平台而言,新用户从未购买过书籍,但是该用户可能在此平台上购买过电影或音乐,这些信息往往是能够帮助平台实现对该用户购买书籍的推荐工作,或者借助其他用户或其他物品的相关信息,让可用的信息丰富起来,从而降低推荐难度。
跨域推荐的主要方法有协同过滤 [10] 、矩阵分解 [11] 、迁移学习 [12] 、神经网络 [13] 以及注意力机制 [14] 等。对于基于矩阵分解的推荐方法,国内外学者们已经做了很多的研究。一种是将迁移学习与矩阵分解相结合,将在源域上通过矩阵分解学习到的评分模型迁移到目标域,这种模型的缺点是没有利用目标域的信息,因此在迁移后,推荐效果不佳。之后,有学者提出,当源域和目标域用户完全重叠或者项目完全重叠时,在矩阵分解的基础上,利用矩阵联合分解(Collective Matrix Factorization, CMF)的方法 [15] ,即同时最小化两个域的损失函数,这样便可以同时分析两个域的数据信息,但是这种模型要求用户因子矩阵或项目因子矩阵完全相同。
针对以上的不足,本文提出了一种基于部分用户重叠的跨域推荐方法,主要贡献有:
1) 在用户部分重叠的场景下,提出一种新的跨域推荐模型:基于矩阵分块技巧的协同过滤跨域推荐(A Collaborative Filtering Cross-Domain Recommendation Based on Matrix Blocking Technique, CFCDRMB)。模型采用矩阵三分解形式来学习潜在因子矩阵和特征矩阵。
2) 模型利用矩阵分块技巧表征共享用户潜在因子和域特有用户潜在因子;并利用联合矩阵分解学习特征矩阵来捕获各自域的数据特征并实现共享知识的迁移。
3) 本文在3个数据集上与4个方法进行了对比,实验结果表明,新提出的模型在部分用户重叠场景下具有显著的优越性。
2. 相关工作及原理
推荐系统的评分矩阵是一个高维稀疏矩阵
,潜在因子模型通过将目标矩阵分解
为相应潜在因子矩阵的乘积,模型也从最初的二分解形式推广到三分解形式。概率矩阵分解(Probabilistic Matrix Factorization, PMF) [16] 模型是一种基于矩阵二分解的推荐方法,它将用户的评分矩阵
、用户特征因子矩阵
、项目特征因子矩阵
都看为随机变量,并且还基于两个前提,1) 用户特征因子和项目特征因子服从均值为0的高斯分布;2) 预测后的评分矩阵和真实值的误差也服从均值为0的高斯分布。它的损失函数为
(1)
其中
为指示函数,若用户i对项目j打过分,则
,否则为0;
、
为对应的正则化系数。
矩阵三分解模型的思想是将一个矩阵分解为三个低秩因子矩阵的乘积,即用三个低秩矩阵
,
,
相乘来近似表示原始矩阵
,其中r为分解的秩。在推荐系统中,U表示用户因子矩阵,其元素表示每一个用户对每个用户特征因子的隶属度;V表示项目因子矩阵,其元素表示每一个项目对每个项目特征因子的隶属度;S为特征矩阵,其每个元素表示每个用户特征因子对每个项目特征因子的偏好程度。
矩阵三分解的目标函数如下:
(2)
针对单域数据稀疏和冷启动等问题,近年来学者们提出了跨域推荐概念 [17] ,跨域推荐是指借助于一个或多个源域的丰富数据信息,通过迁移学习的思想,将源域获得的有用知识迁移到目标域中,从而得到目标域中相比于传统单一领域推荐更为精确的推荐结果。
设
分别表示目标域和源域的评分矩阵。经典的联合矩阵分解
的协同过滤推荐系统(CMF)处理的是源域和目标域的项目完全重叠的情况,目标函数为
(3)
其中
为缺失值指示矩阵,
为域的用户潜在因子,V为项目潜在因子,θ为正则化项用以防止过拟合。这里模型假设共享项目因子V并以此作为知识迁移的桥梁。后来Pan等 [18] 充分利用源域和目标域的用户和项目之间的关系,构造共享的潜在空间,通过矩阵的低秩三因子分解(TCF模型)实现知识的迁移,其模型为:
(4)
此模型基于用户和项目完全重叠的情况,同时共享了用户潜在因子U和项目潜在因子V,通过学习内部矩阵
,
分别来捕获各自域的数据特征,并加以正交约束迁移最有用的知识。但正交约束却难以满足非负性的要求。
本文拟在用户部分重叠的场景下,提出一种新的跨域推荐模型。
3. 新模型的提出
3.1. 问题描述
目前跨域推荐系统在缓解新系统冷启动中已经取得了显著的成效,但常见的推荐系统模型都是基于用户完全重叠、或者项目完全重叠的前提。此外,在以往的模型中,假设源域、目标域完全共享重叠的特征因子矩阵,即假设
或者
,但这样的假设过强,且会丢失每个域中独有的特征信
息。因此本文提出了应用于部分用户重叠的推荐场景。设
表示目标域评分矩阵,
表示源域的评分矩阵,这里约定只有部分用户重叠,其重叠数目为
。我们的目的
是挖掘源域和目标域之间的隐式特征,通过联合矩阵分解的协同过滤模型以实现域间知识的迁移;在两个域进行信息共享的同时,保留每个域特有的特征,并将信息利用最大化,过程可见图1。
3.2. CFCDRMB模型
在用户部分重叠的情形下,本文提出一种新的跨域推荐模型:基于矩阵分块技巧的协同过滤跨域推荐(A Collaborative Filtering Cross-Domain Recommendation Based on Matrix Blocking Technique, CFCDRMB)。新模型的损失函数如公式(5):
(5)
其中
,为两个域共享的特征因子,
,
为保留的两个域特有的特征因子,
,
分别表示两个域的项目因子矩阵,
、
表示两个域中用户特征对项目特征的偏好程度,这里
、
、
分别表示共享用户特征因子的个数、目标域特有用户特征因子的个数、源域特有用户特征因子的个数,
、
分别表示项目特征因子个数,r为用户特征因子个数,d为项目特征因子个数。两个域的用户特征潜在因子可用分块矩阵表示为
。
表示正则化系数,其中
。模型中第一项为目标域的重构误差项,第二项为源域的重构误差项,第三项用来学习跨域间特征的相似性,其余项为正则项以防止模型过拟合。为了提高推荐的高效性,要求源域、目标域的特征分类尽可能相似,因此在损失函数中,就要求
、
尽可能接近。
3.3. 优化算法
跨域推荐模型本质是一个最小化的优化问题,即让损失函数(5)最小化,但模型有非负性的约束,用梯度下降法是一种较好的策略,这里我们拟采用随机梯度下降法和交替更新规则优化模型。首先,将目标函数(5)按元素展开:
(6)
根据拉格朗日乘子法,等式(6)中分别对
、
、
、
、
、
、
的各元素求偏导数得到:
(7)
(8)
(9)
(10)
(11)
(12)
(13)
则
、
、
、
、
、
、
的更新公式为:
(14)
(15)
(16)
(17)
(18)
(19)
(20)
其中
为步长。为了保证非负性 [19] ,在每一次迭代中,
,其中
。求解新模型的优化算法具体步骤可见算法1。
算法1:最小化损失函数的优化算法
输入:目标域评分矩阵
、源域评分矩阵
、用户潜在因子个数r、项目潜在因子个数d、正则化系数
、阈值
、最大迭代次数
初始化:
、
、
、
、
、
、
、
While not converge and
:
1) 通过公式(7)~(13)得到梯度
2) 通过公式(14)~(20)得到更新后的
、
、
、
、
、
、
3)
4) 计算
5) End
6) 输出:
4. 实验
4.1. 数据集与数据预处理
本文使用了真实数据集亚马逊评论数据集(Amazon review data)中的数据进行实验,Amazon数据集 [20] 来源于Amazon购物网站,记录了用户对商品的评价,是推荐系统的经典数据集。实验中选取了Movie、Book、Music三个域的数据,对于三个域的相关数据描述如表1。
首先对数据进行预处理,去除数据集中对项目评分少于5个的用户信息,并在处理后的数据中,随机选择600个用户、5000个项目,三个域有100个重叠用户,并且Movie、Book、Music三个域的稀疏度分别为99.9%、98.4%和98%,以此形成部分用户重叠的跨域推荐场景。

Table 1. Amazon dataset information description
表1. Amazon数据集信息描述
此外,本文还将数据进行了Min-Max标准化,将初始评分映射到[0, 1]区间内,标准化规则如下:
4.2. 评价指标
本文采用均方根误差(RMSE)和平均绝对误差(MAE)来衡量推荐的有效性,定义如下:
其中N为评分个数,
为预测值,
为实际值,RMSE和MAE数值越小,推荐效果越好。
4.3. 对比方法
本文选用两个单域模型和两个跨域模型进行对比实验,以验证新模型算法的优越性。
1) 概率矩阵分解PMF模型(Probabilistic Matrix Factorization)是用于单域上的推荐方法。
2) 奇异值分解模型(Singular Value Decomposition, SVD)是经典的矩阵分解方法,可用于单域推荐。
3) 基于HISF [21] 的推荐模型(Hidden Implicit Similarities for Cross-Domain Recommendation)是一种较新的跨域推荐方法。
4) 基于CBT的推荐模型(Codebook Transfer)是一种用于用户、项目均不重叠的跨域推荐方法,它的思想是,源域目标域之间存在一定共性,即评分模式,因此可以将在源域上通过正交非负矩阵分解 [22] 学习到的codebook矩阵迁移到目标域中,通过与目标域进行比对,填补目标域评分矩阵,从而实现跨域推荐。
4.4. 实验结果与分析
本文分别在3个数据集上进行了三组跨域推荐实验,如表2所示。3组实验结果如表3~5所示,且已将每组实验的RMSE和MAE最小值标黑。
从表3~5的结果可以发现,相较于单域推荐方法和其他的跨域推荐方法而言,CFCDRMB拥有更好的推荐性能。3组实验中,与经典的单域推荐方法PMF、SVD相比,本文所提出的CFCDRMB可以提升大约45%、13%、11%的性能,由此可知,当源域数据稀疏时,利用其他域的数据可以有效的提升目标域的推荐能力;与跨域推荐方法HISF、CBT相比,CFCDRMB可以提升大约70%、73%、72%的性能,虽然HISF、CBT两种方法都是跨域推荐方法,但由于它们都存在一定的使用场景限制,所以将它们用于部分用户重叠的全新场景时,推荐性能便会大幅度下降。同时,根据HISF的均方根误差均小于CBT这一结果来看,相较于两个域完全不同,当源域和目标域存在重叠部分时,目标域的推荐更好,即可以用于帮助目标域进行推荐的数据更加有效。

Table 3. RMSE of recommendation on Movie
表3. 对Movie进行推荐的RMSE

Table 4. RMSE of recommendation on Book
表4. 对Book进行推荐的RMSE

Table 5. RMSE of recommendation on Music
表5. 对Music进行推荐的RMSE
此外,由于要使两个域的用户、项目特征尽可能相似,所以正则化系数
对于模型有很大的影响;用户特征个数r以及项目特征个数d的取值也会影响到推荐性能,如果r和d取值过大,便可能会导致过拟合现象,所以确定合适的取值也有着很大的意义。
因此,除了以上实验,本文还针对模型中的三个重要的参数:正则化系数
、用户特征个数r以及项目特征个数d进行了实验,目的是为了查看参数对模型推荐效果的影响。实验结果如图2、图3以及图4所示。

Figure 2. Effect of
value on RMSE
图2.
取值对模型RMSE的影响

Figure 3. Effect of the number of user features r on RMSE
图3. 用户特征个数r对模型RMSE的影响

Figure 4. Effect of the number of item features d on RMSE
图4. 项目特征个数d对模型RMSE的影响
由实验结果可以看出,
、r和d均对推荐效果产生了一定的影响,其均方根误差的趋势总体呈现出先下降再上升。当
取0.4,r取50,d取20时,CFCDRMB的RMSE最小,模型的损失最小,此时推荐效果最好。
最后,本文还对模型进行了收敛性分析,3组实验的收敛结果如图5所示。实验结果可以证明,3组实验中,本文提出的模型均收敛,并且每组实验都在迭代200次左右开始收敛。

Figure 5. Convergence of RMSE when recommending Movie, Book and Music
图5. 对Movie、Book和Music进行推荐时,RMSE的收敛性图
5. 结论
本文提出了一个适用于部分用户重叠的跨域推荐模型,它在传统的矩阵三分解模型的基础之上,利用矩阵分块技巧,保留了每个域所特有的特征信息,让数据得到了更加充分的利用。本文在3个稀疏数据集上进行了实验,实验结果也表明,在原数据集稀疏的情况下,充分利用已有的数据信息可以使得模型的推荐效果更好。同时,从实验结果可以看出,该模型还有效缓解了部分用户重叠场景下的跨域推荐问题;通过和其他推荐模型相比较,本文所提出的模型具有更好的推荐性能,在现有的推荐模型基础上都有了一定程度的提升。最后,新模型的优化过程也是收敛的。但本文在模型求解最优解时,使用的仍然是传统机器学习中的随机梯度下降算法,该算法效率较低。未来的工作将研究更新算法,进一步提高推荐算法的速度效能。
NOTES
*通讯作者。