CN108509573B - 基于矩阵分解协同过滤算法的图书推荐方法及系统 - Google Patents

基于矩阵分解协同过滤算法的图书推荐方法及系统 Download PDF

Info

Publication number
CN108509573B
CN108509573B CN201810260195.1A CN201810260195A CN108509573B CN 108509573 B CN108509573 B CN 108509573B CN 201810260195 A CN201810260195 A CN 201810260195A CN 108509573 B CN108509573 B CN 108509573B
Authority
CN
China
Prior art keywords
user
matrix
book
scoring
cost function
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201810260195.1A
Other languages
English (en)
Other versions
CN108509573A (zh
Inventor
栾飞
李媛鸣
陈梦瑶
石冰洁
王川
刘二宝
祝晓雪
高婧
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ningxia Sande Education Technology Co ltd
Original Assignee
Zhixiang Shudu Beijing Culture Technology Co ltd
Ningxia Sande Education Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhixiang Shudu Beijing Culture Technology Co ltd, Ningxia Sande Education Technology Co ltd filed Critical Zhixiang Shudu Beijing Culture Technology Co ltd
Priority to CN201810260195.1A priority Critical patent/CN108509573B/zh
Publication of CN108509573A publication Critical patent/CN108509573A/zh
Application granted granted Critical
Publication of CN108509573B publication Critical patent/CN108509573B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明公开了一种基于矩阵分解协同过滤算法的图书推荐方法及系统,本发明实现了基于矩阵分解协同过滤算法的图书推荐方法,本发明将推荐技术应用到了图书推荐系统中,目的是为了给读书爱好者个性化地推荐其有可能感兴趣的图书,减少读书爱好者在海量图书信息中找到感兴趣图书的时间。本发明应用的推荐算法是基于协同过滤算法的图书推荐方法,具体使用到了基于矩阵分解的协同过滤算法,基于矩阵分解的协同过滤方法以用户评分为特征向量,通过训练回归模型来预测图书的评分,该算法可以有效解决基于内存的方法中的数据稀疏和可扩展性弱等问题,同时提高推荐算法的精度。

Description

基于矩阵分解协同过滤算法的图书推荐方法及系统
技术领域
本发明属于图书推荐技术领域,涉及一种基于矩阵分解协同过滤算法的图书推荐方法和系统。
背景技术
推荐系统是一种帮助信息和用户进行匹配的手段。与搜索引擎不一样的是,推荐系统无需用户输入额外的关键词,它能根据用户以往历史行为记录,主动挖掘用户的兴趣爱好,帮助用户发现潜在的兴趣点,并将相关商品或信息推荐给用户。由于是根据每个用户的特点进行推荐的,所以它能够满足个性化的要求,为不同的用户推荐满足他们个性化需求的产品,让信息更加准确地展现在用户面前,同时,它也不那么依赖于用户主动输入的信息去过滤信息。
在图书推荐领域中,较为常用的是基于内存的协同过滤算法,该算法主要是通过相似度的计算在为用户推荐最为合适的图书,然而在许多情况下,现有的相似度衡量标准(皮尔森相关系数和余弦相似度)等并不能真实的反应用户之间的相似度,这就使得算法的推荐精度有所下降,而基于矩阵分解协同过滤算法中的回归模型刚好可以解决这一问题。基于矩阵分解的协同过滤方法以用户评分为特征向量,通过训练回归模型来预测图书的评分,基于矩阵分解的协同过滤方法可以有效解决基于内存的方法中的数据稀疏和可扩展性弱等问题,同时提高推荐算法的精度。
发明内容
本发明目的是提供一种基于矩阵分解协同过滤算法的图书推荐方法和系统,该算法以用户评分为特征向量,通过训练回归模型来预测物品的评分。
向不同的用户个性化地推荐其可能感兴趣的图书,克服了基于内存的方法中的数据稀疏和可扩展性弱等问题,同时提高推荐算法的精度。
为实现上述目的,本发明采用以下技术方案:
一种基于矩阵分解协同过滤算法的图书推荐方法,包括以下步骤:
(1)处理用户-图书评分矩阵,先将用户历史图书评分行为数据的训练集预处理为m*n的用户图书评分矩阵R;m表示为m个用户,n表示为n种图书;
(2)将矩阵R进行均值归一化处理,将矩阵R中每个值都除以矩阵R中所有值的和;
(3)对归一化处理后的用户-物品评分矩阵R的分解,将维数较高的用户-物品评分矩阵R分解成两个维数较低的矩阵的乘积,这两个低维的矩阵分别表示用户的特征矩阵θ以及物品的特征矩阵X;
(4)构造改进的代价函数,利用原始的评分矩阵Rm*n与重新构建的评分矩阵
Figure BDA0001610073970000021
之间的误差的平方,加入正则项构建改进的代价函数;
(5)初始化特征矩阵,将矩阵θ和矩阵X初始化为两个具有小的随机数值的矩阵;
(6)建立目标的函数,此处以代价函数最小化为目标函数;
(7)通过改进的梯度下降法求解目标函数,改进的梯度下降法求解主要共分为两步进行,第一步求解代价函数的偏导数,第二步更新θ、x两个变量,相应梯度下降公式加入正则项进行计算;
(8)计算用户对物品的预测评分,确定目标函数最优解之后,则可以得到对应的最优矩阵θk*m和矩阵Xk*n,计算用户i对物品j的预测评分;
(9)完成推荐,将前述步骤训练所得的参数用来计算用户对未评分的每个物品的预测评分,并取评分较高的前k个物品推荐给用户。
步骤(1)中的用户-图书评分矩阵建立如下:将用户历史图书评分行为数据的训练集预处理为m*n的R,其中,m表示为m个用户,n表示为n本图书,rui表示用户u对图书i的评分;
Figure BDA0001610073970000031
步骤(2)中将矩阵R进行均值归一化处理,其中归一化公式计算如下:
Figure BDA0001610073970000032
在上述公式中,rij表示用户i对图书j的评分。
步骤(3)中将用户-物品评分矩阵R的分解为两个低维的用户的特征矩阵θ以及物品的特征矩阵X,具体计算如下所示:
Figure BDA0001610073970000033
其中,R为m*n的用户-评分矩阵,其中m为用户数量,n为物品数量,θ为k*m的用户特征矩阵,表示m个用户与k个主题的关系,X为k*n物品特征矩阵,表示k个主题和n个物品的关系;R的第i行、第j列元素,记为Rij,为用户i对物品j的评分,θ的第i列为用户i的特征向量,记θ(i),X的第j列为物品j的特征向量,记为x(j),则有:
Figure BDA0001610073970000034
求解矩阵θk*m和Xk*n的每一个元素。
步骤(4)中构造改进的代价函数,通常利用原始的评分矩阵Rm*n与重新构建的评分矩阵
Figure BDA0001610073970000035
之间的误差的平方,并在其中加入正则项,以对参数进行约束,加入正则项的改进代价函数计算如下所示:
Figure BDA0001610073970000041
上式中,r(i,j)=1表示用户i对物品j进行了评分,参数λ为正则化代价函数所设定的。
步骤(6)中建立的以代价函数最小化为目标的目标函数,具体的计算公式如下:
Figure BDA0001610073970000042
将初始化后特征矩阵的值带入目标函数,若目标函数值小于0.001,则计算停止,否则,则用梯度下降法不断地迭代更新特征矩阵,以使上述的代价函数最小化。
步骤(7)中改进的梯度下降法求解目标函数共分为两步进行:
第一步求解代价函数的偏导数,
第二步更新θ、x两个变量,由于是改进的代价函数,相应梯度下降公式亦进行改进,加入正则项进行计算,所以对每一个i=1,...,m,j=1,...,n梯度下降法更新计算公式如下所示:
Figure BDA0001610073970000043
Figure BDA0001610073970000044
以上公式中α为学习速率,其表示每一次迭代下降的幅度,参数k的含义是k个主题,其决定了用户特征向量和图书特征向量的维数;
通过不断的迭代,更新矩阵θ和矩阵X中的元素,以使代价函数不断减小;并将计算得到目标函数值,与0.001进行对比,若前者小则终止计算,否则继续以上步骤;同时若迭代次数达到10000次还未达到条件,则也停止计算,得到一个代价函数的局部最小值。
步骤(8)中计算用户对物品的预测评分,具体计算公式如下所示:
Figure BDA0001610073970000051
以上公式中
Figure BDA0001610073970000052
表示用户i对物品j的预测评分,
Figure BDA0001610073970000053
是用户i对图书的平均评分。
一种基于矩阵分解协同过滤算法的图书推荐系统,包括用户物品信息收集层、存储层、推荐引擎模块及接口层;
所述的存储层,用于存储系统使用和产生的数据,包括用户、图书的基本信息及用户行为信息;
所述的用户物品信息收集层,与存储层连接,用于负责录入和维护用户、图书的基本信息及用户行为信息;
所述的推荐引擎模块,与存储层连接,用于用户对物品的历史行为数据的基础上进行计算,产生推荐列表;采用基于矩阵分解的推荐模型构建推荐引擎;
所述的接口层,与推荐引擎模块、存储层连接及前端展示单元通信,用于计算出的数据需要传递给前端展示单元,用户对图书的评分通过前端展示单元获取传回,接口层为前端展示单元调用提供所需数据,将前端展示单元传来的用户行为数据交由存储层储备用。
所述的推荐引擎模块的推荐方法,包括以下步骤:
(1)处理用户-图书评分矩阵,先将用户历史图书评分行为数据的训练集预处理为m*n的用户图书评分矩阵R;m表示为m个用户,n表示为n种图书;
(2)将矩阵R进行均值归一化处理,将矩阵R中每个值都除以矩阵R中所有值的和;
(3)对归一化处理后的用户-物品评分矩阵R的分解,将维数较高的用户-物品评分矩阵R分解成两个维数较低的矩阵的乘积,这两个低维的矩阵分别表示用户的特征矩阵θ以及物品的特征矩阵X;
(4)构造改进的代价函数,利用原始的评分矩阵Rm*n与重新构建的评分矩阵
Figure BDA0001610073970000061
之间的误差的平方,加入正则项构建改进的代价函数;
(5)初始化特征矩阵,将矩阵θ和矩阵X初始化为两个具有小的随机数值的矩阵;
(6)建立目标的函数,此处以代价函数最小化为目标函数;
(7)通过改进的梯度下降法求解目标函数,改进的梯度下降法求解主要共分为两步进行,第一步求解代价函数的偏导数,第二步更新θ、x两个变量,相应梯度下降公式加入正则项进行计算;
(8)计算用户对物品的预测评分,确定目标函数最优解之后,则可以得到对应的最优矩阵θk*m和矩阵Xk*n,计算用户i对物品j的预测评分;
(9)完成推荐,将前述步骤训练所得的参数用来计算用户对未评分的每个物品的预测评分,并取评分较高的前k个物品推荐给用户。
本发明与现有技术相比,具有以下优点:
本发明采用基于矩阵分解协同过滤算法以评价矩阵为模型训练数据,通过训练相关的机器学习模型来识别出复杂用户对物品的评分模式,并据此作出智能的推荐预测,算法的优势是以用户评分为特征向量,通过训练回归模型来预测物品的评分,该算法可以很好地解决在一些情况下,传统基于内存的协同过滤算法在相似度计算过程中出现的,已有的相似度衡量标准(皮尔森相关系数和余弦相似度)等不能真实的反应用户之间的相似度,以及数据稀疏和可扩展性弱等问题,同时提高了推荐算法的精度。
本发明的基于矩阵分解协同过滤算法的图书推荐系统,包括用户物品信息收集层、存储层、推荐引擎模块及接口层;推荐引擎模块采用上述基于矩阵分解协同过滤算法的图书推荐方法构建推荐引擎;通过训练回归模型来预测图书的评分,该算法可以有效解决基于内存的方法中的数据稀疏和可扩展性弱等问题,同时提高推荐算法的精度。
附图说明
图1基于矩阵分解的协同过滤算法的图书推荐方法流程图;
图2迭代次数和代价函数形成的曲线图;
图3基于矩阵分解协同过滤算法的用户cytun的图书推荐列表;
图4基于矩阵分解的协同过滤算法的图书推荐系统图。
具体实施方式
本发明一种基于矩阵分解协同过滤算法的图书推荐方法,包括以下步骤:
(1)输入用户行为数据,构建用户-图书评分矩阵,处理用户-图书评分矩阵,具体步骤如下:
1)先将用户历史图书评分行为数据的训练集预处理为m*n的用户图书评分矩阵R,其中,m表示为m个用户,n表示为n种图书,rui表示用户u对图书i的评分。
Figure BDA0001610073970000071
2)将矩阵R进行均值归一化处理,将矩阵R中每个值都除以矩阵R中所有值的和,得到的一个新的矩阵。归一化公式计算如下:
Figure BDA0001610073970000081
在上述公式中,rij表示用户i对图书j的评分。通过归一化处理评分矩阵,以便进行后续计算。
(2)用户-物品评分矩阵R的分解,将维数较高的用户-物品评分矩阵R分解成两个维数较低的矩阵的乘积,这两个低维的矩阵分别表示用户的特征矩阵θ以及物品的特征矩阵X,具体计算如下所示:
Figure BDA0001610073970000082
R为m*n的用户-评分矩阵,其中m为用户数量,n为物品数量,θ为k*m的用户特征矩阵,表示m个用户与k个主题的关系,X为k*n物品特征矩阵,表示k个主题和n个物品的关系。R的第i行、第j列元素(记为Rij)为用户i对物品j的评分,θ的第i列为用户i的特征向量(记θ(i)),X的第j列为物品j的特征向量(记为x(j))。则有:
Figure BDA0001610073970000083
求解矩阵θk*m和Xk*n的每一个元素,可以将这个问题转化成机器学习中的回归问题进行求解。
(3)构造改进的代价函数,通常利用原始的评分矩阵Rm*n与重新构建的评分矩阵
Figure BDA0001610073970000084
之间的误差的平方来构造传统的代价函数,本专利中,为了增加求解的效率和准确性,使特征矩阵被更加准确的迭代出,在传统的代价函数中加入正则项进行改进,具体计算步骤如下:
1)利用原始的评分矩阵Rm*n与重新构建的评分矩阵
Figure BDA0001610073970000085
之间的误差的平方来构造传统的代价函数,具体表达式如下:
Figure BDA0001610073970000091
上式中,r(i,j)=1表示用户i对物品j进行了评分。
2)在传统的代价函数中加入正则项,对参数进行约束,加入正则项的改进代价函数如下所示:
Figure BDA0001610073970000092
以上公式中参数λ为正则化代价函数所设定的,具体问题不同给定λ值不同,通过查阅资料,本算法给定λ的值为0.02。
(4)初始化特征矩阵,将矩阵θ和矩阵X初始化为两个矩阵。
(6)建立目标的函数,此处以代价函数最小化为目标函数,具体目标函数为:
Figure BDA0001610073970000093
将初始化后特征矩阵的值带入目标函数,若目标函数值小于0.001,则停止计算,否则,用梯度下降法不断地迭代更新特征矩阵,使上述的代价函数最小化。
(7)通过改进的梯度下降法求解目标函数,改进的梯度下降法求解主要共分为两步进行,第一步求解代价函数的偏导数,第二步更新θ、x两个变量。由于是改进的代价函数,相应梯度下降公式亦进行改进,即加入正则项进行计算,所以对每一个i=1,...,m,j=1,...,n梯度下降法更新计算公式如下所示:
Figure BDA0001610073970000094
以上公式中α为学习速率,表示每一次迭代下降的幅度,参数k的含义是k个主题,决定了用户特征向量和图书特征向量的维数。
通过不断的迭代,更新矩阵θ和矩阵X中的元素,使代价函数不断减小。并将计算得到目标函数值,与0.001进行对比,若前者较小则终止计算,否则继续以上步骤;同时,若迭代次数达到10000次还未达到条件,则停止计算,得到一个代价函数的局部最小值。
(8)计算用户对物品的预测评分
利用上述步骤(7),确定目标函数最优解之后,则可以得到对应的最优矩阵θk*m和矩阵Xk*n,并计算用户i对物品j的预测评分。计算公式如下所示:
Figure BDA0001610073970000101
(9)完成推荐
将前述步骤训练所得的参数用来计算用户对未评分的每个物品的预测评分,并取评分较高的前k个物品推荐给用户。(本系统设置k值为100)
实施例:
下面使用共有129334条用户图书评分记录的数据集,共涉及了265本图书和1968名用户,其中用户cytun的部分图书评分信息如表1和表2所示。
表1
Figure BDA0001610073970000102
Figure BDA0001610073970000111
Figure BDA0001610073970000121
表2
Figure BDA0001610073970000122
该算法在运算过程中,需要将用户-行为数据处理为用户-图书评分矩阵,再将用户评分矩阵分解成用户特征矩阵和图书特征矩阵,并通过梯度下降方法不断地更新以上这两个矩阵,直到代价函数为最小,利用得出的最优特征矩阵预测候选推荐物品的评分。本例的用户评分矩阵R的部分数据如下所示:
Figure BDA0001610073970000131
若用户为对图书评分,则此项在矩阵中设为0。矩阵第三行,为用户cytun的历史评分数据,矩阵第四行,为用户Alaleio的历史评分数据。
该算法利用用户已有的用户-图书评分数据进行回归拟合来实现推荐。对用户-图书评分矩阵归一化处理完后,得到矩阵R’
Figure BDA0001610073970000132
算法的执行从随机数特征矩阵开始,本次实例的初始化矩阵为:
Figure BDA0001610073970000133
Figure BDA0001610073970000134
通过不断的迭代,更新矩阵和矩阵X中的元素,得到最小化代价函数,本次仿真实验通过设置损失值的阈值(0.001)来结束过程,迭代结束后,利用特征向量矩阵就可以为某用户产生推荐列表。该算法的候选图书是由某用户未评分过的所有图书组成。
该算法在求解过程中,查阅相关文献得相关参数数值,其中α为0.002,λ为0.02,k为100,得到针对本次图书推荐实例的代价函数如下:
Figure BDA0001610073970000141
使用梯度下降算法最小化代价函数时,涉及到的学习速率α查阅相关文献得其值为0.002,得到梯度下降法更新计算公式如下:
Figure BDA0001610073970000142
Figure BDA0001610073970000143
相应地,加入正则项后的梯度下降方法更新计算公式如下所示,沿用上述所查到的λ值为0.02:
Figure BDA0001610073970000144
Figure BDA0001610073970000145
本系统设置在迭代次数为10000次,为了判断梯度下降方法的正常运行,针对本次实例,输出以迭代次数为横坐标,以代价函数为纵坐标的曲线图。下图2展示了迭代次数与代价函数所形成的曲线。
根据图2可得,随着迭代次数的增加,代价函数不断递减并且在迭代次数为10000次时,曲线呈收敛趋势,不再减少,这表示本次梯度下降方法运行正常。通过不断地迭代特征矩阵,得到最优的用户特征矩阵和图书特征矩阵。本次仿真涉及265本图书和1968名用户,特征向量维数为k=100,形成100*1968的用户特征矩阵和100*265的图书的特征矩阵,矩阵的局部数据如下显示:
Figure BDA0001610073970000151
Figure BDA0001610073970000152
根据两个特征矩阵,可以预测为用户对物品j的预测评分,计算公式如下所示:
Figure BDA0001610073970000153
得到预测图书的预测评分表,最终得到完整的图书评分数据矩阵,取评分较高的前几本图书推荐给用户。如图3所示。
如图4所示,本发明还提供一种基于矩阵分解协同过滤算法的图书推荐系统,包括用户物品信息收集层、存储层、推荐引擎模块及接口层;
所述的存储层,用于存储系统使用和产生的数据,包括用户、图书的基本信息及用户行为信息;
所述的用户物品信息收集层,与存储层连接,用于负责录入和维护用户、图书的基本信息及用户行为信息;
所述的推荐引擎模块,与存储层连接,用于用户对物品的历史行为数据的基础上进行计算,产生推荐列表;采用上述基于矩阵分解协同过滤算法的图书推荐方法构建推荐引擎;
所述的接口层,与推荐引擎模块、存储层连接及前端展示单元通信,用于计算出的数据需要传递给前端展示单元,用户对图书的评分通过前端展示单元获取传回,接口层为前端展示单元调用提供所需数据,将前端展示单元传来的用户行为数据交由存储层储备用。
本发明实现了基于矩阵分解协同过滤算法的图书推荐方法,本发明将推荐技术应用到了图书推荐系统中,目的是为了给读书爱好者个性化地推荐其有可能感兴趣的图书,减少读书爱好者在海量图书信息中找到感兴趣图书的时间。本发明应用的推荐算法是基于协同过滤算法的图书推荐方法,具体使用到了基于矩阵分解的协同过滤算法,基于矩阵分解的协同过滤方法以用户评分为特征向量,通过训练回归模型来预测图书的评分,该算法可以有效解决基于内存的方法中的数据稀疏和可扩展性弱等问题,同时提高推荐算法的精度。
以上,仅为本发明的较佳实施例,并非仅限于本发明的实施范围,凡依本发明范围的内容所做的等效变化和修饰,都应为本发明的技术范畴。

