融合物品相似性与流形正则化的矩阵分解推荐模型

2021-03-13 06:00王嘉琦顾晓梅
小型微型计算机系统 2021年2期
关键词:正则相似性矩阵

王嘉琦,顾晓梅

(南京师范大学 外国语学院,南京 210046)

1 引 言

信息化时代下数字图书馆和搜索引擎使得获取电子资源变得容易,但爆炸式增长的数据远超普通读者的处理能力,如何筛选出有价值的内容变得困难,造成“信息过载而知识贫乏”[1].在大数据和人工智能技术的推动下,推荐系统应运而生,图书电子资源的获取迎来了个性化时代.它可以通过分析用户行为数据自动学习其潜在的差异性需求,从而帮助用户从海量数据中快速获取对自己有价值的服务.近年来,推荐系统已经在电子商务和资源分享网站(如亚马逊、豆瓣、Netflix等)得到广泛应用.

以矩阵分解为代表的协同过滤[2]推荐是目前应用最为广泛的个性化推荐技术之一,它摆脱了对用户和物品本身信息的依赖,通过将用户-物品评分矩阵分解成低维的用户隐因子矩阵和物品隐因子矩阵,并根据二者相似性预测目标用户可能感兴趣的信息.但矩阵分解存在数据稀疏[3]问题,特别是当用户评分数据较少时,现有方法很难准确挖掘近邻用户及物品间的相似性;其次,矩阵分解得到的物品隐因子只是对物品属性的抽象,缺乏具体的含义,影响用户对于推荐结果的接受度;此外,在矩阵分解中用户和物品间相似性只计算一次,实际上在优化问题中,一旦环境变化,相似性也应随着优化目标不断更新.

近年来有研究者将计算机科学领域中的流形正则化理论引入推荐系统中,认为在原始高维空间中相似的数据所对应的低维投影也应较为相似.这为矩阵分解中的隐因子学习及相似性刻画等难题提供了新的视角—在原始高维评分矩阵中相似的物品所对应的低维物品隐因子特征也较相似.基于这一发现,本文提出一个新的矩阵分解推荐模型IMMF (Item-wise similarity and Manifold regularization based Matrix Factorization),首先构建用户-物品评分矩阵,基于同一用户、相似用户喜爱的物品会更加相似提出一个高维评分空间中的物品相似性度量方法;然后通过构建正则化约束项将物品相似性作用在矩阵分解的物品隐因子提取中,使得物品相似结构在降维过程中得以保留,既有效地刻画了物品相似性,又赋予了物品隐因子几何意义,增加推荐的可解释性;最后根据用户隐因子和物品隐因子计算推荐指数并进行推荐.本文试图为网络信息资源的推荐提供一个可供参考的解决方案.

2 相关工作

2.1 矩阵分解

推荐系统不需要用户提供查询关键词,而是根据用户行为历史和资源的内容来构建推荐机制.目前主流的推荐技术是基于协同过滤的方法,协同过滤分为基于近邻的推荐和基于模型的推荐,基于近邻的推荐又可以分为面向用户和面向物品两种方法.面向用户的推荐依据评分为每个用户寻找一组相似的用户,然后依据这些相似用户对其他物品的评分来估算当前用户可能喜欢的物品[4].面向物品的推荐是依据评分计算物品相似度,然后为用户推荐与他的购买历史相似的物品.

基于模型的推荐以矩阵分解[5]为代表,如图1所示.主要包括如下几个步骤:

图1 矩阵分解示意图Fig.1 Matrix factorization

1)对用户评分信息进行预处理,构建用户-物品评分矩阵R.当评分这一显式反馈无法获取时,推荐系统还可以通过用户购买记录、浏览行为和点赞历史等隐式反馈进行计算.矩阵中很多数值缺失(用“?”表示),因此十分稀疏,推荐系统的目的是为用户预测这些缺失值.

2)将高维评分矩阵R分解成低维的用户隐因子矩阵P和物品隐因子矩阵Q,从而将用户隐因子特征和物品隐因子特征映射至同一低维空间,其维度k远小于用户数m和物品数n,从而实现降维.最小化训练集上所有样本的预测误差作为目标函数,使用随机梯度下降法不断迭代优化求解参数P和Q.一般还要添加与参数相关的正则化约束项以避免过拟合现象.通过设置总误差阈值或者迭代次数来判断是否终止迭代.

