基于用户兴趣变化和评分差异的个性化推荐算法研究
发布时间:2020-10-31 05:29
随着我国互联网的迅速普及以及网络用户的迅猛增加,使得网上信息量呈爆炸式增长,人们在茫茫信息中很难找到自己想要获取的内容。为了解决此类问题,个性化推荐系统应用而生。其通过收集用户的日常浏览行为,建立相关算法模型来挖掘出用户的真正喜好。其中推荐系统的核心内容就是推荐算法。协同过滤推荐算法是当前推荐系统中应用最为广泛,技术最为成熟的推荐算法之一。然而随着数据量的增加,应用规模的增大,传统的推荐算法也暴露出许多不足之处,例如数据量急剧扩充使得数据变得极具稀疏,从而影响了推荐的准确性。因此,针对传统的协同过滤推荐算法存在的这些问题,本文提出了一种基于用户兴趣变化和评分差异的个性化推荐算法。本文主要的研究工作如下:(1)用户和项目数量的急剧扩充,使得评分矩阵变得异常稀疏,从而影响了推荐算法的准确性。针对这个问题,改进传统的slope one算法进行用户评分矩阵填充。首先对用户进行k-means聚类,然后在目标用户类簇中进行项目评分差的计算;其次对目标项目预测评分时,充分考虑到了项目之间影响力差异和项目相似性,最后对矩阵完成填充。实验证明,这种改进算法有效缓解了数据稀疏性和提高了填充质量。(2)以往的推荐算法常常仅利用评分信息,使得推荐结果的准确性偏低。针对这个问题,提出融合用户兴趣和评分差异的协同过滤推荐算法。首先,将TF-IDF思想运用到用户对标签的权重计算中,同时为了洞悉用户兴趣变化,通过指数衰减函数和时间窗口相结合的方式来加以捕捉;其次,根据历史评分矩阵,充分考虑用户评分值差异,评判准则差异,影响力差异和项目影响差异影响因子,定义了一种评分差异相似性度量算法;最后将用户兴趣相似性和评分差异相似性进行加权融合,获取更加准确的用户邻居,使得对目标项目评分预测更加准确,实验表明,提出的算法提高了推荐质量。(3)将以上的两种算法进行顺序组合,提出了基于用户兴趣变化和评分差异的个性化推荐算法。在设计的融合用户兴趣和评分差异的协同过滤推荐算法中有一部分数据用到了用户评分,这部分数据存在着数据稀疏性问题,因此在计算之前,根据改进的slope one算法对这部分数据进行了扩充,最后通过数据集Movielens的实验表明,相比较于数据填充之前提出的算法有效的提高了推荐的准确度。
【学位单位】:中北大学
【学位级别】:硕士
【学位年份】:2020
【中图分类】:TP391.3
【部分图文】:
基于项目推荐Figure2-5Project-basedrecommendation
中北大学学位论文30实验中我们可以看到随着K值的增加MAE值逐渐降低,当K=6时,MAE值最低,然后随着K值的增加,MAE值又逐渐升高,因此我们认为当聚类个数K=6时,聚类效果最好。图3-1不同聚类数目对应的MAE值Figure3-1MAEvaluescorrespondingtodifferentclusternumbers实验2设置聚类K=6后,我们设置了两种算法对两种填充方式进行效果的验证。第一种算法利用本章改进的slopeone推荐算法(ISO)对原始稀疏数据进行扩充即矩阵填充,利用基于用户的协同过滤推荐算法(UBCF)对这种填充方式效果进行验证(ISOUBCF)。第二种算法利用slopeone推荐算法(SO)对原始稀疏数据进行扩充即矩阵填充,之后同样利用UBCF算法对这种填充方式效果进行验证(SOUBCF)。从实验中可以看出,两种算法都随着近邻数目N的增加MAE值逐渐变小,但是ISOUBCF的MAE值始终小于SOUBCF的MAE值,由此可以得到结论,通过ISO算法填充的用户项目评分矩阵比通过SO算法填充的矩阵效果要好。
中北大学学位论文31图3-2两种算法对应的MAE值Figure3-2MAEvaluescorrespondingtothetwoalgorithms3.5本章小结针对传统的slopeone推荐算法在计算时没有考虑到不同项目类型会影响项目评分差计算,没有考虑到不同项目之间它们的影响力不同以及在计算项目评分差时利用到的是全体用户造成计算误差,而提出了一种改进的slopeone推荐算法。首先对用户做k-means聚类处理,以此为依据,在计算项目评分差时,利用的不再是全体用户,而是背景信息相似的用户集来减少无关用户引起的计算误差;然后,通过计算两个项目共同评价人数和评价过这两个项目的人数之比来确定项目之间影响力,根据项目的类型矩阵通过欧氏距离来衡量两个项目之间的相似度,在预测评分时加权处理,对稀疏数据进行扩充。从实验结果可以看到,改进的算法不仅提高了预测评分的准确度,而且解决了稀疏性问题。
【参考文献】
本文编号:2863509
【学位单位】:中北大学
【学位级别】:硕士
【学位年份】:2020
【中图分类】:TP391.3
【部分图文】:
基于项目推荐Figure2-5Project-basedrecommendation
中北大学学位论文30实验中我们可以看到随着K值的增加MAE值逐渐降低,当K=6时,MAE值最低,然后随着K值的增加,MAE值又逐渐升高,因此我们认为当聚类个数K=6时,聚类效果最好。图3-1不同聚类数目对应的MAE值Figure3-1MAEvaluescorrespondingtodifferentclusternumbers实验2设置聚类K=6后,我们设置了两种算法对两种填充方式进行效果的验证。第一种算法利用本章改进的slopeone推荐算法(ISO)对原始稀疏数据进行扩充即矩阵填充,利用基于用户的协同过滤推荐算法(UBCF)对这种填充方式效果进行验证(ISOUBCF)。第二种算法利用slopeone推荐算法(SO)对原始稀疏数据进行扩充即矩阵填充,之后同样利用UBCF算法对这种填充方式效果进行验证(SOUBCF)。从实验中可以看出,两种算法都随着近邻数目N的增加MAE值逐渐变小,但是ISOUBCF的MAE值始终小于SOUBCF的MAE值,由此可以得到结论,通过ISO算法填充的用户项目评分矩阵比通过SO算法填充的矩阵效果要好。
中北大学学位论文31图3-2两种算法对应的MAE值Figure3-2MAEvaluescorrespondingtothetwoalgorithms3.5本章小结针对传统的slopeone推荐算法在计算时没有考虑到不同项目类型会影响项目评分差计算,没有考虑到不同项目之间它们的影响力不同以及在计算项目评分差时利用到的是全体用户造成计算误差,而提出了一种改进的slopeone推荐算法。首先对用户做k-means聚类处理,以此为依据,在计算项目评分差时,利用的不再是全体用户,而是背景信息相似的用户集来减少无关用户引起的计算误差;然后,通过计算两个项目共同评价人数和评价过这两个项目的人数之比来确定项目之间影响力,根据项目的类型矩阵通过欧氏距离来衡量两个项目之间的相似度,在预测评分时加权处理,对稀疏数据进行扩充。从实验结果可以看到,改进的算法不仅提高了预测评分的准确度,而且解决了稀疏性问题。
【参考文献】
相关期刊论文 前10条
1 任看看;钱雪忠;;协同过滤算法中的用户相似性度量方法研究[J];计算机工程;2015年08期
2 张邦佐;桂欣;何涛;孙焕垚;杨晟雨;韩宇茹;;一种融合异构信息网络和评分矩阵的推荐新算法[J];计算机研究与发展;2014年S2期
3 张艳梅;王璐;;适应用户兴趣变化的社会化标签推荐算法研究[J];计算机工程;2014年11期
4 倪霓;罗毅;;关于视频推荐系统数据处理方法的分析[J];软件;2014年02期
5 李想;周良;;基于用户语义相似性的协同过滤推荐算法[J];机械设计与制造工程;2013年01期
6 涂金龙;涂风华;;一种综合标签和时间因素的个性化推荐方法[J];计算机应用研究;2013年04期
7 黄正;;协同过滤推荐算法综述[J];价值工程;2012年21期
8 黄创光;印鉴;汪静;刘玉葆;王甲海;;不确定近邻的协同过滤推荐算法[J];计算机学报;2010年08期
9 张锋;孙雪冬;常会友;赵淦森;;两方参与的隐私保护协同过滤推荐研究[J];电子学报;2009年01期
10 吴一帆;王浩然;;结合用户背景信息的协同过滤推荐算法[J];计算机应用;2008年11期
相关硕士学位论文 前1条
1 孙望;基于聚类与用户兴趣偏好的协同过滤推荐技术研究[D];北京工业大学;2017年
本文编号:2863509
本文链接:https://www.wllwen.com/shoufeilunwen/xixikjs/2863509.html