一种图构建框架下的矩阵分解推荐方法与流程

文档序号:12674198阅读:1014来源:国知局
一种图构建框架下的矩阵分解推荐方法与流程

本发明涉及推荐学习领域,尤其涉及一种图构建框架下的矩阵分解推荐方法。



背景技术:

目前,已有的推荐技术包括基于内容的推荐、协同过滤推荐等。基于内容的推荐算法,是根据用户的一些历史信息构建用户偏好信息,计算推荐项目与用户偏好的相似度,将相似度高的项目推荐给用户。协同过滤算法可以分为基于邻域的协同过滤算法和矩阵分解算法。基于近邻的协同过滤推荐算法包括基于用户的协同过滤推荐算法和基于项目的协同过滤算法。矩阵分解是通过降维的方法将评分矩阵补全,这类推荐算法将用户、物品的特征转换为隐语义的特征,然后再通过计算用户和物品之间隐语义的相关性进行推荐。

例如,假设推荐系统中有用户集合有6个用户,即U={u1,u2,u3,u4,u5,u6},项目(物品)集合有7个项目,即V={v1,v2,v3,v4,v5,v6,v7},用户对项目的评分数据结合为评分矩阵R,用户对项目的评分范围是[0,5]。R具体表示如下:

表1

矩阵分解推荐的目标就是预测出问号符号对应位置的分值。推荐系统基于这样一个假设:用户对项目的打分越高,表明用户越喜欢。因此,预测出用户对未评分项目的评分后,根据分值大小排序,把分值高的项目推荐给用户。

相似性度量在推荐算法中扮演着重要的角色,相似度权重可以用于选择可信度高的近邻用于预测评分,同时给予不同的近邻在预测中的权重,它可以直接影响到推荐系统的准确性和性能。如何更好地描述相似性来提高推荐质量就变得十分重要。在一些情况下,由于评分数据相对于用户数或物品数通常是稀疏的,相似度也仅是根据很少一部分相同物品的评分或同一用户所做的评分计算获得,可能会产生一个不好的推荐。



技术实现要素:

发明目的:本发明针对现有技术存在的问题,提供一种新的结合流形正则化和近邻相似度改良的矩阵分解推荐方法,该方法将相似度矩阵作为参数通过迭代优化不断修 正,可以弥补在相似度计算不精确时,依赖相似度的推荐算法的不足。

技术方案:本发明所述的图构建框架下的矩阵分解推荐方法,包括以下步骤:

(1)根据用户评分数据建立评分矩阵;

(2)在基于流形正则化的评分矩阵分解模型中加入约束项用来更新相似度信息,从而建立新的分解模型;

(3)基于评分或标签或主题模型计算物品间的初始相似度;

(4)随机初始化分解模型中待求解的隐语义特征向量和物品及用户的偏置向量;

(5)基于初始相似度,使用随机梯度下降法自适应地更新分解模型中的参数;

(6)得到完整的最终评分矩阵,并根据评分矩阵为用户提供推荐。

进一步的,步骤(2)具体包括:在基于流形正则化的评分矩阵分解模型中加入约束项用来更新相似度信息,从而建立新的分解模型为:

式中,m表示用户数,n表示物品数,如果用户u对物品i进行了评分行为,那么Iui表示为1,如果用户u没有对物品i进行评分,那么Iui表示为0,rui表示用户u对物品i的评分值,μ表示所有记录的评分的全局平均数,bu表示用户u的用户偏置向量,bi表示物品i的物品偏置向量,pu、qi为隐语义特征向量,pu表示矩阵P的第u个列向量,qi表示矩阵Q的第i个列向量,且评分矩阵R=PTQ,P为f行m列矩阵,Q为f行n列矩阵,λ1、λ2、λ3表示正则化参数,N(i)表示物品i的近邻集合,sij表示物品i与物品j在原空间的相似度,表示物品i与物品j初始相似度。

进一步的,步骤(5)具体包括:

(5-1)记eui=rui-μ-bu-bi-puTqi

(5-2)固定其它项,更新bu

bu←bu+γ(eui1bu)

(5-3)固定其它项,更新bi

bi←bi+γ(eui1bi)

(5-4)固定其它项,更新pu

pu←pu+γ(eui·qi1pu)

(5-5)固定sij,更新qi

(5-6)固定qi,qj,更新sij

其中,γ表示学习率;

(5-7)判断是否满足终止条件,即是否达到预测精度或达到迭代次数,若不满足则返回(5-1),若满足,则终止迭代,得到完整的评分矩阵。