3)得到用户隐因子矩阵和物品隐因子矩阵后,通过二者的乘积重构出评分矩阵,得到目标用户对物品的预测评分并进行推荐.Mnih等人[6]又从概率生成的角度对矩阵分解进行了解释,认为用户和物品的隐因子特征向量均服从均值为0的高斯分布,然后通过对二者的后验概率取对数得到目标函数,这与上述从优化角度得到的目标函数是等价的.

矩阵分解通过降维的方式大大降低了计算量,且只依赖评分数据,简单高效易实现.但是当评分数据很少时,现有方法难以准确度量用户和物品相似性;且物品隐因子含义模糊,推荐的可解释性较差.

2.2 相似性度量

在推荐系统中,用户和物品通过评分相互联系并形成网络,如多个物品被同一用户评分、同一物品被多个用户评分等.通过量化局部连接关系可以有效发现近邻用户和物品.协同过滤中常用的相似性度量方法有余弦相似性、皮尔森相关系数[7]等,但是在数据稀疏时效果有所降低.在此基础上,吴应良[1]提出将间接信任关系和直接信任关系融合成综合信任度,并引入协同过滤中.汪静[8]通过主动生成3阶段的物品询问列表,尽可能获取更多用户反馈数据,并基于这些反馈计算物品间相似度.王运[9]利用物品标签关联度数据和物品流行度数据计算物品相似度,并融入概率矩阵分解模型中进行评分预测.但是这些方法对邻接关系只计算一次,没有考虑到相似关系是动态变化的.李昆仑[10]提出将项目属性信息融入评分中以对相似性度量进行改进,并将项目和用户隐式反馈以一定的权重相结合,从而提高矩阵分解的预测精度.陶昀翔[11]提出局部保持的正则化约束项并嵌入到矩阵分解中,但基于主题相似性等计算物品相似度,需要额外的数据信息,在部分场景中难以满足.针对上述问题,本文利用评分矩阵,从同一用户和相似用户的评分共现两个方面改进物品相似性度量方法,并令其在初值的邻域内动态更新,从而更有效地学习物品相似性.

2.3 流形正则化

