摘 要本文对基于个性化图书推荐的协同过滤算法的设计方案进行实验,目的是为证实在真实用户的多标准评估过程中怎样产生数据集,从而找到一种科学的算法。并通过图书推荐的应用案例来说明算法,以验证其是否有效。

【关键词】个性化图书推荐 协同过滤算法 邻居选择

面对巨大的网络数据库,个性化推荐可以及时的追踪用户需求而针对性的优化信息服务的内容与手段,其能帮用户有效处理过载的信息。如今推荐系统已发展成能够产生个性化推荐亦或是引导用户通过个性化的形式到很大的空间中去选择自己的目标商品。本文为研究基于个性化图书推荐的协同过滤算法,通过模拟实验分析多标准推荐系统若干设计方案的有效性。

1 多标准协同过滤

所谓推荐系统就是帮客户找到其感兴趣或符合其需求的信息的手段,它主要是两个方面,一是预测某特定用户是不是喜欢某一特定项目,二是识别某个用户所感兴趣的项目。推荐问题可以作下述定义:c是全部用户的集合,s是所推荐的全部可能的项目,uc(s)是一功效函数uc(s):c×sR+,用来评价将项目s推荐给用户c是否适宜。假设该函数对整个c×s空间未知,仅在其部分子集中已知,需各用户c∈C可以预测S中项目s的功效函数uc(s),在S中,uc(s)未知,也就是∨c∈C,s=maxuc(s)。在大部分推荐系统内,函数uc(s)一般都只考虑项目的某一属性。

协同推荐是在某一用户被推荐以往与其有同样兴趣爱好的人感兴趣的项目,而协同过滤是基于有类似爱好的其他人的推荐去预测客户对新项目的兴趣。单属性协同过滤把问题空间定义成“用户-项目矩阵-评分矩阵”。而协同过滤的目标即为基于以往其他用户对此项目的评价,针对某一特定用户,预测其功效。

2 SVD因式分解以实现协同过滤

在设计实现推荐系统,选择推荐算法时,大多考虑协同过滤的使用,但是CF中经常使用的两种方法包括:neighbor-based方法和因式分解。作为一个搜索推荐系统,百度关键词系统中也使用了CF为用户推荐流量,考虑到可解释性。但因式分解会从全局考虑用户投票的影响,所以理论和实践上效果都会更好。

2.1 根据优先权的相似性算法

该算法与活动用户的属性wai(i=1,…,n)相比较看有类似的优先权。即推荐基于用户的意见,当选择某一项目时,分配类似的权重给每一评估标准。相似性计算就是测量用户a和用户c之间的属性矢量距离。相似性计算有以下2种。

(1)欧氏距离计算:

(2)余弦相似性:

邻居的形成通过2种手段,即相关权重阈值以及最大邻居数。为准确预测,并结合评分有3种办法。

(1)简单数学均值:

(2)加权平均值:

(3)均值离差:

2.2 SVD在推荐系统中的应用与实现

其中n表示用户数目,m表示物品数目,I[i][j]是用来表示用户i有没有对物品j评过分,因为我们只需要评过分的那些越接近越好,没评过的就不需要考虑,Vij表示训练数据中给出的评分,也就是实际评分,p(Ui,Mj)表示我们对用户i对物品j的评分的预测,结果根据两向量点乘得到,两面的两项主要是榱朔乐构拟合,之所以都加了系数1/2是为了等会求导方便。

具体公式为:

3 实验设计分析

针对此实验,考虑具有一定相似性计算的3个方案,即欧氏距离、余弦相似性以及皮尔逊相关。尚未考虑部分特定的方法针对特性加权,将该因素设置成1,邻居的形成应用到2个方法,也就是相关加权阈值以及最大近邻,最终结合评分设计3个方案。文章的目的是建设数字图书馆,宗旨是帮助用户寻找其所感兴趣的图书。用户经过注册后能够登录该系统,登录后需应用有关的评价标准。模拟系统用于形成一组200用户,200项目以及750评价的集合,这当中600评价用作该算法的训练集,其余150评价用作测试集。以上评价在模拟里进行处理时,会以80%20%的比例分配至训练集以及测试集中。对实验的分析时,应用2个性能评价办法。第一是准确度,第二是覆盖率,与其他算法对比,本文的算法在MAE指标上比以前的算法提高9.8%,时间复杂度降低19.7%,有效提高了图书推荐的准确率。

