CN108959184B - 一种基于相似性和相似性可信度的协同过滤推荐算法及装置 - Google Patents
一种基于相似性和相似性可信度的协同过滤推荐算法及装置 Download PDFInfo
- Publication number
- CN108959184B CN108959184B CN201810671400.3A CN201810671400A CN108959184B CN 108959184 B CN108959184 B CN 108959184B CN 201810671400 A CN201810671400 A CN 201810671400A CN 108959184 B CN108959184 B CN 108959184B
- Authority
- CN
- China
- Prior art keywords
- user
- item
- matrix
- similarity
- items
- 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.)
- Expired - Fee Related
Links
- 238000001914 filtration Methods 0.000 title claims abstract description 21
- 239000011159 matrix material Substances 0.000 claims description 141
- 239000013598 vector Substances 0.000 claims description 12
- 238000013507 mapping Methods 0.000 claims description 10
- 238000000034 method Methods 0.000 claims description 9
- 230000000694 effects Effects 0.000 abstract description 13
- 238000002474 experimental method Methods 0.000 abstract description 8
- 230000006870 function Effects 0.000 description 15
- 238000000354 decomposition reaction Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 238000002790 cross-validation Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 230000002238 attenuated effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/17—Function evaluation by approximation methods, e.g. inter- or extrapolation, smoothing, least mean square method
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Theoretical Computer Science (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提出了一种基于相似性和相似性可信度的协同过滤推荐算法及装置,该算法在概率矩阵分解模型的基础上,通过相似性关系约束潜在特征向量的夹角余弦,并通过相似性可信度影响约束权重。由于相似性可信度的约束,该算法有效减弱了评分稀疏性问题对相似性关系的影响,强化了模型对重要相似性关系的学习能力,从而缓解了评分稀疏性问题。相关实验表明该算法的推荐效果明显优于当前其它同类算法。接下来的工作就是将此算法运用于实际的推荐***中,弥补传统推荐***在实际应用中的数据稀疏性问题及其带来的推荐效果不佳的问题。
Description
技术领域
本发明涉及推荐算法领域,主要对概率矩阵分解模型(Probabilistic MatrixFactorization,PMF)进行改进,以缓解数据稀松性问题,提高推荐效果,具体涉及一种基于相似性和相似性可信度的协同过滤推荐算法及装置。
背景技术
推荐***通过收集用户的历史评分、交互(浏览、收藏、“点赞”,“踩”等交互行为)、用户肖像(年龄、职业、性别等)、社交网络和上下文(时间、位置、活动状态、周围人员等)等数据,对用户的历史兴趣及偏好进行分析,挖掘出用户喜欢的项目(视频、音频、书籍、菜品、Web服务等信息),然后主动地将相关信息推荐给用户,满足用户的个性化需求。推荐算法是推荐***的核心,很大程度上决定了推荐***的性能。目前主要的推荐算法包括基于内容的推荐、基于知识的推荐、基于关联规则的推荐、协同过滤推荐和组合推荐等。其中协同过滤是目前应用最广泛且最成功的推荐技术。
基于邻域的协同过滤推荐算法是应用最早的协同过滤推荐技术,代表性算法为基于用户的协同过滤推荐和基于项目的协同过滤推荐。然而随着用户规模和项目数量的快速增长,基于邻域的协同过滤推荐算法的计算量大规模增大,同时产生了严重的评分数据稀疏性问题,即评分稀疏性问题。为了处理可扩展性和评分稀疏性问题,一些研究学者提出采用基于矩阵分解模型的推荐算法。矩阵分解模型假定“用户—项目”评分矩阵可以被分解为低维的潜在特征矩阵的乘积,其中潜在特征用于表示用户偏好或项目特征,如在电影推荐中,这些特征可能为喜剧、悬疑剧、爱情剧因素等。多次国际性比赛和大量研究都验证了矩阵分解模型具有抗数据稀疏性、易编程、较低的时空复杂度、较高的推荐精度和良好的可扩展性等优点。
相对于基于邻域的协同过滤推荐算法,矩阵分解模型有效缓解了评分稀疏性问题,但该问题还没有得到完全解决。为了进一步缓解评分稀疏性问题,本发明在深入研究PMF的基础上,提出了一种基于相似性和相似性可信度的协同过滤推荐算法(SSRCF),该算法在PMF的基础上,通过相似性关系约束潜在特征向量的夹角余弦,并通过相似性可信度影响约束权重。由于相似性可信度的约束,该算法有效减弱了评分稀疏性问题对相似性关系的影响,强化了模型对重要相似性关系的学习能力,从而缓解了评分稀疏性问题,提高了推荐效果。相关实验也表明,该算法能进一步缓解评分稀松性问题,提高推荐效果。
发明内容
基于相似性和相似性可信度的协同过滤推荐算法,包括:
一种基于相似性和相似性可信度的协同过滤推荐算法,其特征在于,包括
步骤1,建立用户-项目评分矩阵R,用户-项目评分矩阵R包括若干元素Ru,i,Ru,i表示用户u对项目i的评分,u=1,2,..N,i=1,2,3,..M,N表示推荐***中的用户数量,M表示推荐***中的项目数量;
步骤3,通过余弦相似性计算用户相似度矩阵D,用户相似度矩阵D包括若干元素Dup,Dup表示用户u和用户p之间的相似性,
步骤4,通过余弦相似性计算项目相似度矩阵S,相似度矩阵S包括若干元素Si,j,Si,j表示项目i与项目j之间的相似性,
步骤7,将用户共同评分项矩阵CD和项目共同评分项矩阵CS代入映射函数ω(c),得到用户相似性可信度矩阵WD=ω(CD),和项目相似性可信度矩阵WS=ω(CS),其中为用户u和用户p对应的相似性可信度,为项目i和项目j对应的相似性可信度;
映射函数ω(c)为
C(θ)和C(β)分别为用户(或项目)的共同评分项数量的频率分布直方图的θ和β下侧分位点,0<θ<β<1;
步骤8,建立损失函数
其中,λU和λV为PMF中的正则化参数,λD和λS为相似性正则化参数,g(x)=1/(1+exp(-x)),U和V分别表示用户因子矩阵和项目因子矩阵,Uu和Up分别表示用户u和用户p对应的用户因子向量,Vi和Vj分别表示项目i和项目j对应项目因子向量,cos(X,Y)为余弦函数;
一种基于相似性和相似性可信度的协同过滤推荐装置,其特征在于,包括
矩阵建立模块:用于建立用户-项目评分矩阵R、评分指示矩阵IR、用户相似度矩阵D、项目相似度矩阵S、用户共同评分项数量矩阵CD以及项目共同评分项数量矩阵CS、用户相似性可信度矩阵WD=ω(CD),和项目相似性可信度矩阵WS=ω(CS);
未知评分进行预测模块:基于损失函数,对未知评分进行预测,其中,损失函数基于以下公式:
其中,λU和λV为PMF中的正则化参数,λD和λS为相似性正则化参数,g(x)=1/(1+exp(-x)),U和V分别表示用户因子矩阵和项目因子矩阵,Uu和Up分别表示用户u和用户p对应的用户因子向量,Vi和Vj分别表示项目i和项目j对应项目因子向量;
在上述的一种基于相似性和相似性可信度的协同过滤推荐装置,矩阵建立模块建立矩阵的具体方法包括:
建立单元一:建立用户-项目评分矩阵R,用户-项目评分矩阵R包括若干元素Ru,i,Ru,i表示用户u对项目i的评分,u=1,2,..N,i=1,2,3,..M,N表示推荐***中的用户数量,M表示推荐***中的项目数量;
建立单元三:通过余弦相似性计算用户相似度矩阵D,用户相似度矩阵D包括若干元素Du,p,Du,p表示用户u和用户p之间的相似性,
建立单元四:通过余弦相似性计算项目相似度矩阵S,相似度矩阵S包括若干元素Si,j,Si,j表示项目i与项目j之间的相似性,
建立单元七:将用户共同评分项矩阵CD和项目共同评分项矩阵CS代入映射函数ω(c),得到用户相似性可信度矩阵WD=ω(CD),和项目相似性可信度矩阵WS=ω(CS),
映射函数ω(c)为
C(θ)和C(β)分别为用户(或项目)的共同评分项数量的频率分布直方图的θ和β下侧分位点,0<θ<β<1。
因此,在推荐效果(Precision、Recall、F1-measure和RMSE)方面,本发明与如下算法作了对比分析:
(1)ItemKNN:常规的基于项目的协同过滤推荐算法。
(2)UserKNN:常规的基于用户的协同过滤推荐算法。
(3)PMF:经典的概率矩阵分解模型。
(4)RMF:一种融合相似性信息的推荐模型,该模型通过正则项约束方式来融合用户和项目相似性,具有较高的推荐质量。
(5)SBMF:一种基于相似性的矩阵分解模型,该推模型首先通过相似性关系确定用户簇和项目簇,然后通过簇信息提高推荐质量。
本发明具有如下有点:该发明在概率矩阵分解模型的基础上,通过相似性关系约束潜在特征向量的夹角余弦,并通过相似性可信度影响约束权重。由于相似性可信度的约束,该发明有效减弱了评分稀疏性问题对相似性关系的影响,强化了模型对重要相似性关系的学习能力,从而缓解了评分稀疏性问题,提高了推荐效果。在Movielens数据集上的实验表明本发明显著提高了推荐效果,实验结果如图4所示。
附图说明
图1是本发明的逻辑架构图。
图2a是本发明中正则化参数对RMSE的影响示意图。
图2b是本发明中正则化参数对Precision的影响示意图。
图2c是本发明中正则化参数对Recall的影响示意图。
图2d是本发明中正则化参数对F1-measure的影响示意图。
图3是本发明的评分稀疏性影响对比示意图。
图4是本发明与现有的相关推荐算法的对比表。
图5是本发明的实验数据集元信息表。
具体实施方式
一、首先介绍本发明的方法原理,本发明主要包括:
步骤1,建立用户-项目评分矩阵R,用户-项目评分矩阵R包括若干元素Ru,i,Ru,i表示用户u对项目i的评分,u=1,2,..N,i=1,2,3,..M,N表示推荐***中的用户数量,M表示推荐***中的项目数量;
步骤3,通过余弦相似性计算用户相似度矩阵D,用户相似度矩阵D包括若干元素Du,p,Du,p表示用户u和用户p之间的相似性,
步骤4,通过余弦相似性计算项目相似度矩阵S,相似度矩阵S包括若干元素Si,j,Sij表示项目i与项目j之间的相似性,
步骤7,将用户共同评分项矩阵CD和项目共同评分项矩阵CS代入映射函数ω(c),得到用户相似性可信度矩阵WD=ω(CD),和项目相似性可信度矩阵WS=ω(CS),其中为用户u和用户p对应的相似性可信度,为项目i和项目j对应的相似性可信度;
映射函数ω(c)为
C(θ)和C(β)分别为用户(或项目)的共同评分项数量的频率分布直方图的θ和β下侧分位点,0<θ<β<1;
步骤8,建立损失函数
其中,λU和λV为PMF中的正则化参数,λD和λS为相似性正则化参数,g(x)=1/(1+exp(-x)),U和V分别表示用户因子矩阵和项目因子矩阵,Uu和Up分别表示用户u和用户p对应的用户因子向量,Vi和Vj分别表示项目i和项目j对应项目因子向量,cos(X,Y)为余弦函数;
二、下面结合具体案例对本发明的方法进行具体阐述。
本发明是基于java环境开发,JDK版本为jdk1.7.0_79,运行环境为Ubuntu14.04.4(64bit)。
为了丰富实验数据集,本发明设计了专门的实验对研究内容进行验证。本发明还从MovieLens网站上下载了开放的MovieLens-1M数据集,其包含943个用户对1682部电影的100000条评分数据。对这该数据集的相关描述如图5所示。
在对本发明与其它5种经典方法进行对比的实验中,我们采用了5-fold交叉验证的方法,并从集合{0.0005,0.001,0.005,0.01,0.05,0.1,0.2,0.4,0.8,1.2}中选择相似性正则化参数λD和λS,通过交叉验证确定的最佳参数设置为θ=0.1、β=0.4、λD=λS=0.05,特征维度设置为10和20(即L=10和L=20)。我们选用随机梯度下降算法作为求最优解的方法,初始学习速率为α=0.1,每次迭代的学习速率按0.99倍衰减,最大迭代次数为200。
在本发明所提算法中,模型参数λU和λV在抗过拟合方面起着重要的作用。本发明设计了一组实验来专门探究模型参数的λU和λV的影响,在该实验中,我们让λU=λV=λ,然后λ的值从集合{0.0005,0.001,0.005,0.01,0.05,0.1,0.2,0.4,0.8,1.2}选择,除此之外,参数α、β以及L都设为最佳值。图2展示了模型参数λU和λV对该算法的影响。
为了验证本发明所提算法在缓解评分稀疏性问题方面的优势,本发明设计了评分稀疏性影响对比实验,通过控制评分数据集的选择比例,对PMF、RMF、SBMF和SSRCF算法(本发明所提算法)的评分稀疏性影响进行探索。该实验设置的选择比例的取值集合为{50%,55%,60%,...,100%},潜在特征向量维数l设为10。图3展示了各类算法的稀疏性问题影响对比。
本文中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。
Claims (2)
1.一种基于相似性和相似性可信度的协同过滤推荐算法,其特征在于,包括
步骤1,建立用户-项目评分矩阵R,用户-项目评分矩阵R包括若干元素Ru,i,Ru,i表示用户u对项目i的评分,u=1,2,..N,i=1,2,3,..M,N表示推荐***中的用户数量,M表示推荐***中的项目数量;
步骤3,通过余弦相似性计算用户相似度矩阵D,用户相似度矩阵D包括若干元素Du,p,Du,p表示用户u和用户p之间的相似性,
步骤4,通过余弦相似性计算项目相似度矩阵S,相似度矩阵S包括若干元素Si,j,Si,j表示项目i与项目j之间的相似性,
步骤7,将用户共同评分项矩阵CD和项目共同评分项矩阵CS代入映射函数ω(c),得到用户相似性可信度矩阵WD=ω(CD),和项目相似性可信度矩阵WS=ω(CS),其中为用户u和用户p对应的相似性可信度,为项目i和项目j对应的相似性可信度;
映射函数ω(c)为
C(θ)和C(β)分别为用户(或项目)的共同评分项数量的频率分布直方图的θ和β下侧分位点,0<θ<β<1;
步骤8,建立损失函数
其中,λU和λV为PMF中的正则化参数,λD和λS为相似性正则化参数,g(x)=1/(1+exp(-x)),U和V分别表示用户因子矩阵和项目因子矩阵,Uu和Up分别表示用户u和用户p对应的用户因子向量,Vi和Vj分别表示项目i和项目j对应项目因子向量,cos(X,Y)为余弦函数;
2.一种基于相似性和相似性可信度的协同过滤推荐装置,其特征在于,包括
矩阵建立模块:用于建立用户-项目评分矩阵R、评分指示矩阵IR、用户相似度矩阵D、项目相似度矩阵S、用户共同评分项数量矩阵CD以及项目共同评分项数量矩阵CS、用户相似性可信度矩阵WD=ω(CD),和项目相似性可信度矩阵WS=ω(CS);
未知评分进行预测模块:基于损失函数,对未知评分进行预测,其中,损失函数基于以下公式:
其中,λU和λV为PMF中的正则化参数,λD和λS为相似性正则化参数,g(x)=1/(1+exp(-x)),U和V分别表示用户因子矩阵和项目因子矩阵,Uu和Up分别表示用户u和用户p对应的用户因子向量,Vi和Vj分别表示项目i和项目j对应项目因子向量;
矩阵建立模块建立矩阵的具体方法包括:
建立单元一:建立用户-项目评分矩阵R,用户-项目评分矩阵R包括若干元素Ru,i,Ru,i表示用户u对项目i的评分,u=1,2,..N,i=1,2,3,..M,N表示推荐***中的用户数量,M表示推荐***中的项目数量;
建立单元三:通过余弦相似性计算用户相似度矩阵D,用户相似度矩阵D包括若干元素Du,p,Du,p表示用户u和用户p之间的相似性,
建立单元四:通过余弦相似性计算项目相似度矩阵S,相似度矩阵S包括若干元素Si,j,Si,j表示项目i与项目j之间的相似性,
建立单元七:将用户共同评分项矩阵CD和项目共同评分项矩阵CS代入映射函数ω(c),得到用户相似性可信度矩阵WD=ω(CD),和项目相似性可信度矩阵WS=ω(CS),
映射函数ω(c)为
C(θ)和C(β)分别为用户(或项目)的共同评分项数量的频率分布直方图的θ和β下侧分位点,0<θ<β<1。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810671400.3A CN108959184B (zh) | 2018-06-26 | 2018-06-26 | 一种基于相似性和相似性可信度的协同过滤推荐算法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810671400.3A CN108959184B (zh) | 2018-06-26 | 2018-06-26 | 一种基于相似性和相似性可信度的协同过滤推荐算法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108959184A CN108959184A (zh) | 2018-12-07 |
CN108959184B true CN108959184B (zh) | 2022-06-07 |
Family
ID=64486912
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810671400.3A Expired - Fee Related CN108959184B (zh) | 2018-06-26 | 2018-06-26 | 一种基于相似性和相似性可信度的协同过滤推荐算法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108959184B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110321291A (zh) * | 2019-07-12 | 2019-10-11 | 中国工商银行股份有限公司 | 测试案例智能提取***及方法 |
CN113128763A (zh) * | 2021-04-19 | 2021-07-16 | 天津大学 | 一种基于动态规划的企业供应链需求优化方法 |
CN113407863B (zh) * | 2021-06-17 | 2022-05-10 | 天津大学 | 一种个性化产品服务方案推荐方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2704089A2 (en) * | 2012-08-31 | 2014-03-05 | Accenture Global Services Limited | Hybrid recommendation system |
CN107291894A (zh) * | 2017-06-21 | 2017-10-24 | 武汉理工大学 | 一种融合相似性和共同评分项数量的概率矩阵分解模型 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101685458B (zh) * | 2008-09-27 | 2012-09-19 | 华为技术有限公司 | 一种基于协同过滤的推荐方法和*** |
-
2018
- 2018-06-26 CN CN201810671400.3A patent/CN108959184B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2704089A2 (en) * | 2012-08-31 | 2014-03-05 | Accenture Global Services Limited | Hybrid recommendation system |
CN107291894A (zh) * | 2017-06-21 | 2017-10-24 | 武汉理工大学 | 一种融合相似性和共同评分项数量的概率矩阵分解模型 |
Non-Patent Citations (1)
Title |
---|
IU-PMF: Probabilistic Matrix Factorization Model Fused;Yilong Shi 等;《Springer》;20171102;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN108959184A (zh) | 2018-12-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Darban et al. | GHRS: Graph-based hybrid recommendation system with application to movie recommendation | |
Koohi et al. | A new method to find neighbor users that improves the performance of collaborative filtering | |
JP3389948B2 (ja) | 表示広告選択システム | |
Almazro et al. | A survey paper on recommender systems | |
CN109241203B (zh) | 一种融合时间因素的用户偏好和距离加权的聚类方法 | |
CN111061962B (zh) | 一种基于用户评分分析的推荐方法 | |
US8738467B2 (en) | Cluster-based scalable collaborative filtering | |
CN105868334B (zh) | 一种基于特征递增型的电影个性化推荐方法及*** | |
Shahabi et al. | An adaptive recommendation system without explicit acquisition of user relevance feedback | |
Lai et al. | Novel personal and group-based trust models in collaborative filtering for document recommendation | |
CN108959184B (zh) | 一种基于相似性和相似性可信度的协同过滤推荐算法及装置 | |
EP2452274A1 (en) | Systems and methods for making recommendations using model-based collaborative filtering with user communities and items collections | |
US11636394B2 (en) | Differentiable user-item co-clustering | |
Yin et al. | Exploring social activeness and dynamic interest in community-based recommender system | |
Pagare et al. | Study of collaborative filtering recommendation algorithm-scalability issue | |
Jariha et al. | A state-of-the-art Recommender Systems: An overview on Concepts, Methodology and Challenges | |
CN110413880B (zh) | 基于用户人格分层结构的单分类协同过滤方法 | |
Soo Kim | Text recommender system using user's usage patterns | |
Ali et al. | Dynamic context management in context-aware recommender systems | |
Guan et al. | Enhanced SVD for collaborative filtering | |
Aggarwal et al. | Recommendation systems for interactive multimedia entertainment | |
US20070239553A1 (en) | Collaborative filtering using cluster-based smoothing | |
Qin et al. | Towards a personalized movie recommendation system: A deep learning approach | |
Jing | Application of Improved K‐Means Algorithm in Collaborative Recommendation System | |
Wang et al. | A hybrid collaborative filtering recommendation algorithm: integrating content information and matrix factorisation |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20220607 |
|
CF01 | Termination of patent right due to non-payment of annual fee |