您当前的位置:首页>论文资料>基于协同过滤推荐算法的图书推荐研究

基于协同过滤推荐算法的图书推荐研究

资料类别:论文资料

文档格式:PDF电子版

文件大小:2.45 MB

资料语言:中文

更新时间:2024-12-20 08:35:58



推荐标签:

内容简介

基于协同过滤推荐算法的图书推荐研究 数学执车与率用
算法分析
基于协同过滤推荐算法的图书推荐研究
房振伟徐海燕廖真
(东南大学成贤学院,江苏南京210088)
摘要:随着信息技术以及互联网技术的飞速发展,在面对这个信息量过载的时代我们基本无法从海量的信息当中快建有效的找到自已所需的信息。传统的推荐算法电已经无法满定的人们的需求。协同过滤是推荐系统中最为广泛使用和最成功的技术之一,以其出色的建度和健壮性,在理论和实茂中都取得了快建的发展,并且已经在全球互联网领域突手可热。针对当前高校传统数宇图书馆已无法为用户提供准确的图书推荐服务,本文以图书推荐为例,提出了在协同过滤技术上的图书个性化推荐系统研究以及实现过程,并总结其优缺点。
关键词:雅荐系统:协同过滤;图书推荐
中图分类号:TP301 1协同过滤算法介绍
文献标识码:A
在1992年Goldberg等学者首先提出来协同过滤一词,他们将协同过滤技术使用到Tapestay的一个系统中,该系统主要是想解决 Xerox公司在PaloAlto的研究中心信息过载问题,而协同过滤又常被用于分辨其为特定用户可能感兴趣的物品,因此这些结论也常用来对其他相似顾客对有些物品感兴趣的分析。到目前为止,基于协同过滤推荐的技术和方法在实际的应用系统中能取得重大成就的同时,国内外学者也在理论上对协同过滤的推荐技术进行研究和改进,着力于提高个性化推荐的效果。协同过滤算法以其出色的计算速度和健壮性,在全球范围内特别是在互联网领域中,炙手可热,同时相较其他算法,协同过滤具有以下两个优势:第一,对推荐对象无特殊要求,对于复杂切抽象的资源也同样能够实现推荐;其次,只需要显式或者隐试的用户使用过的历史数据,而并不需要有关用户本身的属性,知识,并且不会对用户的推荐体验,带来一些负面影响"。
目前主要由两类协同过滤算法:其一是基于用户的协同过滤算法(user-based collaborativefiltering)、还有基于物品的协同过滤算法(item-basedcollaborativefiltering)和SlopeOne算法。由手基于用户的协同过滤算法存在数据稀疏性和算法扩展性两个重大间题。因此本文介绍的系统,所采用的是基于物品的协同过滤算法。
2对协同过滤算法过程的分析
(1)收集用户偏好,本项目中就是收集用户的借阅历史(2)计算物品(即已借图书)之间的相似度,这是协同过滤推荐算法中最关键的一步。在协同过滤中,两个物品是否能产生相似度,往往是因为它
def ItenSimilarity(train)
#calculate co-rated users between ftens
Cdict() Ndict()
for u,items in train.items():
tor 1 in users: N[i]+=1
for j in users:
if (i==i)
continuc criril+-1
calculate finial sinilarity matrix w
Wdict()
for i,related_itens in C.items():
for j,cij in related_items.itens(): w[i][5]-cij/sath.sqrt(N[i]*N[])
returnW
图1详细计算物品相似度的代码
文章编号:1007-9416(2017)04-0147-0)
们共同被很多用户所认同,也就是说,每个用户都可以通过用户本身对物品的历史兴题列表,从而给物品贡献相似度。在这里面蕴含一个假设条件,那就是每个用户对物品的兴趣,基本都局限在某些方面,因此,如果两个物品,能够属于许多用户的兴趣列表,那么这两个物品,就有可能就属手有限的几个领激,反过来说,如果两个物品能够属于很多用户的兴趣列表,那么也就有可能属于同一领域,从而来判断他们有很大的相似度
传统的计算相似度的方法有三种:基于余弦(Cosine-based)的相似度计算、基手关联(Correlation一based)的相似度计算和调整的余弦(Adjusted Cosine)相似度计算。经研究,在我们的图书推荐系统中,采用以下公式:
Wis
IN(G)nNG)
VNGING)
其中[N(i)和NG)分别表示喜欢物品I和物品的用户数量(变量),而N(I)门N()是即喜欢物品同时也喜欢物品的用户数量。此公式限制了物品的权重,可以避免了对热门物品所进行的推荐,从而也能够提高为用户所推荐自已喜欢物品的准确性。
详细计算物品相似度的代码如图1所示,其中C[证记录了同时喜欢物品和物品的用户数,
通过上述图,公式等得到物品相似度后,ItemCF也通过以下公式来计算用户u对一个物品的兴趣度:
Pu=wur eplens(sx
其中,N(u)是作为用户喜欢的物品的一个集合,而Si,K)是同物品最相似的,K个物品的集合,W,表示物品同的相似度,而r是用户对物品的兴趣情况。这个公式的所表示含义是:和该用户历史上感兴趣的物品,越相似的物品,越有可能在用户的推荐列表中所获得比较高的排名3。其实现代码如:
def Recommendation(train,user_id,w,k):
rank dict()
ru-train[user_id]
for i,pi in ru.items():
for j,wj in sorted(w[i].items(),/
key=itomgetter(1),reverso=True)[e:K]:
if j in ru:
continue rank[j]+=pi*wj return rank
·..下转第150页
收稿日期:201703-24
作者简介:房振伟(1983一),男,安微砀山人,硕士,单业于东南大学讲师,研究方向:计算机基础、大学生核心素养。
147
方方数据
上一章:离子型烟雾传感器在港口带式输送机电气系统中的应用 下一章:基于图像处理技术的火情监控系统设计与实现

相关文章

基于数据挖掘的个性化高校选课推荐算法研究 基于产量反应和农学效率的推荐施肥方法在东北春玉米上应用的可行性研究 加权挖掘算法在智慧 旅游景点推荐系统中的应用分析 基于用户行为日志的网站推荐 SY/T 6653-2013 基于风险的检查(RBI)推荐作法 北京大学教授推荐我最喜爱的书 单片机的C语言应用程序设计 马忠梅 推荐 SY/T 6926-2012 常压和低压储罐检验的推荐作法