4 结语

文章用一组合成的数据集合,指出对个性化图书推进这个特定的应用,以及2种协同过滤算法的设计实验方案。此合成数据集合的多标准评估用某一合适的模拟产生,基于如此的数据集合的实验测试仅可用于初始评估,一旦能够得到真实用户的评估,就要重复进行实验。接下来的研究应是探索具有适应性的推荐系统,如此系统会动态的选择适宜的推荐算法抑或是按照评估数据集合的特性变化。

参考文献

[1]张迎峰.面向数字图书馆的个性化推荐算法研究[D].合肥:中国科学技术大学,2011.

[2]安德智,刘光明,章恒.基于协同过滤的图书推荐模型[J].图书情报工作,2011,55(1):35-38.

[3]张海荣,朱信忠,赵建民,等.一种优化的基于用户聚类的过滤推荐策略[J].计算机系统应用,2008(11):95-97.

[4]余力,刘鲁.电子商务个性化推荐研究[J].计算机集成制造系统,2004.10,10(10):1306-1313.

[5]曾艳,麦永浩.基于内容预测和项目评分的协同过滤推荐[J].计算机应用,2004.1,24(01):111-113.

[6]张怡文,岳丽华,张义飞. 基于共同用户和相似标签的好友推荐方法[J].计算机应用,2013,33(08):2273-2275.

[7]杨涛,曹树金.图书馆用户的个性化服务需求实证研究[J].大学图书馆学报,2011(02):76-85.

[8]许文青,林双平.融合热门度因子基于标签的个性化图书推荐算法[J].图书情报研究,2015(03):82-86.

作者单位

广西经贸高级技工学校 广西壮族自治区梧州市苍梧县 543199

计算机系统应用的书,基于个性化图书推荐的协同过滤算法相关推荐

  1. 《推荐系统》基于用户和Item的协同过滤算法的分析与实现(Python)

    1:协同过滤算法简介 2:协同过滤算法的核心 3:协同过滤算法的应用方式 4:基于用户的协同过滤算法实现 5:基于物品的协同过滤算法实现 一:协同过滤算法简介 关于协同过滤的一个最经典的例子就是看电影 ...

  2. 基于Spark MLlib平台的协同过滤算法---电影推荐系统

    协同过滤算法概述 基于模型的协同过滤应用---电影推荐 实时推荐架构分析     一.协同过滤算法概述 本人对算法的研究,目前还不是很深入,这里简单的介绍下其工作原理. 通常,协同过滤算法按照数据使用 ...

  3. 【推荐系统】基于MovieLens数据集实现的协同过滤算法

    利用用户行为数据 如何了解一个人呢? 通过用户留下的文字和行为了解用户兴趣和需求. 实现个性化推荐的最理想情况是用户在注册的时候主动告知其喜欢什么. 3个缺点: 现在的自然语言理解技术很难理解用户用来 ...

  4. 【回顾】推荐系统中基于深度学习的混合协同过滤模型

    近些年,深度学习在语音识别.图像处理.自然语言处理等领域都取得了很大的突破与成就.相对来说,深度学习在推荐系统领域的研究与应用还处于早期阶段. 携程在深度学习与推荐系统结合的领域也进行了相关的研究与应 ...

  5. 在线图书推荐网 Python+Django+Mysql开发技术 个性化图书推荐系统 协同过滤推荐算法在图书网站中的运用 基于用户、物品的协同过滤推荐算法 个性化推荐算法、机器学习、分布式大数据、人工智

    在线图书推荐网 Python+Django+Mysql开发技术 个性化图书推荐系统 协同过滤推荐算法在图书网站中的运用 基于用户.物品的协同过滤推荐算法 个性化推荐算法.机器学习.分布式大数据.人工智 ...

  6. 基于协同过滤算法为电视产品制订个性化推荐

    1 绪论 1.1 背景 在互联网技术日益发展和进步的时代,各种数据呈现井喷式增长状态,仅2017 年"双十一"天猫旗下购买物品所产生的交易额最终定格在 1682 亿元,其中,无线成 ...

  7. 使用Java+SSM(Spring+SpringMVC+Mybatis)如何开发个性化音乐推荐系统 在线音乐推荐网站 基于用户、项目的协同过滤推荐算法实现MusicRecommendSystemWeb

    使用Java+SSM(Spring+SpringMVC+Mybatis)如何开发个性化音乐推荐系统 在线音乐推荐网站 基于用户.项目的协同过滤推荐算法实现MusicRecommendSystemWeb ...

  8. 基于协同过滤 算法推荐系统图书推荐猜你喜欢

    基于协同过滤 算法推荐系统图书推荐 一 项目介绍 该项目有前台,有后台,前台主要是首页轮播图,最新发布图书,热门图书,图书总量,图书收藏量,用户注册量,图书分类,图书搜索,图书分页列表,图书详情,图书 ...

  9. Java语言springboot开发框架实现个性化美食推荐网 在线美食推荐系统 基于用户、物品的协同过滤推荐算法实现

    Java语言springboot开发框架实现个性化美食推荐网 在线美食推荐系统 基于用户.物品的协同过滤推荐算法实现WebFoodRecSystem 一.项目简介 1.开发工具和使用技术 IDEA/E ...

