本发明涉及推荐学习技术领域,特别是一种图构建与矩阵分解联合学习的推荐方法。
背景技术:
目前,已有的推荐技术包括基于内容的推荐、协同过滤推荐等。基于内容的推荐算法,是根据用户的一些历史信息构建用户偏好信息,计算推荐项目与用户偏好的相似度,将相似度高的项目推荐给用户。协同过滤算法可以分为基于邻域的协同过滤算法和矩阵分解算法。基于近邻的协同过滤推荐算法包括基于用户的协同过滤推荐算法和基于项目的协同过滤算法。矩阵分解是通过降维的方法将评分矩阵补全,这类推荐算法将用户、物品的特征转换为隐语义的特征,然后再通过计算用户和物品之间隐语义的相关性进行推荐。
例如,假设推荐系统中有用户集合有5个用户,即u={u1,u2,u3,u4,u5},项目(物品)集合有7个项目,即v={v1,v2,v3,v4,v5,v6,v7},用户对项目的评分数据结合为评分矩阵r,用户对项目的评分范围是[0,5]。r具体表示如表1所示:
表1评分矩阵示例
矩阵分解推荐的目标就是预测出问号符号对应位置的分值。推荐系统基于这样一个假设:用户对项目的打分越高,表明用户越喜欢。因此,预测出用户对未评分项目的评分后,根据分值大小排序,把分值高的项目推荐给用户。矩阵分解具有准确性高,可扩展性好等优点,如基于流形正则化的矩阵分解的推荐算法,考虑了输入样本的局部相似性和流形结构,可以提高推荐质量。
然而,传统的协同过滤方法会受到来自数据稀疏性的影响,在基于用户和物品的协同过滤算法中,如何度量用户及物品间的相似性是其关键环节,相似性是否有效直接影响推荐算法的性能;在基于流形正则化的矩阵分解的推荐算法中,由于数据稀疏性或标签信息的不完整性,基于稀疏评分或不完整的标签计算所得到的近邻图(相似度)可能未必有效,而且这种邻域图是局部的构图,导致了参数选择的困难(如选择邻域k的大小),无效的图在学习任务中固定不变会产生一个不好的推荐。
技术实现要素:
本发明所要解决的技术问题是克服现有技术的不足而提供一种图构建与矩阵分解联合学习的推荐方法,该方法将传统矩阵分解算法和图构建方法相结合,通过图来刻画物品的近邻相似度,通过熵约束来克服图边权的退化,进而构建出局部保持和商约束的正则化项并嵌入到基于矩阵分解的协同过滤算法模型中,以此联合学习图边权和隐语义特征向量,进而提高推荐系统的推荐准确性。
本发明为解决上述技术问题采用以下技术方案:
根据本发明提出的一种图构建与矩阵分解联合学习的推荐方法,包括以下步骤:
步骤1、根据用户评分数据建立评分矩阵;
步骤2、设局部相似的物品具有相似的隐语义特征,物品与其近邻物品之间都有一定的相似程度;依此假设,通过图来刻画物品的近邻相似度,通过熵约束来克服图边权的退化,进而构建出局部保持和熵约束的正则化项,并将正则化项嵌入到基本的矩阵分解模型中,从而建立新的分解模型;
步骤3、基于评分或标签或主题模型计算物品间的初始相似度,用图来刻画相似度,得到初始图;
步骤4、随机初始化分解模型中待求解的隐语义特征向量和物品及用户的偏置向量;
步骤5、基于初始图,使用随机梯度下降法自适应地更新分解模型中的参数,根据求解得到的隐语义特征向量和物品及用户的偏置向量,从而得到完整的评分矩阵;
步骤6、根据步骤5得到的完整的评分矩阵为用户提供推荐。
作为本发明所述的一种图构建与矩阵分解联合学习的推荐方法进一步优化方案,所述步骤2中建立新的分解模型为:
其中,m表示用户数,n表示物品数,如果第u个用户对第i个物品进行了评分行为,iui表示为1,如果第u个用户没有对第i个物品进行评分,iui表示为0,rui表示第u个用户对第i个物品的评分值,μ表示所有记录的评分的全局平均数,bu表示第u个用户的用户偏置向量,
作为本发明所述的一种图构建与矩阵分解联合学习的推荐方法进一步优化方案,步骤3中基于标签计算得出物品间的初始相似度,计算表达式如下所示:
其中,li,lj代表标签的数值向量,向量之间的余弦值表示为项目之间的相似度。
作为本发明所述的一种图构建与矩阵分解联合学习的推荐方法进一步优化方案,步骤3中基于评分计算得出物品间的初始相似度,计算表达式如下所示:
其中,pij为第i个物品与第j个物品之间的相关性,pij∈[-1,1],sij∈(0,1)。
作为本发明所述的一种图构建与矩阵分解联合学习的推荐方法进一步优化方案,步骤3中基于主题模型计算物品间的初始相似度,计算表达式如下所示:
其中,k为主题个数,
作为本发明所述的一种图构建与矩阵分解联合学习的推荐方法进一步优化方案,所述步骤5具体如下:
(5-1)、记
(5-2)、固定sij、
bu←bu+γ(eui-λ1bu)
(5-3)、固定sij、bu、pu、qi,更新
(5-4)、固定sij、bu、
pu←pu+γ(eui·qi-λ1pu)
(5-5)、固定sij、bu、
(5-6)、固定qi、qj、bu、
sij←sij+γ(-λ2||qi-qj||2-λ3(lnsij+1))
其中,γ表示学习率;
(5-7)、判断是否满足终止条件,终止条件是指达到预测精度或达到迭代次数,若不满足则返回(5-1),若满足,则终止迭代,得到完整的评分矩阵。
本发明采用以上技术方案与现有技术相比,具有以下技术效果:
(1)本发明将传统矩阵分解算法和图构建方法相结合,提出了一个图构建与矩阵分解联合学习的推荐方法,本发明可以自适应地更新图中的权重信息,即近邻物品间的相似度,有效的图可以使得通过学习得到的隐语义特征更加精确;
(2)本发明能够在有效时间内快速收敛,提高了推荐系统性能,本发明提出的方法可以同时学习图边权和隐语义特征,提高推荐准确性。
附图说明
图1是本发明的一个实施例的流程示意图。
图2是本发明步骤5的具体步骤流程示意图。
具体实施方式
下面结合附图对本发明的技术方案做进一步的详细说明:
如图1所示,本实施例公开了一种图构建框架下的矩阵分解推荐方法,包括以下步骤:
步骤1:根据用户评分数据建立评分矩阵。评分矩阵r具体如表1所述。
步骤2:假设局部相似的物品具有相似的隐语义特征,物品与其近邻物品之间都有一定的相似程度。依此假设,通过图来刻画物品的近邻相似度,通过熵约束来克服图边权的退化,进而构建出局部保持和熵约束的正则化项并嵌入到基本的矩阵分解模型中,从而建立新的分解模型:
其中,m表示用户数,n表示物品数,如果第u个用户对第i个物品进行了评分行为,iui表示为1,如果第u个用户没有对第i个物品进行评分,iui表示为0,rui表示第u个用户对第i个物品的评分值,μ表示所有记录的评分的全局平均数,bu表示第u个用户的用户偏置向量,
该模型对图的边权加入了约束∑j∈n(i)sij=1和非负约束sij≥0,这样不仅避免了sij退化,也给每个权值向量si.一个自然的概率解释。模型通过在偏置的矩阵分解模型中加入流形正则化,并加入熵的正则化约束保证图边权的光滑性,在训练迭代过程中自适应地学习物品和物品近邻间的相似度信息。
分解模型的建立过程为:
①从矩阵分解的角度,将评分矩阵r分解为两个低维矩阵的乘积:r=ptq,其中p和q是两个降维后的矩阵。要找到合适的p和q最小化训练集的预测误差,因此分解模型定义如下所示:
其中模型中第一个加号的前一项和后一项分别为最小二乘损失项和防止过拟合的正则化项;
②在实际情况下,一个评分系统有些固有属性和物品无关,而用户也有些属性和物品无关,物品也有些属性和用户无关,在模型中加入偏置项:
相较于基本的矩阵分解模型加入了所有记录的评分的全局平均数μ,用户偏置向量bu,物品偏置向量
③在局部保持投影中,认为相似度较高的样本对应的投影也较为相似。将基于物品的局部相似性流形正则化约束嵌入偏置项的矩阵分解算法:
此处的sij为根据某种策略计算出的图边权(即基于标签或是基于评分计算得到的物品i与物品j之间的相似度)。如果物品之间相似度高,那么经过矩阵分解后得到的物品的特征向量也较为相似。这一约束项旨在最小化物品和它的近邻之间的特征差异。
④计算得到的初始相似度可能并不完全有效,考虑到这个问题,把图边权作为参数嵌入模型,通过学习得到,并加入熵的正则化项控制图边权的光滑性,防止图边权的退化,得到最终模型:
该模型对图的边权加入了约束∑j∈n(i)sij=1和非负约束sij≥0,这样不仅避免了sij退化,也给每个权值向量si.一个自然的概率解释。
步骤3:基于评分或标签或主题模型计算物品间的初始相似度,具体包括:
①基于专家标签计算得出相似度,计算表达式如下所示:
领域专家给数据集上的物品(电影)和用户打上标签,在依据专家标签计算相似度时,将电影标签用数值向量表示,计算向量间的余弦相似度,表示为电影之间的相似性,在如下式子中,物品和物品之间的相似性,基于专家的标签,li,lj代表标签的数值向量,向量之间的余弦值表示为项目之间的相似度。
②基于评分计算得出相似度,计算表达式如下所示:
采用皮尔逊相关系数计算出第i个物品与第j个物品之间的相关性pij∈[-1,1],那么相似度定义如上式所示,该式将相似度放缩到0到1之间,即sij∈(0,1)。
③基于主题空间上计算得出的相似度计算表达式如下所示:
其中,
步骤4:随机初始化分解模型中待求解的隐语义特征向量和物品及用户的偏置向量。
步骤5:基于初始图,使用随机梯度下降法自适应地更新分解模型中的参数,根据求解得到的隐语义特征向量和物品及用户的偏置向量,从而得到完整的评分矩阵。
如图2所示,该步骤具体包括:
(5-1)、记
(5-2)、固定sij、
bu←bu+γ(eui-λ1bu)
(5-3)、固定sij、bu、pu、qi,更新
(5-4)、固定sij、bu、
pu←pu+γ(eui·qi-λ1pu)
(5-5)、固定sij、bu、
(5-6)、固定qi、qj、bu、
sij←sij+γ(-λ2||qi-qj||2-λ3(lnsij+1))
其中,γ表示学习率;
(5-7)判断是否满足终止条件,即是否达到预测精度或达到迭代次数,若不满足则返回(5-1),若满足,则终止迭代,得到完整的评分矩阵。
步骤6:得到完整的评分矩阵,并根据评分矩阵为用户提供推荐。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替代,都应当视为属于本发明的保护范围。