流形正则化[12]是计算机科学领域中一个重要的方法,认为在高维数据中嵌入着低维的流形结构,通过将数据映射至低维子空间中,可以使数据在新的投影空间中保持其在原特征空间中的局部几何结构[13],从而更紧凑地描述特征.局部保持投影(Locality Preserving Projections,LPP)[14]是一种代表性的流形正则化方法,通过建立近邻图来刻画局部结构.具体来说,给定一个n个点构成的数据集合X=[x1,x2,…,xn],其中xi∈Rm,m是原始高维数据的维度.映射后的低维数据集合Y=[y1,y2,…,yn],yi∈Rk.目的是寻找一个投影变换矩阵W∈Rm×k(k

(1)

其中A∈Rn×n是相似度矩阵,当Aij较大时,表示数据点xi和xj有较大的相似度,从而投影得到的yi和yj距离也较近,这一假设通过最小化目标函数得到.通过流形正则化技术可以在矩阵分解过程中保持物品间的局部结构,更好地学习物品隐因子及其相似性.

3 IMMF推荐模型描述

IMMF推荐模型融合了物品相似性改良和流形正则化约束,框架如图2所示,核心部分由物品相似性改量、流形正则化约束和矩阵分解推荐3个模块组成.

图2 矩阵分解推荐模型IMMF框架图Fig.2 Framework of IMMF

首先根据源数据构建用户-物品评分矩阵.假设数据集中共有m个用户和n个物品,每条评分记录是由“用户-物品-评分”构成的三元组.将所有纪录表示成评分矩阵R∈Rm×n,元素Rij表示用户i对物品j的评分.评分矩阵R的行向量表示该用户在所有物品上的评分,列向量表示所有用户对该物品的评分.

3.1 物品相似性改量

物品的相似性是推荐系统中常见的议题,用来表示待推荐资源之间的距离关系,一般需要解决邻居的选取问题和个体间的相似性度量问题.构建好用户-物品评分矩阵后,本文从同一用户、相似用户的评分共现信息两个方面来度量物品相似性.

3.1.1 基于同一用户的物品相似性

比起随机选择的物品,同一用户喜欢的物品更有可能相似.本文所使用数据集的评分范围是[1,5],首先将评分矩阵转换成表征喜好的二元矩阵Rb.具体来说,若Rij>3,则认为用户i喜爱物品j,令Rbij=1;若Rij≤3,认为用户对该物品表达了负面情绪,令Rbij=0.对于Rij=0的情况,即用户没有对该物品进行评分,认为用户对该物品不熟悉,令Rbij=0.由于我们是根据用户的喜好来推测其行为,因此在训练时要求模型尽量拟合Rbij≠0的积极情况,对于不喜欢和不熟悉的物品不再考虑.定义同一用户喜爱的物品间相似度矩阵AS∈Rn×n如下:

(2)

Asij通过统计物品i和物品j被同一用户喜爱的次数表征二者的相似度.为了方便后续数据的处理,对矩阵As进行归一化,将值映射至(0,1)间,提高后续步骤中数据处理的效率.

3.1.2 基于相似用户的物品相似性

在社会化模型中用户近邻关系与喜好有较强的相关性,比起随机选择的物品,如果两个物品被共同的朋友喜欢,那么他们更有可能相似.首先计算用户间的欧氏距离,每个用户向量由他在所有物品上的评分表示,则用户ui和uj的欧氏距离计算如下:

dist(ui,uj)=euclidean(ui,uj)*r

(3)

其中r为常数,为了简化计算,我们设定约束参数r=10000.越近的用户相互影响力越大,即用户间局部结构应在相似性度量中有所体现.令F∈Rm×m表示用户-用户相似度矩阵,其中Fij表示用户ui和uj间的相似度,为了与前面的同一用户喜爱的物品相似度进行区分,令Fii=0,即这里不考虑用户与自己的相似度.用户ui和uj的局部相似性为:

(4)

这种局部相似度可以根据距离给予不同近邻不同的权重[15].如果ui和uj的距离十分近,那么他们的相似度Fij就会更大一些.通过这种方式,用户的局部几何结构得以刻画,并进一步体现在了物品局部相似性上.计算出用户间相似度后,物品间的相似度为:

(5)

其中Afij∈[0,1]表示被相似用户喜欢的物品i和j间的相似度.

3.1.3 综合的物品相似性表征

得到同一用户喜爱的物品间相似度As和相似用户喜爱的物品间相似度Af后,对二者进行加权融合,从而构建出更全面的物品相似性度量方法:

A=θAs+Af

(6)

其中θ用来控制两个矩阵的重要性权重.

3.2 流形正则化约束

在高维评分空间中计算得到初始的物品相似性后,利用流形正则化技术将其作用在矩阵分解中.令xi和xj表示原始评分矩阵中的高维物品向量,qi和qj是映射后的低维物品隐因子向量,从而将流形正则化理论和矩阵分解联系起来——原始高维空间中相似物品对应的低维投影也应较为相似,在流形正则化中局部相似的物品在矩阵分解中也具有相似的物品隐因子特征.因此,我们首先构建局部保持的流形正则化项:

(7)

N(i)是物品i的近邻集合,Aij是物品i和j间的相似度.如果Aij的值很大,表示在原始空间中物品xi和xj距离很近,那么在矩阵分解后他们的低维表示qi和qj也很相似.这一约束项通过最小化物品和其近邻之间的差异,使得物品间的局部结构得以保留.

除此之外,传统的矩阵分解方法只在初期计算一次物品相似性,后续的计算中不再考虑其动态变化.但是由于物品相似性A主要由评分信息计算得到,数据稀疏可能会影响准确性.参考文献[11]的方法,本文提出在矩阵分解的同时对其进行修正,令物品相似性在其初值的邻域内自动迭代优化.将物品相似性改良模块中学到的初始相似性矩阵记为A0,对物品相似性矩阵构建正则化约束项并加入到迭代优化的过程中:

(8)

使A在小范围内不断修正,得到更优的相似性矩阵,更优的相似性矩阵又反过来促进物品隐因子特征的学习,从而联合学习到有效的物品隐因子特征和相似性.流形正则化的本质是认为在高维空间中嵌入着低维的流形结构,通过保留和研究这种流形结构,可以充分挖掘资源的内在联系,更好地表达资源内涵.

3.3 矩阵分解推荐

将构建好的局部保持流形正则化项和物品相似性优化正则化项加入矩阵分解中进行联合学习.

3.3.1 构建目标函数并求解

(9)

该优化问题的目标是要找到最优的用户隐因子矩阵P、物品隐因子矩阵Q以及物品间相似性矩阵A.通过最小化训练集的预测误差,使用随机梯度下降法来求解这一目标函数.在每个待求解参数上求偏导数,得到如下迭代公式:

pu←pu+η(eui·qi-λ1·pu)

Aij←Aij+η(-λ2·‖qi-qj‖2-λ3·(Aij-A0ij))

(10)

首先随机初始化参数P和Q;在每次迭代中,随机梯度下降法会随机选择一个观测评分作为数据,并交替运用上述公式对这三个参数进行更新,根据误差值是否降至阈值或迭代次数是否足够多来判断何时终止迭代.

综合上述步骤,得到IMMF模型计算用户隐因子矩阵、物品隐因子矩阵和相似性矩阵的核心流程,如图3所示.

3.3.2 计算内积并推荐

得到用户隐因子矩阵P和物品隐因子矩阵Q后,用户u对物品i的评分可以通过公式(11)计算:

(11)

3.4 算法复杂度分析

算法IMMF主要分为两个部分:首先是针对同一用户的物品相似性矩阵As和相似用户的物品相似性矩阵Af进行计算,二是针对矩阵分解目标函数的参数P,Q,A进行迭代更新.其中As的计算涉及到评分矩阵R∈Rm×n,复杂度为O(n*m*n),其中m表示用户数,n表示物品数.Af的计算涉及到评分矩阵R∈Rm×n和用户-用户相似度矩阵F∈Rm×m,复杂度为O(n*m*n).在矩阵分解的随机梯度下降更新中,假设迭代次数为S,评分记录数为|R|,隐因子维度为k,则训练该模型所需要的复杂度为O(S*|R|*k2).故整个算法的时间复杂度为O(n*m*n)+O(S*|R|*k2).

4 实验结果与分析

4.1 数据集分析

本文在公开数据集MovieLens100K[16]上进行实验和评估.MovieLens是一个著名的电影推荐系统,可以根据用户的兴趣和行为向其推荐可能感兴趣的电影.该系统提供了丰富的数据,包括用户信息如性别和职业、电影属性如主演和类型、交互信息如用户评分和标签等.本文使用的数据集MovieLens100K规模适中,由943个用户、1682个电影和约10万条范围为1-5、间隔0.5分的评分数据组成.每条评分纪录都是一个<用户-电影-评分>三元组,评分越高表示用户越喜欢该电影.用评分数据构建用户-物品评分矩阵,没有评分的位置用0表示,发现该评分矩阵有多达93.83%的数据缺失,呈现十分显著的稀疏性.

首先对用户的行为模式进行分析,发现数据集中所有用户的评分个数均不小于20条,评分最多的一个用户达到了737条记录;人均评分个数为106条,中位数为65条,可见不同用户的活跃度有较大差异.对用户数量在评分数量上的分布情况进行统计,发现大部分用户活跃度较低,只对非常少的电影进行了评分;而很少量的活跃用户会对大量的电影进行评分.如表1所示,有多达375个用户的评分数量小于50个,

表1 用户数量在评分数量上的分布Table 1 Distribution of number of ratings on users

占比39.77%,属于非活跃用户;评分数量在[50,100)之间的用户数为204个,在[100,200)之间的用户数量为215个,活跃度适中;而评分数量在[300,500)的用户为49个,大于500的活跃用户只有5个,总占比仅5.73%.综上所述,随着评分数量的增加,相关的用户数量呈显著下降的趋势,证明了大部分用户只对少量的电影熟悉,因此根据群体智慧为用户进行推荐十分必要,可以帮助用户发现之前并不熟悉的电影.

4.2 评价指标

(12)

MAE值越小,表示该方法的平均绝对误差越小,推荐效果越好.

4.3 实验对比及分析

本文实验采用五折交叉验证法.将数据集随机分成5等份,每次计算时取一份作为测试集,剩余作为训练集.因此,对于每个比较方法需进行5次实验,取均值作为最终结果.

4.3.1 参数效果比较

本文模型包含多个参数,λ1是防止过拟合的正则化约束项参数,λ2是局部保持的流形正则化约束项参数,λ3是物品相似性优化项的参数,θ决定了物品相似度矩阵中同一用户矩阵和相似用户矩阵的相对重要性,η是随机梯度下降法的学习率.为了简化实验,我们根据经验设定λ1=0.003,η=0.005,下面将重点讨论模型在不同λ2、λ3和θ下的MAE值.

首先,为了深入理解局部保持正则化约束项对推荐的作用,暂不考虑物品相似性优化的影响,即令其保持初始值不变.设置隐空间的维度k为25,本文模型在不同θ和λ2下的MAE值如图4所示.分别在{0.00001,0.0001,0.001,0.01,1}和{0.0001,0.001,0.01,0.1}上寻找最优θ和λ2.可以看出λ2=0.0001和0.001时模型的MAE值远小于λ2=0.01和0.1时.可见λ2的值对于模型的推荐效果有较大影响.当λ2=0.001,θ=0.01时得到最优值.此外λ2=0.001,θ=0.0001时也有不错的推荐结果.

图4 模型在不同λ2和θ下的MAE值Fig.4 Influence of λ2 and θ on MAE

随后我们将物品相似性优化这一因素也加入到模型中,λ3决定了其影响力大小.根据前面的实验结果,令λ2=0.001.如图5所示,当θ=0.0001,λ3=0.0001和θ=1,λ3=0.1时,模型取得了较好效果.

图5 模型在不同λ3和θ下的MAE值Fig.5 Influence of λ3 and θ on MAE

4.3.2 算法效果比较

将本文提出的IMMF模型与现有的矩阵分解推荐模型BasicMF、BiasMF及LBRMF进行比较.BasicMF[5]是最基本的矩阵分解推荐模型,将用户-物品评分矩阵分解成两个低秩的用户隐因子矩阵和物品隐因子矩阵,并依据其相关性进行推荐.BiasMF[2]是在BasicMF的基础上,将每一个观测评分分解成4个部分:全局均值μ、物品观测偏差bi、用户观测偏差bu和重构评分.LBRMF[11]在BiasMF的基础上,提出了一个基于位置的正则化项作为约束,并将其加入矩阵分解.我们比较上述模型在不同隐空间维度k下的表现.

同样的,首先仅考虑流形局部保持正则化并且固定物品相似性矩阵A的值为初始值,令λ1=0.003,λ2=0.001.当θ=0.0001时为模型起名IMMF1,当θ=0.01时起名为IMMF2,结果如图6所示.几种方法的MAE值均随着维度的增加而不断降低.比较发现我们的方法在不同维度上均可以得到最小的MAE值.由此可见,在不考虑物品相似度矩阵自适应更新的情况下,仅改进物品相似性度量方法,并通过流形正则化将其加入矩阵分解中,可以有效提高推荐效果.

图6 IMMF1和IMMF2的MAE值对比Fig.6 IMMF1 and IMMF2 with different k on MAE

接下来同时考虑局部保持正则化和物品相似性优化两个因素.为确保实验中其它条件保持不变,在这里我们同样令λ1=0.003,λ2=0.001.当θ=0.0001,λ3=0.0001时为本文模型起名为IMMF3,当θ=1,λ3=0.1时起名为IMMF4.从图7中可以看出,随着隐空间维度的增加,各方法的MAE值均有所下降,说明随着维度的升高,模型可以更好地对用户和物品的内涵进行表征.与BasicMF和BiasMF相比,LBRMF模型在MAE上有所提高,可见局部保持正则化项和相似度矩阵更新确实有效.本模型的推荐效果在LBRMF的基础上又有所提高,可见对物品相似性的改进确实可以提高推荐效率.

图7 IMMF3和IMMF4的MAE值对比Fig.7 IMMF3 and IMMF4 with different k on MAE

5 结 论

在Web 2.0时代,无论是数字图书馆中的电子文献,还是因特网中的丰富资源,都需要用户在海量的资源中甄选出真正对自己有价值的资源.传统矩阵分解方法存在一些不足,如数据稀疏导致相似性学习不够充分、物品隐因子含义模糊导致模型可解释性差、不对相似性进行动态优化导致推荐效果受影响等.针对这些问题,本文提出利用流形正则化技术促进矩阵分解中的物品隐因子和相似性学习.首先在高维评分空间中计算物品相似性,然后通过流形正则化约束将改进的物品相似性信息作用在物品隐因子特征提取中,既赋予了物品隐因子具体的几何含义,又在分解过程中保留了物品间局部结构,从而充分学习物品隐因子特征并准确刻画其间相似性.而自适应更新物品相似性又可以从助力全局优化目标的角度促进物品隐因子特征的学习.在MovieLens数据集上的实验结果表明,该方法比传统矩阵分解方法在推荐效果上有所提升,取得了更优的MAE值.

本文方法仍然聚焦于评分矩阵,在推荐系统中,有时还存在诸如用户对于物品的文字评论、用户对物品进行分类的标签等辅助性信息.如何更好地将这些信息与矩阵分解结合起来,进而提高推荐效果,将是未来工作的方向.

猜你喜欢
正则相似性矩阵
隐喻相似性问题的探讨
任意半环上正则元的广义逆
sl(n+1)的次正则幂零表示的同态空间
多项式理论在矩阵求逆中的应用
绿色建筑结构设计指南
12个毫无违和感的奇妙动物组合
基于隐喻相似性研究[血]的惯用句
矩阵
矩阵
矩阵