最新文章

  1. POJ-1122 FDNY to the Rescue!---Dijkstra+反向建图
  2. 全新版本仿网易云音乐来啦
  3. android volley 上传图片 和参数,Android使用Volley实现上传文件功能
  4. 网络爬虫--2.HTTP和HTTPS
  5. uniapp 创建与配置 tabbar
  6. iconfont 图标转为字体_App 中使用 Iconfont 的整套方案
  7. wordpress安装jquery插件失败_Contact Form 7插件_WordPress表单插件安装使用教程
  8. 将一个十进制转换为二进制,八进制,十六进制
  9. linux xargs命令_如何在Linux中使用xargs命令?
  10. okhttp post php,Android OkHttp 结合php 多图片上传实例
  11. itil 容量管理流程_ITIL 4管理实践之服务管理实践概述
  12. CAD标注快捷键有哪些?CAD标注快捷键命令大全
  13. linux audio device driver音频设备驱动
  14. python got an unexpected keyword argument
  15. 中国近代史纲要复盘 | 第一章——第四章思维导图梳理(复习专用)
  16. gog无效的验证码_GOG提供了Linux游戏,Steam Controller推测等等
  17. 计算机登录其他用户,限制用户登录到其他计算机
  18. 从SIEMAI到SIEM@AI | AI构建下一代企业安全大脑
  19. fatal: unable to auto-detect email address (got 'root@bogon.(none)')(4:散列问题解决方案)
  20. 华为HCIP-Datacom821(441-470)

热门文章

  1. PHP人民币小写数字转大写中文
  2. Zigbee 设置信道,PANID,发射功率现对z-stack里几个网络参数的设置以及如何获取总结一下。
  3. java8新特性学习笔记之唠唠“匿名内部类与lambda”
  4. Win7系统交互式服务检测关闭方法-
  5. Navicat for MySQL的安装
  6. 互联网(internet)、因特网(Internet)、万维网(World Wide Web)三者区别
  7. 【计算机网络】计算机网络、互联网、互连网、因特网、万维网
  8. 浏览器帧率(fps)对比:QQ,Firefox,Chrome,Edge
  9. 微信小程序 - 小技巧
  10. Intel AVX入门实践