有益效果:本发明与现有技术相比,其显著优点是:首先,本发明将传统矩阵分解算法和图构建方法相结合,构建了一个图构建框架下的矩阵分解推荐方法;其次,本发明可以自适应地更新近邻物品间的相似度,即图中的权重信息,在训练迭代过程中修正物品和物品近邻间的相似度信息,从而使得通过学习得到的隐语义特征更加精确;再者,本发明能够在有效时间内快速收敛,提高了推荐系统性能。本发明提出的方法可以针对基于稀疏评分或标签信息计算出的并不精确的相似度进行改良,进而提高推荐系统的推荐准确性。

附图说明

图1是本发明的一个实施例的流程示意图;

图2是步骤5的具体步骤流程示意图。

具体实施方式

如图1所示,本实施例公开了一种图构建框架下的矩阵分解推荐方法,包括以下步骤:

步骤1:根据用户评分数据建立评分矩阵。评分矩阵R具体如表1所述。

步骤2:在基于流形正则化的评分矩阵分解模型中加入约束项用来更新相似度信息,从而建立新的分解模型为:

式中,m表示用户数,n表示物品数,如果用户u对物品i进行了评分行为,那么Iui表示为1,如果用户u没有对物品i进行评分,那么Iui表示为0,rui表示用户u对物品i的评分值,μ表示所有记录的评分的全局平均数,bu表示用户u的用户偏置向量,bi表 示物品i的物品偏置向量,pu、qi为隐语义特征向量,pu表示矩阵P的第u个列向量,qi表示矩阵Q的第i个列向量,且评分矩阵R=PTQ,P为f行m列矩阵,Q为f行n列矩阵,λ1、λ2、λ3表示正则化参数,N(i)表示物品i的近邻集合,sij表示物品i与物品j在原空间的相似度,表示物品i与物品j初始相似度。

分解模型的建立过程为:

①从矩阵分解的角度,将评分矩阵R分解为两个低维矩阵的乘积:R=PTQ,其中P和Q是两个降维后的矩阵。要找到合适的P和Q最小化训练集的预测误差,因此分解模型定义如下所示:

其中模型中第一个加号的前一项和后一项分别为最小二乘损失项和防止过拟合的正则化项;

②在实际情况下,一个评分系统有些固有属性和物品无关,而用户也有些属性和物品无关,物品也有些属性和用户无关,在模型中加入偏置项:

相较于基本的矩阵分解模型加入了所有记录的评分的全局平均数μ,用户偏置向量bu,物品偏置向量bi。用户偏置向量表示用户的评分习惯中与物品没有关系的因素,如用户本身比较苛刻,对所有物品评分都较低。物品偏置向量表示物品得到的评分和用户没有关系的因素,如物品本身质量就很好,得到的分数相对都比较高。

③在局部保持投影中,认为相似度较高的样本对应的投影也较为相似。将基于物品的局部相似性流形正则化约束嵌入偏置项的矩阵分解算法:

此处的Sij为根据某种策略计算出的物品之间的相似度(如基于标签或是基于评分)。如果用户或物品之间相似度高,那么经过矩阵分解后得到的用户或物品的特征向量也较为相似。这一约束项旨在最小化物品和它的近邻之间的特征差异。

④计算得到的初始相似度可能并不完全精确,考虑到这个问题,在模型中再加入约束项用来更新相似度信息,相似度作为参数需要通过迭代优化不断修正,并且修正后的相似度与初始相似度的值相差的范围由正则化参数控制,得到最终模型:

步骤3:基于评分或标签或主题模型计算物品间的初始相似度。

步骤4:随机初始化分解模型中待求解的隐语义特征向量和物品及用户的偏置向量。

步骤5:基于初始相似度,使用随机梯度下降法自适应地更新分解模型中的参数。

如图2所示,该步骤具体包括:

(5-1)记eui=rui-μ-bu-bi-puTqi

(5-2)固定其它项,更新bu

bu←bu+γ(eui1bu)

(5-3)固定其它项,更新bi

bi←bi+γ(eui1bi)

(5-4)固定其它项,更新pu

pu←pu+γ(eui·qi1pu)

(5-5)固定sij,更新qi

(5-6)固定qi,qj,更新sij

其中,γ表示学习率;

(5-7)判断是否满足终止条件,即是否达到预测精度或达到迭代次数,若不满足则返回(5-1),若满足,则终止迭代,得到完整的评分矩阵。

步骤6:得到完整的最终评分矩阵,并根据评分矩阵为用户提供推荐。

以上所揭露的仅为本发明一种较佳实施例而已,不能以此来限定本发明之权利范 围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1