CN110059257B - 基于评分修正的项目推荐方法 - Google Patents
基于评分修正的项目推荐方法 Download PDFInfo
- Publication number
- CN110059257B CN110059257B CN201910348064.3A CN201910348064A CN110059257B CN 110059257 B CN110059257 B CN 110059257B CN 201910348064 A CN201910348064 A CN 201910348064A CN 110059257 B CN110059257 B CN 110059257B
- Authority
- CN
- China
- Prior art keywords
- user
- item
- items
- correction
- recommendation
- 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
- 238000012937 correction Methods 0.000 title claims abstract description 59
- 238000000034 method Methods 0.000 title claims abstract description 36
- 239000011159 matrix material Substances 0.000 claims abstract description 20
- 238000012360 testing method Methods 0.000 claims description 11
- 238000011160 research Methods 0.000 claims description 4
- 238000012417 linear regression Methods 0.000 abstract description 2
- 238000001914 filtration Methods 0.000 description 18
- 238000011156 evaluation Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000002474 experimental method Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- YOETUEMZNOLGDB-UHFFFAOYSA-N 2-methylpropyl carbonochloridate Chemical compound CC(C)COC(Cl)=O YOETUEMZNOLGDB-UHFFFAOYSA-N 0.000 description 1
- 241000282326 Felis catus Species 0.000 description 1
- 241000282414 Homo sapiens Species 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000739 chaotic effect Effects 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 238000002790 cross-validation Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 239000003607 modifier Substances 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9538—Presentation of query results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2413—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
- G06F18/24147—Distances to closest patterns, e.g. nearest neighbour classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0639—Performance analysis of employees; Performance analysis of enterprise or organisation operations
- G06Q10/06393—Score-carding, benchmarking or key performance indicator [KPI] analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0639—Performance analysis of employees; Performance analysis of enterprise or organisation operations
- G06Q10/06395—Quality analysis or management
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Economics (AREA)
- Physics & Mathematics (AREA)
- Strategic Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Development Economics (AREA)
- Data Mining & Analysis (AREA)
- Educational Administration (AREA)
- General Business, Economics & Management (AREA)
- Tourism & Hospitality (AREA)
- Quality & Reliability (AREA)
- Operations Research (AREA)
- Marketing (AREA)
- Game Theory and Decision Science (AREA)
- General Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种基于评分修正的项目推荐方法。根据用户的体验对项目进行评分,基于线性回归进行第一次修正,第一次修正后的用户项目评分矩阵。需要保留用户需求的变化并且防止过度拟合,于是需要进行第二次修正,计算相应的原始评分的权重。用特征向量描述活动用户对项目的偏好特征。根据活动用户已知评分项目的K个最近邻居预测未知评分。对所得到的结果进行相应的评估。本发明可以消除主观特征,使评分具有客观性,可以更准确的表达用户的偏好。本发明采用二次修正,对于兴趣随着时间的变化更加敏感,使得***能够更加准确地识别出用户当前的兴趣偏好,从而是产生的推荐结果的准确性得到大幅度的提高。
Description
技术领域
本发明涉及推荐***领域,特别涉及一种基于评分修正的项目推荐方法。
背景技术
近些年来,随着在线社交网络和互联网技术带来的信息革命,网络信息已一种近乎恐怖的趋势进行不断地攀升式增长,网络信息如***般席卷全球。新闻信息、科技信息、体育信息、娱乐信息等各式各样的网络信息,开始从四面八方铺天盖地的向我们砸来。人类近30所产生的信息总量已超过了过去5000年的信息量总和,但其信息的价度密度却很低,其中不乏包含很多无用信息和不真实信息,面对互联网带来的这种“信息过剩”和“信息混沌空间”,人们很难依靠个人或单一的***的力量来定位和获取所需要的信息。为了解决信息过载这一难题,推荐***(Recommender system)出现。如今,这个技术已经完全深入到了人们的日常生活中,无处不在。推荐***通过对用户的个体特征进行分析,向每个用户展示其个性化的推荐结果。推荐***不同于搜索引擎的被动查找,是一种主动地检索匹配的过程。
其中,推荐***一个常用的方式是协同过滤(collaborative filtering),即利用某兴趣相投、拥有共同经验之群体的喜好来推荐用户感兴趣的信息。例如,你和另外-一个人都喜欢看电影,而你们所喜欢的电影类型都差不多,那个人对于某一部电影的评价很高,而这部电影你没有看过。那么,我是不是就能将这部电影推荐给你呢?基于协同过滤的推荐,有基于用户和基于物品。包括(1)相似度的计算(2)基于用户的协同过滤(3)基于项目的协同过滤(4) 基于内容的过滤算法(5)混合推荐***等。推荐***在现在的生活中随处可见,淘宝天猫的商品推荐,音乐软件的每日歌曲推荐等,协同过滤就是一种很受欢迎的推荐算法。
基于项目的协同过滤(IBCF)推荐***是当今世界最著名的推荐***之一。相比其他的经典的推荐***,它具有很高的预测准确性,但仍然具有一些需要改进的重要缺点:(1)因为用户评分少而产生的数据的稀疏问题,即在数据集中绝大多数数值缺失或者为零的数据。 (2)可扩展性问题,即适应***规模不断扩大的问题(3)新用户的冷启动问题,初始时间推荐质量差(4)历史数据会决定推荐质量,会令推荐的时效性降低(5)新项目没有用户评价而新用户评价很少项目造成的预测准确性不够高等重要问题需要解决。
发明内容
虽然传统的基于项目的协同过滤推荐算法预测具有较高的准确性。但是由于真实数据的稀疏性导致传统方法仍然具有预测准确性不够高的严重问题急需解决。为了大幅度提高推荐***预测的准确性,本发明借鉴基于项目的协同过滤的准确度较好的特征,融合了原始评分修正这一新的思想理论,进一步提升了推荐***的准确性。
为了克服现有技术的不足,本发明提供了一种基于评分修正的项目推荐方法,所采用的技术方案为:
步骤1:用户根据自身当时的体验对项目进行评分,根据用户评分得到一个大小为N×M 的矩阵R=(rn,m),其中,元素rn,m表示用户n对项目m的评分;其中n=1、2、3...N,表示用户的人数,m=1、2、3...M,表示项目的个数;
步骤2:对矩阵R=(rn,m)进行一次修正,一次修正矩阵为R′=(r′n,m)。
其中,u,v∈n,i,j∈m,Iu,v表示被用户u和v同时评价过的项目的集合,devu,v表示用户u和v的偏差,ru,i是指用户u评价第i个项目的得分,rv,i是指用户v评价第i个项目的得分,Ui={v|v∈Ui,|Iu,v|>0}表示评价过第i个项目i的用户的集合;
步骤3:对一次修正矩阵R′=(r′n,m)进行二次修正;
令R″=(r″n,m)标记二次修正后的用户项目评分矩阵,对评分进行的二次修正方法,如公式(3)所示:
R″=λR+(1-λ)R′ (2)
其中,λ是原始评分的权重;
λ∝lg K (3)
其中,K为特征向量ii的个数,特征向量为由K个最近邻居构成的项目i的(K维)特征向量ii=(ii1,...,iiK)T;
步骤4:根据活动用户已知评分项目的K个最近邻居预测未知评分;
步骤4.1:找到项目的最近邻居,二次修正后的项目i和j之间的相似度如公式(5)所示:
其中,Ui,j标记评价过项目i或j的用户的集合,Ui标记评价过项目i的用户的集合,Uj标记评价过项目j的用户的集合,r″u,i是指经过二次修正后用户u评价第i个项目的得分,r″v,i是指经过二次修正后用户v评价第i个项目的得分,sim(i,j)∈[0,1];
步骤4.3:将计算得出的未知评分进行从大到小的排序,选取前L个项目作为推荐项目, L为大于等于1的正整数;
步骤5:对二次修正后的用户项目评分矩阵进行评估,具体包括:
计算平均绝对误差MAE
MAE是预测结果与真实数据的绝对误差的平均值。平均绝对误差的值越小,算法的预测准确度越高。
计算均方根误差RMSE
其中,MSE是平均平方根误差,即预测值与真值之差平方的期望值,RMSE是MSE的算术平方根。它定义如公式(7)所示。
计算召回率Recall与准确率Precision
召回率衡量了在用户真正认同并接受的项目中,被推荐***所推荐的项目所占的比例。 Recall的值越大,推荐的召回率越高,准确性越大。如公式(8)所示。
其中,集合R为测试集中项目的集合,集合S表示应该被推荐给用户的项目的集合。
准确率衡量了推荐结果中,真正被用户所认同并接受的项目的比例。这里使用集合R 为测试集中项目的集合,集合S表示应该被推荐给用户的项目的集合。准确率研究了推荐的准确性,Precision的值越大,推荐的准确率越高。
利用F1衡量指标衡量推荐的召回率和准确率,且F1的值越大,推荐准确性越高;如公式 (10)所示;
本发明的有益技术效果为:
(1)提出了一个新的思想:修正原始评分。本发明认为人们的评分具有当前状态的很多主观意识,缺少客观性和准确性。修正后的评分可以消除主观特征,使评分具有客观性,可以更准确的表达用户的偏好。
(2)用户偏好会随着时间的推移发生变化,这种变化会在第一次修正时发生部分丢失。为了保留这种变化,且避免过度拟合,设计了二次修正评分,以便更准确的描述用户偏好。
通过二次修正的过程,二次修正后的评分能够更加准确地描述出用户的兴趣偏好。而且对于兴趣随着时间的变化更加敏感,使得***能够更加准确地识别出用户当前的兴趣偏好,从而是产生的推荐结果的准确性得到大幅度的提高。
附图说明
图1为本发明具体实施方式的方法流程图;
图2为本发明具体实施方式的一次修正模型图;
图3为本发明具体实施方式的评分修正实例图;
图4为本发明具体实施方式的λ和最近邻数K的关系图;
图5为本发明具体实施方式的数据集ML-100k上的MAE;
图6为本发明具体实施方式的数据集ML-100k上的RMSE;
图7为本发明具体实施方式的数据集ML-1M上的MAE;
图8为本发明具体实施方式的数据集ML-1M上的RMSE;
图9为本发明具体实施方式的数据集ML-100k上的F1;
图10为本发明具体实施方式的数据集ML-1M上的F1。
具体实施方式
下面结合附图对本发明作进一步说明。
很多的因素会影响用户的判断。致使原始评分会具有很多用户自身的主观意识,不能客观地准确地反映出用户对项目的真实偏好。例如,当天阳光明媚你,用户会对给出5分的评定。但是如果当天阴雨绵绵,用户也许会对同一个项目给出3分的评定。为了解决这一问题,我们提出了一个新的推荐步骤,修正原始评分,它能够更加准确地表示出用户的兴趣偏好,使预测质量更好;
分析本发明方法的预测质量和推荐质量,来评估本章算法的有效性。我们将在两个的真实世界的数据集上,对我们的方法和传统的基于项目的协同过滤方法进行对比实验;
使用两个著名的真实世界的数据集来评估本章的推荐方法。第一个是MovieLens(ML-100k),它包含由943个用户和1682个项目所产生的100000条评分。在该数据集上使用5折交叉验证进行实验。第二个是MovieLens(ML-1M),它包含由6040个用户和3952个项目所产生的1,000,209条评分。表1显示了这些实验数据的基本信息。
表1实验数据集
用户数 | 电影数 | 评分数 | 数据密度 | |
MovieLens 100k | 943 | 1682 | 100000 | 6.3% |
MovieLens 1M | 6040 | 3952 | 1,000,209 | 4.2% |
对于两个数据集ML-100k和ML-1M,评分属于集合{1,2,3,4,5,NA}。如果评分为未知评分,则rnm=NA。在每个数据集中,80%的评分作为训练集,剩余的20%作为测试集。
如图1所示,步骤1:用户根据自身当时的体验对项目进行评分,根据用户评分得到一个大小为N×M的矩阵R=(rn,m),其中,元素rn,m表示用户n对项目m的评分,其中n=1、2、3...N,表示用户的人数,m=1、2、3...M,表示项目的个数;
步骤2:对矩阵R=(rn,m)进行一次修正,一次修正背后的关键思想是,基于线性回归进行评分的修正。修正器采用f(x)=x+b的形式,自由参数b为两个用户间的偏差。根据用户的评分数据以及用户间的偏差,我们可以大致过滤出当前活动用户的项目评分中所存在的误差。一次修正矩阵为R′=(r′n,m)。如图3所示,
其中,u,v∈n,i,j∈m,Iu,v表示被用户u和v同时评价过的项目的集合,devu,v表示用户u和v的偏差,ru,i是指用户u评价第i个项目的得分,rv,i是指用户v评价第i个项目的得分,Ui={v|v∈Ui,|Iu,v|>0}表示评价过第i个项目i的用户的集合;
得到相应的一次修正矩阵,获得一次修正模型图2;
集合Ui中的每个用户都对应一个权重。考虑到两个用户所共同评价的项目的数量越多,所计算的这两个用户间的偏差越逼近真实世界。也就是说,该用户修正的值也越接近活动用户的真实偏好。因此,所对应的权重也就越大。一次修正的过程是有魅力的,它的修正方法简单,易于实现和维护,而且执行效率高;
步骤3:对一次修正矩阵R′=(r′n,m)进行二次修正;用户兴趣偏好总是会随着时间不断发生变化,这种变化中的部分信息会在第一次修正时因过度拟合,而导致发生部分信息的丢失。为了保留这种变化,且避免过度拟合的现象的发生,我们对用户的评分进行了二次修正;
令R″=(r″n,m)标记二次修正后的用户项目评分矩阵,对评分进行的二次修正方法,如公式(2)所示:
R″=λR+(1-λ)R′ (2)
其中,λ是原始评分的权重;
λ∝lg K (3)
其中,K为特征向量ii的个数,特征向量表示由K个最近邻居构成的项目i的(K维)特征向量ii=(ii1,...,iiK)T,图4为λ和最近邻数K的关系图;用向量ii=(ii1,...,iiK)T表示由K个最近邻居构成的项目i的(K维)特征向量。特征向量ii描述了活动用户对项目i的偏好特征。随着取的最近邻居越多,特征向量ii对用户偏好的描述也越准确。此时,λ的值也就越大。当K大到一定值时,特征向量ii对用户偏好的描述将无限趋近于真实情况。此时,λ→1。
通过实验结果可知,如图4所示,当推荐***达到最好的推荐效果时,λ的值随***所取的最近邻居个数K值变化的情况。根据实验结果,这里取λ=0.7lgK-0.3。当K≤3时,λ=0;当K≥70时,λ=1;
值得注意的是,二次修正也是非常有魅力的。二次修正后的评分能够更加准确地体现出用户的个人偏好信息。它不同于第一次修正后的评分,它拥有很多一次修正后的评分中丢失的用户信息。同时,也解决了一次修正中存在的过度拟合的现象。它也不同于原始评分,它比较与原始评分更加具有客观性。此步骤是非常重要的,它是使得我们的预测的准确性更加优异的关键步骤;
步骤4:根据活动用户已知评分项目的K个最近邻居预测未知评分;
步骤4.1:利用原始评分不能准确地找到项目的最近邻居。因为,原始评分不能客观准确地表现用户的真实偏好。为了解决这一问题,我们提出使用二次修正后的评分确定项目i和j 之间的相似度,如公式(5)所示:
其中,Ui,j标记评价过项目i或j的用户的集合,Ui标记评价过项目i的用户的集合,Uj标记评价过项目j的用户的集合,r″u,i是指经过二次修正后用户u评价第i个项目的得分,r″v,i是指经过二次修正后用户v评价第i个项目的得分,sim(i,j)∈[0,1],项目i和j越相似,sim(i,j) 的值越接近于1;
重要的是公式(4)和(5)都依赖于二次修正后的评分。这使得预测的结果更加准确。因为,二次修正后的评分能够更加准确地描述用户的偏好,以及项目的特征;
步骤4.3:将计算得出的未知评分进行从大到小的排序,选取前L个项目作为推荐项目, L为大于等于1的正整数,L根据实际具体的推荐项目自行确定。
步骤5:对二次修正后的用户项目评分矩阵进行评估,具体包括:
用一种基于未知评分预测的推荐算法,基于评分修正的推荐算法。其中,预测的准确度、推荐准确度、推荐召回率等,都是评价基于评分预测的推荐算法的性能优劣所不可缺少的重要评估指标。使用平均绝对误差(Mean Absolute Error,即MAE)、均方根误差(RootMean Square Error,即RMSE)、F1衡量指标,对算法的进行评估。
计算平均绝对误差
MAE是预测结果与真实数据的绝对误差的平均值。平均绝对误差的值越小,算法的预测准确度越高。
计算均方根误差
均方根误差和平均平方根误差(mean squared error,简称MSE)是评价预测准确性的两种评价标准。其中,MSE是预测值与真值之差平方的期望值。RMSE是MSE的算术平方根。它定义如公式(7)所示。
计算召回率与准确率
召回率衡量了在用户真正认同并接受的项目中,被推荐***所推荐的项目所占的比例。这里使用集合R为测试集中项目的集合,集合S表示应该被推荐给用户的项目的集合。召回率研究了推荐的准确性,Recall的值越大,推荐的召回率越高,准确性越大。如公式(8)所示。
其中,集合R为测试集中项目的集合,集合S表示应该被推荐给用户的项目的集合
准确率衡量了推荐结果中,真正被用户所认同并接受的项目的比例。这里使用集合R为测试集中项目的集合,集合S表示应该被推荐给用户的项目的集合。准确率研究了推荐的准确性,Precision的值越大,推荐的准确率越高。
引入F1衡量指标
召回率和准确率均不能很好的反应推荐的准确性。通过观察可以发现,随着推荐结果的集合的规模的扩大,召回率和准确率之间会发生相应的变化。即推荐结果中的项目被活动用户选择的数量会随之增大,进而召回率也会随之升高,相反的是准确率则会随之下降。为了平衡这种变化,F1衡量指标综合衡量了推荐的召回率和准确率,使其偏向较小的方向。且F1的值越大,推荐准确性越高。如公式(10)所示
在图5和图6中,比较了本章的方法和经典的基于项目的协同过滤推荐***在ML-100k 数据集上的预测质量。图5显示了MAE的评估结果,图6显示了RMSE的计算结果。从图 5和图6中,可以注意到,本章的方法具有很好的预测准确性。与经典的基于项目的协同过滤推荐***相比,本章的方法大幅度降低了预测的误差。此外,惊喜的是在邻居的数量很少的时候,本章的方法就达到了很小的预测误差。而经典的基于项目的协同过滤推荐***则无法做到。甚至,在邻居的数量只有20的时候,MAE就降低到了大约0.73,RMSE就降低到了大约0.94。当邻居的数量很少的时候,这都要归功于本章方法中的两次评分修正。两次评分的修正,使得符合用户兴趣偏好的项目就能够在所取邻居数很小时就能被准确地定位。
图7和图8显示了本章方法和经典的基于项目的协同过滤推荐***在ML-1M数据集上的预测质量。ML-100k数据集上的实验说明了我们的方法较经典的基于项目协同过滤,在预测准确性上有很大的提高。ML-1M数据集比ML-100k数据集更大、更新。比ML-100k数据集更有说服力。图7是关于ML-1M数据集的MAE评估结果,图8是关于ML-1M数据集的RMSE 评估结果。从图7和图8中可以看到,本章的方法的预测质量要远远优于经典的推荐***,像ML-100k数据集一样。这证实了我们的方法的稳定性。
图9以及图10显示了本章算法与经典的基于基于项目的协同过滤推荐算法在推荐性能上的比较。图9显示了ML-100k数据集在F1衡量指标上的评估结果,图10显示了ML-1M数据集在F1衡量指标上的计算结果。从图9和图10中,可以观察到,本章的方法在大幅度提高预测准确性的同时,也保持了较高的推荐准确性。与经典的基于项目的协同过滤推荐***相比,本章的方法在推荐的准确性上也有一定程度上提高,始终保持较高的推荐准确性。同时,两个真实世界的数据集上的实验结果,也证实了我们的方法在推荐准确性上所具有的稳定性。
Claims (2)
1.一种基于评分修正的项目推荐方法,其特征在于:包括:
步骤1:用户根据自身当时的体验对项目进行评分,根据用户评分得到一个大小为N×M的矩阵R=(rn,m),其中,元素rn,m表示用户n对项目m的评分;其中n=1、2、3...N,表示用户的人数,m=1、2、3...M,表示项目的个数;
步骤2:对矩阵R=(rn,m)进行一次修正,一次修正矩阵为R′=(rn′,m);
其中,u,v∈n,i,j∈m,Iu,v表示被用户u和v同时评价过的项目的集合,devu,v表示用户u和v的偏差,ru,i是指用户u评价第i个项目的得分,rv,i是指用户v评价第i个项目的得分,Ui={v|v∈Ui,|Iu,v|>0}表示评价过第i个项目i的用户的集合;
步骤3:对一次修正矩阵R′=(r′n,m)进行二次修正;
令R″=(r″n,m)标记二次修正后的用户项目评分矩阵,对评分进行的二次修正方法,如公式(2)所示:
R″=λR+(1-λ)R′ (2)
其中,λ是原始评分的权重;
λ∝lgK (3)
其中,K为特征向量ii的个数,特征向量为由K个最近邻居构成的项目i的特征向量ii=(ii1,...,iiK)T;
步骤4:根据活动用户已知评分项目的K个最近邻居预测未知评分;
步骤4.1:找到项目的最近邻居,二次修正后的项目i和j之间的相似度如公式(4)所示:
其中,Ui,j标记评价过项目i或j的用户的集合,Ui标记评价过项目i的用户的集合,Uj标记评价过项目j的用户的集合,r″u,i是指经过二次修正后用户u评价第i个项目的得分,r″u,j是指经过二次修正后用户u评价第j个项目的得分,sim(i,j)∈[0,1];
步骤4.3:将计算得出的未知评分进行从大到小的排序,选取前L个项目作为推荐项目,L为大于等于1的正整数;
步骤5:对二次修正后的用户项目评分矩阵进行评估。
2.根据权利要求1所述的一种基于评分修正的项目推荐方法,其特征在于:所述步骤5具体包括:
计算平均绝对误差MAE
MAE是预测结果与真实数据的绝对误差的平均值;平均绝对误差的值越小,算法的预测准确度越高,如公式(6)所示;
计算均方根误差RMSE
其中,MSE是平均平方根误差,即预测值与真值之差平方的期望值,RMSE是MSE的算术平方根;它定义如公式(7)所示;
计算召回率Recall与准确率Precision
召回率衡量了在用户真正认同并接受的项目中,被推荐***所推荐的项目所占的比例;Recall的值越大,推荐的召回率越高,准确性越大;如公式(8)所示;
其中,集合R为测试集中项目的集合,集合S表示应该被推荐给用户的项目的集合;
准确率衡量了推荐结果中,真正被用户所认同并接受的项目的比例,这里使用集合R为测试集中项目的集合,集合S表示应该被推荐给用户的项目的集合;准确率研究了推荐的准确性,Precision的值越大,推荐的准确率越高;
利用F1衡量指标衡量推荐的召回率和准确率,且F1的值越大,推荐准确性越高,如公式(10)所示;
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910348064.3A CN110059257B (zh) | 2019-04-28 | 2019-04-28 | 基于评分修正的项目推荐方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910348064.3A CN110059257B (zh) | 2019-04-28 | 2019-04-28 | 基于评分修正的项目推荐方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110059257A CN110059257A (zh) | 2019-07-26 |
CN110059257B true CN110059257B (zh) | 2021-02-19 |
Family
ID=67321237
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910348064.3A Expired - Fee Related CN110059257B (zh) | 2019-04-28 | 2019-04-28 | 基于评分修正的项目推荐方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110059257B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11869015B1 (en) | 2022-12-09 | 2024-01-09 | Northern Trust Corporation | Computing technologies for benchmarking |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113011748A (zh) * | 2021-03-22 | 2021-06-22 | 中国建设银行股份有限公司 | 推荐效果的评估方法、装置、电子设备及可读存储介质 |
CN114021020B (zh) * | 2021-11-17 | 2022-08-12 | 南京工业大学 | 一种基于用户偏好修正的智能推荐方法及*** |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102073720A (zh) * | 2011-01-10 | 2011-05-25 | 北京航空航天大学 | 一种对个性化推荐结果进行优化的fr方法 |
CN108415926A (zh) * | 2018-01-15 | 2018-08-17 | 大连理工大学 | 一种消除原始评分数据评分噪声的协同过滤推荐方法 |
-
2019
- 2019-04-28 CN CN201910348064.3A patent/CN110059257B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102073720A (zh) * | 2011-01-10 | 2011-05-25 | 北京航空航天大学 | 一种对个性化推荐结果进行优化的fr方法 |
CN108415926A (zh) * | 2018-01-15 | 2018-08-17 | 大连理工大学 | 一种消除原始评分数据评分噪声的协同过滤推荐方法 |
Non-Patent Citations (4)
Title |
---|
Dionisis Margaris等.Improving Collaborative Filtering"s Rating Prediction Accuracy by Considering Users" Rating Variability.《2018 IEEE 16th Intl Conf on Dependable, Autonomic and Secure Computing》.2018, * |
Xiang Gao等.An effective collaborative filtering algorithm based on adjusted user-item rating matrix.《2017 IEEE 2nd International Conference on Big Data Analysis (ICBDA)》.2017, * |
田松瑞.基于用户相似度加权的Slope One算法.《软件》.2016,第37卷(第4期),第27-59页. * |
陈杰.推荐***的协同过滤、矩阵分解和k近邻方法及其优化.《万方数据》.2017, * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11869015B1 (en) | 2022-12-09 | 2024-01-09 | Northern Trust Corporation | Computing technologies for benchmarking |
Also Published As
Publication number | Publication date |
---|---|
CN110059257A (zh) | 2019-07-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Koohi et al. | A new method to find neighbor users that improves the performance of collaborative filtering | |
CN110162693B (zh) | 一种信息推荐的方法以及服务器 | |
CN104063481B (zh) | 一种基于用户实时兴趣向量的电影个性化推荐方法 | |
CN105138653B (zh) | 一种基于典型度和难度的题目推荐方法及其推荐装置 | |
CN107451894B (zh) | 数据处理方法、装置和计算机可读存储介质 | |
CN109241203B (zh) | 一种融合时间因素的用户偏好和距离加权的聚类方法 | |
CN103678518B (zh) | 一种推荐列表调整方法和装置 | |
CN106844637B (zh) | 基于正交与聚类修剪改进多目标遗传算法的电影推荐方法 | |
CN110503531A (zh) | 时序感知的动态社交场景推荐方法 | |
CN110059257B (zh) | 基于评分修正的项目推荐方法 | |
CN107256241B (zh) | 基于网格与差异替换改进多目标遗传算法的电影推荐方法 | |
CN105354260B (zh) | 一种融合社会网络和项目特征的移动应用推荐方法 | |
CN104462383A (zh) | 一种基于用户多种行为反馈的电影推荐方法 | |
CN108334592A (zh) | 一种基于内容与协同过滤相结合的个性化推荐方法 | |
CN109471982B (zh) | 一种基于用户和服务聚类QoS感知的Web服务推荐方法 | |
CN106846029B (zh) | 基于遗传算法和新型相似度计算策略的协同过滤推荐算法 | |
CN107025311A (zh) | 一种基于k近邻的贝叶斯个性化推荐方法及装置 | |
Do et al. | Dynamic weighted hybrid recommender systems | |
Puntheeranurak et al. | An Item-based collaborative filtering method using Item-based hybrid similarity | |
KR101708254B1 (ko) | 협업적 필터링과 캐릭터 넷을 이용한 스토리 기반의 영화 추전 시스템 및 방법. | |
Chen et al. | A fuzzy matrix factor recommendation method with forgetting function and user features | |
Yang et al. | A collaborative filtering recommendation algorithm based on user clustering with preference types | |
Maneeroj et al. | Hybrid recommender system using latent features | |
Kannikaklang et al. | A hybrid recommender system for improving rating prediction of movie recommendation | |
Shi et al. | Long-term effects of user preference-oriented recommendation method on the evolution of online system |
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: 20210219 |
|
CF01 | Termination of patent right due to non-payment of annual fee |