CN104751353A - 基于聚类和Slope One预测的协同过滤方法 - Google Patents
基于聚类和Slope One预测的协同过滤方法 Download PDFInfo
- Publication number
- CN104751353A CN104751353A CN201510169934.2A CN201510169934A CN104751353A CN 104751353 A CN104751353 A CN 104751353A CN 201510169934 A CN201510169934 A CN 201510169934A CN 104751353 A CN104751353 A CN 104751353A
- Authority
- CN
- China
- Prior art keywords
- collaborative filtering
- sim
- similarity
- project
- cluster
- 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.)
- Pending
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
基于聚类和Slope One预测的协同过滤方法。针对传统协同过滤算法用户评分矩阵稀疏和扩展性问题,引入项目属性相似性改善Slope One预测模型,并将其与基于用户的聚类相结合应用于协同过滤推荐,以降低用户评分矩阵的稀疏性,提高目标用户最近邻居的查询速度,降低搜索开销。实验结果表明,本发明的协同过滤方法有效地提高了推荐质量。
Description
技术领域
本发明涉及一种协同过滤方法,尤其涉及基于聚类和Slope One预测的协同过滤方法。
背景技术
随着电子商务的发展,电子商务的信息过载问题越来越严重,海量的商品信息,必然带来信息的冗余。推荐系统可以模拟销售人员向客户推荐商品,因此在电子商务中得到广泛的应用。目前研究人员提出了多种推荐方法,其中协同过滤推荐是推荐系统中最有效最成功的推荐算法。然而,在实际应用中,协同过滤推荐算法还存在一些局限性,随着系统规模的扩大和用户数量的增加,评分矩阵的维数不断增加,但实际评分数据稀少,导致推荐系统的实时性和准确度都有所降低,邻居用户的查找不够准确,从而影响推荐质量和效率。
针对数据的稀疏性,很多学者提出了预先对评分矩阵填充的方法。这些方法在一定程度上降低了评分数据的稀疏性,提高了推荐的质量,但仍存在一些不足。综上所述,迫切需要研究一种新的协同过滤方法。
发明内容
针对协同过滤推荐算法存在预测精度低,聚类准确性差等问题,本发明研制一种基于聚类和Slope One预测的协同过滤方法。
本发明其特征在于,包括以下步骤:
(1)根据皮尔逊相似度公式计算项目i和项目j的属性相似性,记为sims(i,j);
(2)根据现有项目的既得评分,组成前述的评分矩阵,计算两个项目之间的评分相似性,记为simr(i,j);
(3)将前两步所得结果进行线性组合,组合结果作为最终的综合相似性, 记为sim(i,j):sim(i,j)=αsims(i,j)+(1-α)simr(i,j);
(4)对sim(i,j)按从大到小排序。取相似度最大的前kn个项目作为邻居项目,从而得到目标项目的邻居项目集I={i1,i2,i3…ikn},在这个邻居项目集的基础上,对目标用户运用加权SlopeOne算法进行预测,将预测评分填入空缺的评分矩阵。
所述项目i和j的相同属性越多,相似度越高。当两项目具有完全相同的属性时,我们可认为这是同一个项目;
所述α代表项目属性所占的比重,其中α∈(0,1),可以根据经验或者专家建议进行调节,得到最优的推荐结果。
附图说明
图1是基于聚类和Slope One预测的协同过滤方法实施流程图。
图2是本发明SlopeOne模型与传统SlopeOne模型MAE对比图。
图3是本发明和传统SlopeOne模型在数据集上的对比图。
图4是引入用户聚类的推荐和传统协同过滤推荐的MAE对比图。
图5是引入用户聚类的推荐和传统推荐的对比图。
图6是10个目标用户下本发明方法和传统协同过滤推荐的MAE对比图。
图7是10个目标用户下本发明方法和传统协同过滤推荐实验对比。
图8是15个目标用户下本发明方法和传统协同过滤推荐的MAE对比图。
图9是15个目标用户下本发明方法和传统协同过滤推荐实验对比。
图10是4种方法实验结果对比图。
具体实施方式
为更好地理解本发明,下面结合附图和具体实施方式对本发明进行更为详细描述。在以下的描述中,当已有的现有技术的详细描述也许会淡化本发明的主题内容时,这些描述在这儿将被忽略。
图1是本发明基于聚类和Slope One预测的协同过滤方法实施流程图。在本实施例中,本发明的基于聚类和Slope One预测的协同过滤方法包括以下步骤:
首先验证基于项目属性相似的SlopeOne预测模型对协同过滤推荐的有效性,然后验证用户聚类对协同过滤推荐的有效性,最后验证基于以上两者结合的算法对推荐质量是否提高。
本发明采用Movielens数据集,该数据集包括943个用户对1682部电影的100000条评分。其中评分数据从1到5,评分越高,表示用户对电影越喜欢。为了对比本文算法效果,减小实验误差,实验采用5折交叉法。每次从数据集中抽取250个用户和250部电影,组成1个训练数据集,对应训练数据集,抽取相应的1个测试数据集,总共抽取5组这样的数据集。实验过程采用以上5组数据集,分别对5个训练集和5个测试集进行实验,将实验结果取平均作为最终结果。
(1)基于项目属性相似的SlopeOne预测模型有效性验证
分别将传统SlopeOne模型和基于项目属性相似的SlopeOne预测模型应用到协同过滤推荐。选取15个目标用户,邻居用户数目分别从k=10递增到k=50,每次增加10个。分别对5组数据进行实验,最后取平均值作为实验结果,用图2-图3表示,实验结果表明,基于项目属性相似的SlopeOne预测模型应用于推荐系统后,推荐误差明显小于传统SlopeOne预测的推荐。同时,计算过程大大简化,减小了计算开销,推荐效率得到提高。
(2)基于用户特征的聚类有效性验证
将引入用户聚类的推荐算法与传统协同过滤推荐算法进行对比实验。本发明的初始聚类是根据用户的年龄划分为7个聚类,然后不断进行迭代,将聚类后的用户应用到协同过滤推荐中。选取15个目标用户,邻居用户数目分别从k=10递增到k=50,每次增加10个。分别对5组数据进行实验,最后取平均值作为实验结果,用图4-图5表示,实验结果表明,引入用户特征聚类的推荐算法的推 荐误差明显减小,在取较少的邻居用户时,就可取得较好的推荐结果。在邻居用户数目继续增大时,推荐误差增大或不稳定,这是因为聚类过程使用户空间变小,在邻居用户数目过大时,用户间的实际相似度已经很低,并非真正意义的最近邻,从而影响推荐结果。因此,实际应用中不宜选取过多的邻居用户。
(3)基于SlopeOne预测模型和聚类的协同过滤算法有效性验证
将基于SlopeOne预测模型和聚类的协同过滤算法与传统的协同过滤推荐算法进行对比实验。分别对5组数据进行实验,最后取平均值作为实验结果。
实验采用逐渐增加目标用户数目的形式,对每组数据集分别取10、15个目标用户进行实验,并取每组用户误差平均值作为结果。随目标用户数目的增大,有利于平衡误差。每次实验,目标用户都是随机抽取。
从图6-图7可以看出,当选取10个目标用户时,本发明提出的方法不论最近邻居数目的多少,都优于或近似于传统算法。尤其是在最近邻居数目少的情况下,效果更明显。
由图8-图9可以看出,随着相似邻居数目的增加,本发明提出的方法从整体上要优于传统协同过滤推荐算法,并且当相似邻居数目达到20时,推荐已经比较稳定。同时,邻居用户数目的减少,使搜索空间减小,可大大提高推荐的效率。
取以上15个目标用户,将本发明方法、传统推荐算法、只引入基于项目属性相似的SlopeOne预测模型的推荐算法和只引入基于用户特征聚类的推荐算法的实验结果数据绘制在同一张折线图上,比较其MAE,实验对比如图10所示。
将本发明方法与只引入基于项目属性相似SlopeOne预测模型的推荐算法或只引入基于用户特征聚类的推荐算法对比可知,虽然后面二者比传统算法在精度上有所提高,但是随着邻居用户数的增大,推荐效果的提升有限,推荐质量不稳定。这是由于数据过于稀疏的情况下,通过本发明SlopeOne或聚类处理以后,虽然在一定程度上排除了不相关用户的影响,但也对数据进行了降维,当 最近邻居数目过大以后,用户实际的相似程度却变得很低,导致当邻居用户数目过大时,推荐质量降低。而本发明方法弥补了以上两种算法的不足,降低了数据稀疏程度,缩小相似邻居搜索空间,既提高推荐效率,又提高了推荐的精度,使推荐更有效。
尽管上面对本发明说明性的具体实施方式进行了描述,但应当清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。
Claims (2)
1.基于聚类和Slope One预测的协同过滤方法,其特征在于,包括以下步骤:(1)根据皮尔逊相似度公式计算项目i和项目j的属性相似性,记为sims(i,j);(2)根据现有项目的既得评分,组成前述的评分矩阵,计算两个项目之间的评分相似性,记为simr(i,j);(3)将前两步所得结果进行线性组合,组合结果作为最终的综合相似性,记为sim(i,j):sim(i,j)=αsims(i,j)+(1-α)simr(i,j);(4)对sim(i,j)按从大到小排序。取相似度最大的前kn个项目作为邻居项目,从而得到目标项目的邻居项目集I={i1,i2,i3…ikn},在这个邻居项目集的基础上,对目标用户运用加权SlopeOne算法进行预测,将预测评分填入空缺的评分矩阵。
2.根据权利要求1所述的基于聚类和Slope One预测的协同过滤方法其特征在于:权利要求1中(1)所述项目i和j的相同属性越多,相似度越高。当两项目具有完全相同的属性时,我们可认为这是同一个项目;
权利要求1中(3)所述α代表项目属性所占的比重,其中α∈(0,1),可以根据经验或者专家建议进行调节,得到最优的推荐结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510169934.2A CN104751353A (zh) | 2015-04-10 | 2015-04-10 | 基于聚类和Slope One预测的协同过滤方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510169934.2A CN104751353A (zh) | 2015-04-10 | 2015-04-10 | 基于聚类和Slope One预测的协同过滤方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104751353A true CN104751353A (zh) | 2015-07-01 |
Family
ID=53590983
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510169934.2A Pending CN104751353A (zh) | 2015-04-10 | 2015-04-10 | 基于聚类和Slope One预测的协同过滤方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104751353A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106649540A (zh) * | 2016-10-26 | 2017-05-10 | Tcl集团股份有限公司 | 一种视频推荐方法及系统 |
CN106897911A (zh) * | 2017-01-10 | 2017-06-27 | 南京邮电大学 | 一种基于用户和物品的自适应个性化推荐方法 |
CN107807978A (zh) * | 2017-10-26 | 2018-03-16 | 北京航空航天大学 | 一种基于协同过滤的代码评审者推荐方法 |
CN108133040A (zh) * | 2018-01-10 | 2018-06-08 | 苏州科技大学 | 一种基于Hadoop的加权Slope One推荐算法 |
CN108830315A (zh) * | 2018-05-31 | 2018-11-16 | 大连理工大学 | 一种评分数据噪声消除方法 |
CN109033242A (zh) * | 2018-07-05 | 2018-12-18 | 南京师范大学 | 一种结合评分和项目相关性的协同过滤推荐方法 |
CN111159573A (zh) * | 2019-12-30 | 2020-05-15 | 广东工业大学 | 一种基于项目的内容推荐方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102841929A (zh) * | 2012-07-19 | 2012-12-26 | 南京邮电大学 | 一种综合用户和项目评分及特征因素的推荐方法 |
CN103678431A (zh) * | 2013-03-26 | 2014-03-26 | 南京邮电大学 | 一种基于标准标签和项目评分的推荐方法 |
-
2015
- 2015-04-10 CN CN201510169934.2A patent/CN104751353A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102841929A (zh) * | 2012-07-19 | 2012-12-26 | 南京邮电大学 | 一种综合用户和项目评分及特征因素的推荐方法 |
CN103678431A (zh) * | 2013-03-26 | 2014-03-26 | 南京邮电大学 | 一种基于标准标签和项目评分的推荐方法 |
Non-Patent Citations (2)
Title |
---|
JINGJIN WANG 等: ""A collaboration Filtering Recommendation Algorithm Based On User Clustering and Slope One Scheme"", 《THE 8TH INTERNATIONAL CONFERENCE ON COMPUTER SCIENCE & EDUCATION(ICCSE2013)》 * |
王小亮: ""基于协同过滤的个性化推荐算法的优化和应用"", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106649540A (zh) * | 2016-10-26 | 2017-05-10 | Tcl集团股份有限公司 | 一种视频推荐方法及系统 |
CN106897911A (zh) * | 2017-01-10 | 2017-06-27 | 南京邮电大学 | 一种基于用户和物品的自适应个性化推荐方法 |
CN107807978A (zh) * | 2017-10-26 | 2018-03-16 | 北京航空航天大学 | 一种基于协同过滤的代码评审者推荐方法 |
CN107807978B (zh) * | 2017-10-26 | 2021-07-06 | 北京航空航天大学 | 一种基于协同过滤的代码评审者推荐方法 |
CN108133040A (zh) * | 2018-01-10 | 2018-06-08 | 苏州科技大学 | 一种基于Hadoop的加权Slope One推荐算法 |
CN108830315A (zh) * | 2018-05-31 | 2018-11-16 | 大连理工大学 | 一种评分数据噪声消除方法 |
CN108830315B (zh) * | 2018-05-31 | 2021-06-04 | 大连理工大学 | 一种评分数据噪声消除方法 |
CN109033242A (zh) * | 2018-07-05 | 2018-12-18 | 南京师范大学 | 一种结合评分和项目相关性的协同过滤推荐方法 |
CN111159573A (zh) * | 2019-12-30 | 2020-05-15 | 广东工业大学 | 一种基于项目的内容推荐方法 |
CN111159573B (zh) * | 2019-12-30 | 2022-04-08 | 广东工业大学 | 一种基于项目的内容推荐方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104751353A (zh) | 基于聚类和Slope One预测的协同过滤方法 | |
WO2016191959A1 (zh) | 一种时变的协同过滤推荐方法 | |
CN110532479A (zh) | 一种信息推荐方法、装置及设备 | |
Subbian et al. | Recommendations for streaming data | |
Guo et al. | Personalized ranking with pairwise factorization machines | |
Eliyas et al. | Recommendation systems: Content-based filtering vs collaborative filtering | |
Liang et al. | A probabilistic rating auto-encoder for personalized recommender systems | |
KR20150023432A (ko) | 사용자 데모그래픽을 추정하는 방법 및 장치 | |
CN109460519B (zh) | 浏览对象推荐方法及装置、存储介质、服务器 | |
Kommineni et al. | Machine learning based efficient recommendation system for book selection using user based collaborative filtering algorithm | |
Zhou et al. | Online video recommendation in sharing community | |
CN104933156A (zh) | 一种基于共享近邻聚类的协同过滤方法 | |
US9147009B2 (en) | Method of temporal bipartite projection | |
CN109977299B (zh) | 一种融合项目热度和专家系数的推荐算法 | |
CN109710835A (zh) | 一种带有时间权重的异构信息网络推荐方法 | |
CN103500228A (zh) | 一种协同过滤推荐算法中改进的相似性度量方法 | |
CN103020153B (zh) | 一种基于视频的广告识别方法 | |
CN104008193B (zh) | 一种基于典型用户群组发现技术的信息推荐方法 | |
CN106202151A (zh) | 一种用于提高个性化推荐系统多样性的方法 | |
CN104933595A (zh) | 一种基于马尔科夫预测模型的协同过滤推荐方法 | |
CN105809275A (zh) | 一种物品评分预测方法及装置 | |
CN104965896B (zh) | 基于二次函数表示用户偏好的推荐方法及系统 | |
CN110598126B (zh) | 基于行为习惯的跨社交网络用户身份识别方法 | |
CN110059257B (zh) | 基于评分修正的项目推荐方法 | |
CN105718573B (zh) | 一种针对用户兴趣的关注关系提取及标注方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20150701 |