Claims (5)

1.一种基于矩阵分解协同过滤算法的图书推荐方法,其特征在于,包括以下步骤:
(1)处理用户-图书评分矩阵,先将用户历史图书评分行为数据的训练集预处理为m*n的用户图书评分矩阵R;m表示为m个用户,n表示为n种图书;
(2)将矩阵R进行均值归一化处理,将矩阵R中每个值都除以矩阵R中所有值的和;
(3)对归一化处理后的用户-图书评分矩阵R的分解,将维数较高的用户-图书评分矩阵R分解成两个维数较低的矩阵的乘积,这两个低维的矩阵分别表示用户的特征矩阵θ以及图书的特征矩阵X;
(4)构造改进的代价函数,利用原始的评分矩阵Rm*n与重新构建的评分矩阵
Figure FDA0002683082830000012
之间的误差的平方,加入正则项构建改进的代价函数;
(5)初始化特征矩阵,将矩阵θ和矩阵X初始化为两个具有小的随机数值的矩阵;
(6)建立目标的函数,此处以代价函数最小化为目标函数;
(7)通过改进的梯度下降法求解目标函数,改进的梯度下降法求解共分为两步进行,第一步求解代价函数的偏导数,第二步更新θ、x两个变量,相应改进的下降公式加入正则项进行计算;
(8)计算用户对图书的预测评分,确定目标函数最优解之后,则可以得到对应的最优矩阵θk*m和最优矩阵Xk*n,计算用户i对图书j的预测评分;
(9)完成推荐,将前述步骤训练所得的参数用来计算用户对未评分的每个图书的预测评分,并取评分较高的前h个图书推荐给用户;
步骤(4)中构造改进的代价函数,利用原始的评分矩阵Rm*n与重新构建的评分矩阵
Figure FDA0002683082830000011
之间的误差的平方,并在其中加入正则项,以对参数进行约束,加入正则项的改进代价函数计算公式如下所示:
Figure FDA0002683082830000021
上式中,r(i,j)=1表示用户i对图书j进行了评分,参数λ为正则化代价函数所设定的;
步骤(6)中建立的以代价函数最小化为目标的目标函数,具体的计算公式如下:
Figure FDA0002683082830000022
将初始化后特征矩阵的值带入目标函数,若目标函数值小于0.001,则计算停止,否则,则用改进的梯度下降法不断地迭代更新特征矩阵,以使上述的代价函数最小化;
步骤(7)中改进的梯度下降法求解目标函数共分为两步进行:
第一步求解代价函数的偏导数,
第二步更新θ、x两个变量,由于是改进的代价函数,相应改进的梯度下降公式亦进行改进,加入正则项进行计算,所以对每一个i=1,...,m,j=1,...,n梯度下降法更新计算公式如下所示:
Figure FDA0002683082830000023
Figure FDA0002683082830000024
以上公式中α为学习速率,其表示每一次迭代下降的幅度,参数k的含义是k个主题,其决定了用户特征向量和图书特征向量的维数;
通过不断的迭代,更新矩阵θ和矩阵X中的元素,以使代价函数不断减小;并将计算得到目标函数值,与0.001进行对比,若前者小则终止计算,否则继续以上步骤;同时若迭代次数达到10000次还未达到条件,则也停止计算,得到一个代价函数的局部最小值;
步骤(8)中计算用户对图书的预测评分,具体计算公式如下所示:
Figure FDA0002683082830000031
以上公式中
Figure FDA0002683082830000032
表示用户i对图书j的预测评分,
Figure FDA0002683082830000033
是用户i对图书的平均评分。
2.根据权利要求1所述一种基于矩阵分解协同过滤算法的图书推荐方法,其特征在于,步骤(1)中的用户-图书评分矩阵建立如下:将用户历史图书评分行为数据的训练集预处理为m*n的R,其中,m表示为m个用户,n表示为n本图书,rui表示用户u对图书i的评分;
Figure FDA0002683082830000034
3.根据权利要求1所述一种基于矩阵分解协同过滤算法的图书推荐方法,其特征在于,步骤(2)中将矩阵R进行均值归一化处理,其中归一化公式:
Figure FDA0002683082830000035
在上述公式中,rij表示用户i对图书j的评分。
4.根据权利要求1所述一种基于矩阵分解协同过滤算法的图书推荐方法,其特征在于,步骤(3)中将用户-图书评分矩阵R分解为两个低维的用户的特征矩阵θ以及图书的特征矩阵X,具体所示:
Figure FDA0002683082830000036
其中,R为m*n的用户-评分矩阵,其中m为用户数量,n为图书数量,θ为k*m的用户特征矩阵,表示m个用户与k个主题的关系,X为k*n图书特征矩阵,表示k个主题和n个图书的关系;R的第i行、第j列元素,记为rij,为用户i对图书j的评分,θ的第i列为用户i的特征向量,记θ(i),X的第j列为图书j的特征向量,记为x(j),则有:
Figure FDA0002683082830000041
求解矩阵θk*m和Xk*n的每一个元素。
5.一种用于实现权利要求1至4任意一项所述的基于矩阵分解协同过滤算法的图书推荐方法的图书推荐系统,其特征在于,包括用户图书信息收集层、存储层、推荐引擎模块及接口层;
所述的存储层,用于存储系统使用和产生的数据,包括用户、图书的基本信息及用户行为信息;
所述的用户图书信息收集层,与存储层连接,用于负责录入和维护用户、图书的基本信息及用户行为信息;
所述的推荐引擎模块,与存储层连接,用于对用户的历史行为进行计算,产生推荐列表;采用基于矩阵分解的推荐模型构建推荐引擎;
所述的接口层,与推荐引擎模块、存储层连接及前端展示单元通信,用于将计算出的数据传递给前端展示单元,并将用户对图书的评分通过前端展示单元获取传回,接口层为前端展示单元调用提供所需数据,将前端展示单元传来的用户行为数据交由存储层储备用;
所述的推荐引擎模块的推荐方法,包括以下步骤:
(1)处理用户-图书评分矩阵,先将用户历史图书评分行为数据的训练集预处理为m*n的用户图书评分矩阵R;m表示为m个用户,n表示为n种图书;
(2)将矩阵R进行均值归一化处理,将矩阵R中每个值都除以矩阵R中所有值的和;
(3)对归一化处理后的用户-图书评分矩阵R的分解,将维数较高的用户-图书评分矩阵R分解成两个维数较低的矩阵的乘积,这两个低维的矩阵分别表示用户的特征矩阵θ以及图书的特征矩阵X;
(4)构造改进的代价函数,利用原始的评分矩阵Rm*n与重新构建的评分矩阵
Figure FDA0002683082830000051
之间的误差的平方,加入正则项构建改进的代价函数;
(5)初始化特征矩阵,将矩阵θ和矩阵X初始化为两个具有小的随机数值的矩阵;
(6)建立目标的函数,此处以代价函数最小化为目标函数;
(7)通过改进的梯度下降法求解目标函数,改进的梯度下降法求解共分为两步进行,第一步求解代价函数的偏导数,第二步更新θ、x两个变量,相应梯度下降公式加入正则项进行计算;
(8)计算用户对图书的预测评分,确定目标函数最优解之后,则可以得到对应的最优矩阵θk*m和矩阵Xk*n,计算用户i对图书j的预测评分;
(9)完成推荐,将前述步骤训练所得的参数用来计算用户对未评分的每个图书的预测评分,并取评分较高的前k个图书推荐给用户。
CN201810260195.1A 2018-03-27 2018-03-27 基于矩阵分解协同过滤算法的图书推荐方法及系统 Active CN108509573B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810260195.1A CN108509573B (zh) 2018-03-27 2018-03-27 基于矩阵分解协同过滤算法的图书推荐方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810260195.1A CN108509573B (zh) 2018-03-27 2018-03-27 基于矩阵分解协同过滤算法的图书推荐方法及系统

Publications (2)

Publication Number Publication Date
CN108509573A CN108509573A (zh) 2018-09-07
CN108509573B true CN108509573B (zh) 2021-04-27

Family

ID=63378742

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810260195.1A Active CN108509573B (zh) 2018-03-27 2018-03-27 基于矩阵分解协同过滤算法的图书推荐方法及系统

Country Status (1)

Country Link
CN (1) CN108509573B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109740064B (zh) * 2019-01-18 2021-08-17 北京化工大学 一种融合矩阵分解和挖掘用户项目信息的cf推荐方法
CN110019965B (zh) * 2019-02-28 2021-03-12 北京达佳互联信息技术有限公司 表情图像的推荐方法、装置、电子设备及存储介质
CN110490786B (zh) * 2019-07-10 2024-01-05 广东工业大学 一种基于分布式智能图书站的图书更新方法
CN110457508A (zh) * 2019-07-18 2019-11-15 西安工程大学 基于矩阵分解和知识图谱的服装搭配推荐方法
CN110570267B (zh) * 2019-07-22 2022-04-08 浙江工业大学 一种协同过滤物品推荐方法
CN110413888A (zh) * 2019-07-24 2019-11-05 腾讯科技(深圳)有限公司 一种书籍推荐方法及装置
CN110851734B (zh) * 2019-11-01 2023-09-05 广州视源电子科技股份有限公司 内容的推荐方法和装置
CN111460316B (zh) * 2020-03-20 2022-08-26 南京邮电大学 一种面向知识系统的个性化推荐方法及计算机存储介质
CN111859155A (zh) * 2020-08-04 2020-10-30 深圳前海微众银行股份有限公司 物品推荐方法、设备及计算机可读存储介质
CN112948707A (zh) * 2021-02-02 2021-06-11 辽宁工程技术大学 一种强化学习优化lfm的协同过滤推荐算法
CN114327890B (zh) * 2021-12-27 2023-08-25 杭州谐云科技有限公司 一种多指标融合的容器配额推荐方法和系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104766219A (zh) * 2015-03-19 2015-07-08 中国船舶重工集团公司第七0九研究所 基于以列表为单位的用户推荐列表生成方法及系统
CN105279699A (zh) * 2015-10-09 2016-01-27 北京航空航天大学 一种基于协同过滤并结合多类别非信任关系的推荐方法
CN106354855A (zh) * 2016-09-05 2017-01-25 北京邮电大学 一种推荐方法及系统
CN106971053A (zh) * 2016-01-08 2017-07-21 车海莺 一种基于混合协同过滤的推荐方法
CN107273337A (zh) * 2017-05-24 2017-10-20 南京师范大学 一种图构建与矩阵分解联合学习的推荐方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104766219A (zh) * 2015-03-19 2015-07-08 中国船舶重工集团公司第七0九研究所 基于以列表为单位的用户推荐列表生成方法及系统
CN105279699A (zh) * 2015-10-09 2016-01-27 北京航空航天大学 一种基于协同过滤并结合多类别非信任关系的推荐方法
CN106971053A (zh) * 2016-01-08 2017-07-21 车海莺 一种基于混合协同过滤的推荐方法
CN106354855A (zh) * 2016-09-05 2017-01-25 北京邮电大学 一种推荐方法及系统
CN107273337A (zh) * 2017-05-24 2017-10-20 南京师范大学 一种图构建与矩阵分解联合学习的推荐方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
基于矩阵分解与用户社会关系的协同过滤推荐算法;朱爱云;《研究与开发》;20160930;第3-6页 *
基于矩阵分解的单类协同过滤推荐算法;李改 等;《计算机应用研究》;20120531;第29卷(第5期);第1662-1665页 *

Also Published As

Publication number Publication date
CN108509573A (zh) 2018-09-07

Similar Documents

Publication Publication Date Title
CN108509573B (zh) 基于矩阵分解协同过滤算法的图书推荐方法及系统
CN110046304B (zh) 一种用户推荐方法和装置
CN109543109B (zh) 一种融合时间窗技术和评分预测模型的推荐算法
CN108230058B (zh) 产品推荐方法及系统
CN111460130A (zh) 信息推荐方法、装置、设备和可读存储介质
CN109840833B (zh) 贝叶斯协同过滤推荐方法
CN108090231A (zh) 一种基于信息熵的主题模型优化方法
CN108763367B (zh) 一种基于深度对齐矩阵分解模型进行学术论文推荐的方法
CN110321473B (zh) 基于多模态注意力的多样性偏好信息推送方法、系统、介质及设备
CN111737578A (zh) 一种推荐方法及系统
Huang et al. Neural embedding singular value decomposition for collaborative filtering
CN111695024A (zh) 对象评估值的预测方法及系统、推荐方法及系统
CN110727872A (zh) 基于隐式反馈进行不明确选择行为挖掘的方法及装置
Wadikar et al. Book recommendation platform using deep learning
CN112085158A (zh) 一种基于堆栈降噪自编码器的图书推荐方法
CN111079011A (zh) 一种基于深度学习的信息推荐方法
CN111161009B (zh) 信息推送方法、装置、计算机设备和存储介质
CN113159892A (zh) 一种基于多模态商品特征融合的商品推荐方法
CN111414555A (zh) 一种基于协同过滤的个性化推荐方法
Kumari et al. A Semantic Approach to Solve Scalability, Data Sparsity and Cold-Start Problems in Movie Recommendation Systems
Wang et al. Multi‐feedback Pairwise Ranking via Adversarial Training for Recommender
Salah et al. Probabilistic collaborative representation learning for personalized item recommendation
CN116484092A (zh) 基于用户长短期偏好的分层注意力网络序列推荐方法
CN115935067A (zh) 面向社会化推荐的语义与结构视图融合的物品推荐方法
CN115952307A (zh) 基于多模态图对比学习的推荐方法、电子设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right

Effective date of registration: 20210407

Address after: Room 5003, Yucheng advertising culture industrial park, No.5, East Xinchang Road, Jinfeng District, Yinchuan City, Ningxia Hui Autonomous Region

Applicant after: Ningxia Sande Education Technology Co.,Ltd.

Applicant after: Zhixiang Shudu (Beijing) Culture Technology Co.,Ltd.

Address before: No. 1, Weiyang District university garden, Xi'an, Shaanxi Province, Shaanxi

Applicant before: SHAANXI University OF SCIENCE & TECHNOLOGY

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20220616

Address after: Room 5003, Yucheng advertising culture industrial park, No.5, East Xinchang Road, Jinfeng District, Yinchuan City, Ningxia Hui Autonomous Region

Patentee after: Ningxia Sande Education Technology Co.,Ltd.

Address before: Room 5003, Yucheng advertising culture industrial park, No.5, East Xinchang Road, Jinfeng District, Yinchuan City, Ningxia Hui Autonomous Region

Patentee before: Ningxia Sande Education Technology Co.,Ltd.

Patentee before: Zhixiang reading (Beijing) Culture Technology Co., Ltd

TR01 Transfer of patent right