# 基于Python实现推荐系统
## 第一章 绪论
### 研究背景及意义
当今社会,互联网与移动互联网的普及与发展十分迅速,各类网络应用与移动 App 已经融入到了人们日常工作和生活的各个方面,比如即时通讯、社交网络、电子商务与电子支付等,人们的日常工作与生活已经离不开移动互联网。在互联网化趋势下,各个行业数据量呈爆炸式增长,人们逐渐从信息匮乏的时代走入了信息过载的时代。在 2011 年,IDC 的研究报告中显示,全球信息总量每过两年,就会增长一倍。而调查显示,这一增速仍在持续加快。10 年前,该机构预测 2020 年全世界的数据量将达 40ZB。而中国信息通信研究院 2020 年 12 月发布的大数据白皮书(2020 年)([http://www.caict.ac.cn/kxyj/qwfb/bps/202012/t20201229_367255.htm](http://www.caict.ac.cn/kxyj/qwfb/bps/202012/t20201229_367255.htm))中指出,根据国际权威机构 Statista 的统计和预测,2020 年全球数据产生量预计达到 47ZB,比十年前的预测有一个重量级的增长。2018 年 11 月 IDC 白皮书《DataAge2025》的预测表示,这一数字将在 2025 年来到 175ZB。这使得人们在获取丰富多彩的信息内容的同时,沉浸于信息海洋而难以及时、准确地获得满足其自身需要的信息。
信息过载的主要解决方法有两种:一是搜索,二是推荐。搜索是一种良好的解决方案,但搜索引擎解决的只是人们主动搜索数据的请求,而且需要人们对自己的需求有明确的认识,但是人们通常没有办法十分准确地描述出自己的需求和喜好,因此搜索没有办法满足人们日益增长的对个性化信息的需求。在这个背景下,推荐应运而生。凭借可以主动提供符合用户需求的信息这一优点,应用推荐算法的推荐系统已经被大量运用到各行各业中,成为了互联网中不可或缺的一个环节。我们平时在各个购物网站、新闻网站和影音网站都可以见到推荐系统的身影,比如淘宝、今日头条和 Netflix,这些公司的 APP 都会根据用户的兴趣来进行推送。
![](https://www.writebug.com/myres/static/uploads/2021/11/20/beed5b9723d2378194b737f7c22a501e.writebug)
图 1 手机淘宝的推荐页
协同过滤是迄今为止较为成功、使用最广泛的推荐算法之一。亚马逊和 Netflix 都是应用协同过滤而大获成功的网站。从思路上来说,推荐系统在为用户建立定制化服务时,首先获取并分析用户的各类数据,然后学习用户的偏好和兴趣从而为用户推荐他所需要的信息和服务。近年来,帮助用户快速找到自己所需信息的推荐技术成为计算机领域研究的热点。然而,因为推荐系统进行推荐,首先需要收集大量的用户行为和使用习惯,例如用户的评分记录、浏览记录和购买信息等。而且用户行为数据越丰富,得到的推荐结果也就相对越准确。也正是因此,这些信息中存在着泄露用户个人隐私的风险。2006 年,AOL 发布了 Web 搜索日志数据集,其中包含了 650000 用户三个月内的搜索记录。AOL 将用户的 user id 隐去,以随机数字代替。然而 No.4417749,一位妇人 Arnold 仍被找了出来。搜索日志中包含她的姓,附近地址的名字,生活信息等,攻击者将这些信息与 phonebook 结合找出了这位 No.4417749 的真实身份。2009 年,Netflix 发布了电影评分数据集,用于一项数据挖掘竞赛。该竞赛希望能够通过用户的历史评分来预测用户对电影的偏好。数据包括用户对一系列电影的评分记录,经匿名化处理抹去了用户 id。然而若攻击者有某个用户的部分评分记录,就能够很快判断出这个用户是否出现在了数据集中。攻击者通过 IMDB 用户的若干评分记录来定位它在数据集中的位置,从而该用户的整条记录都被发掘。
随着使用互联网应用的用户人数不断增加和互联网应用使用频率的不断提高,隐私保护成为了一个非常重要的研究方向。尽管推荐系统有其便捷性和高效性,但是对用户隐私的威胁成为了该系统在实际应用中的一个很大的障碍。如果用户想要获得更加有效的推荐,则需要提供他们自己的评分数据或者浏览记录,目前还没有一个具体的政策来保护用户隐私问题。前面说到一些公司会把某些数据集公开,这是一种侵害用户隐私的行为。更恶劣的,一些恶意的推荐系统在收集到用户数据之后,会将其出售以获得高额利润。有时候,即使不是一个恶意的推荐系统,数据的意外泄露或者第三方应用的恶意插件也会入侵到数据库中盗取用户的隐私数据。笔者在写此篇论文时,个人数据似乎也遭到了泄露:笔者用电脑在百度搜索了一个旅游景点,不久后手机端的一个视频软件就推送了该旅游景点的攻略。这样的隐私威胁使用户不愿意再交出个人的数据或制造虚假数据,从而降低了数据集的量级和准确度。若想鼓励用户更广泛地参与推荐系统,需要在推荐系统中考虑隐私保护使得用户隐私数据不被泄露。
在隐去敏感数据、传统加密技术和改变数据内容都无法起到显著效果时,Cynthia Dwork 在 2006 年提出的差分隐私机制解决了这些传统方法的缺陷。它定义了一个极为严格的攻击模型,通过对数据集中的原始信息或者统计数据添加噪声来实现对隐私的保护。因此,即便攻击者拥有除去目标隐私信息外的所有背景知识,数据依然可以得到有效的保护。差分隐私的优点使得它受到国内外学者的广泛关注和研究。但是目前国内外所研究的差分隐私方向大都还只是基础理论或者数据发布领域,在数据挖掘方向的应用研究还不是很多,特别是涉及推荐系统的隐私保护研究领域,目前国内外相关的研究还很少。由于差分隐私保护在实际的应用过程中,大多是通过对数据集或者算法的输出结果中添加噪声来实现,如果不恰当的使用,则会带来不必要的开销,造成数据可用性降低和推荐精确度降低的情况。因此差分隐私在实际应用中,通常会和实际的算法本身相结合,才能在提供差分隐私保护的同时,不影响数据本身的分析与使用。
因此,研究差分隐私保护技术与协同过滤推荐算法的有机结合,均衡隐私保护和推荐精度,在能提供隐私保护的情况下,降低推荐算法的准确度的损失,在理论与应用层面都具有十分重要的意义。
### 国内外研究现状
推荐系统已经经历了几十年的风雨,能有今天的成就,要归功于研究者们的辛勤耕耘。
自从协同过滤于 1992 年被正式提出以后,通过不断地被赋予更多的含义和技术创新,已经成为最流行的推荐算法之一,但一些典型问题如数据稀疏问题等阻碍着其更进一步地发展。当数据非常稀疏时,用户实际的相似度很难用如今的相似度计算方法来衡量,有时会将不相似的用户选为目标用户的邻居用户,进而影响推荐效果。Lyle 等人提出了基于聚类的协同过滤方法,以用户为例,首先将用户分组到某个集群中,然后将目标用户也分配至最相似的那个集群中,最后在该集群中为目标用户寻找邻居进行推荐。对于维度较高的大规模数据集,使用这类方法之前还需要进行降维或采样。之后,有些研究者通过采用不同的聚类策略来达到更优的推荐效果,但是在可扩展性上表现得不尽如人意。
自 NetFlix 大�
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
共77个文件
png:60个
py:12个
docx:2个
本文的主要研究内容如下: • 分析了在推荐系统中加入差分隐私的重要性和必要性,介绍了推荐系统隐私保护的研究背景和目前国内外推荐系统、差分隐私技术以及二者结合产物的研究现状。 • 推荐系统概述。介绍推荐系统的主要分类方法和对于协同过滤推荐算法的研究;介绍了协同过滤算法的主要步骤:收集用户偏好、找到相似的用户或者物品、计算并推荐。 • 差分隐私概述。分析了差分隐私的概念和该模型相对于传统安全模型的优势,研究了差分隐私的性质和常用的实现机制。 • 基于差分隐私的协同过滤推荐系统的设计、实现与测试。基于前面的理论知识,设计了一个使用基于用户的协同过滤的推荐系统,其中相似度采用两种方法计算,并使用差分隐私将推荐结果进行加密。然后将设计出来的系统应用于 MovieLens 的两个不同规模的数据集上进行实验比较和分析,通过测试,找到可以相对较好地平衡推荐结果准确度和隐私保护程度的隐私预算。
资源推荐
资源详情
资源评论
收起资源包目录
基于Python开发带差分隐私采用协同过滤的推荐系统 毕业设计.gz (77个子文件)
recommender-system_python
data
ml-latest-small.zip 955KB
LICENSE 1KB
差不多搞测试去
code
2021_4_30_应该是搞定了多人用户推荐.py 11KB
2021_5_10_可循环出数据_服务器版.py 11KB
2021_4_30_搞定了多人用户推荐_服务器精简版.py 9KB
2021_5_10_召回cos加入RMSE_服务器版.py 10KB
2021_5_12_写入表格深夜放服务器跑版.py 13KB
2021_5_14_换评价指标版.py 12KB
2021_4_30_搞定了多人用户推荐_服务器版.py 11KB
2021_5_12_深夜放服务器跑调整参数版.py 13KB
中期
code
2021_4_25_demo.py 12KB
demo_of_demo.py 11KB
2021_4_28_demo.py 10KB
2021_4_29_demo.py 11KB
img
55-4780c8054d7e2ed99af478dffe79d0b4.png 228KB
10-164827dae8612332150fde21ea45f219.png 599B
12-d4f407519965feaeab8493d26938be3b.png 536B
51-eed46564190a144355ca69fb68983bc6.png 4KB
23-21652563562fe4e09f7305c74c5090c2.png 2KB
15-64a9363f9e691ad7778ca9705f2b946c.png 280KB
43-fb6cef3e4094c361a815b16a9146d4e0.png 910B
36-e63bbe772b075454ee79c162226ed395.png 798B
34-ba9d6c63e763c221183bdfbd7ab83201.png 298B
56-08aeff32dc4059d5d5e9984870f421e2.png 845B
30-a2efec1f2b63a81ae5de773f18cde616.png 466B
39-6eb08aaf32c070d994966bbfd5c81907.png 436B
28-132d0fa55e2e16558b8c0da1a83c3673.png 241B
20-e891dd01276d3e54f95b24f817ac4291.png 219B
31-7b9848e4def05ed9c2211d84c7789f7f.png 859B
26-e7b974593a1b30e3ffb5f3045861f6d3.png 280B
49-7cdd9b26e9969c18c076aeb7500f3e6e.png 210B
42-c8b9876547709845952458076b9b1498.png 319B
32-e78561e45c47578cd7795b916f90b09f.png 2KB
9-538034d980f1e8c72778f4d2a70c1292.png 2KB
24-084ac27be9f85b3d6e8f8c946e37564c.png 58KB
7-519a0eb24548a60d242876002f9259f2.png 3KB
58-37c4db064a768db79da0d7abe8b3b9ae.png 274B
33-66559aa81b307bf3afccca0f1a588113.png 426B
3-1d0c18c687d8604beec5b44e4f17135c.png 343B
1-5d68ad708e2efb41a6a7c78bf1d19e85.png 204KB
4-b6c5564324de81576dabbe8a5a7811d0.png 332B
18-a0c209ac67a54ebdc8a11ba8e438f2e8.png 376B
41-d412ddb4e5e7ce07fa991a6c7198252d.png 332B
46-3538daae58afd5797c93485c0f970825.png 1KB
48-3538daae58afd5797c93485c0f970825.png 1KB
8-f6f5bfbc3c269ca24cfb2da6f504290f.png 5KB
11-8ba90f8298da1e56b854f93b899c4795.png 567B
47-9eb4a05a8331edae83b307ec76b6e591.png 396B
35-5b09ff7590b7d2d4313c05abec9ba6b6.png 334B
22-e891dd01276d3e54f95b24f817ac4291.png 219B
53-ed1bdb6a8265bc2ae32ea2d8a2b82aa6.png 3KB
14-46b07724f52a1a34153f46e6ebbd5d54.png 365B
29-1943b0e07d3807a1edeeb1b349523602.png 503B
38-d819176f5d2572e5a175a8ceb0627690.png 2KB
25-08df8cd8d715fd24eccc8ee353b4f083.png 263B
57-b2395940839f279520ec333dbc2f2e9a.png 356B
44-e891dd01276d3e54f95b24f817ac4291.png 219B
54-69155eb22d79f324f63139e570237926.png 1KB
52-19712ebc82528e5635b6687ed774e17d.png 3KB
19-b6cc8ab474ccf4c1ed5767380adcb030.png 2KB
17-045365da085a5fac97abaa9b63929ea8.png 329B
40-37b825d52f605fb26a3d9dcdd9c5d9e9.png 542B
45-ef67da5a7e24b14a56fcef89634065c3.png 392B
37-f2615d0312f86419c40c6449bf937cdb.png 1KB
6-06d7111aa29ecddedd373b2730b8dd7c.png 397B
13-ec3e9b66812773ab9473b506153fd817.png 452B
5-6b3af2af98c5e06ac0920cbacf4403eb.png 380B
60-9f61371c405853fdc2387257bd071d9a.png 544B
16-cf29a6a1dc3b38b81083f08244348ff8.png 323KB
59-1d0c18c687d8604beec5b44e4f17135c.png 343B
27-f9e21881ae633f435f6cd23f25cc5f72.png 428B
21-b96c1ecbdcdcd599b6f0f8d575bba17c.png 260B
50-6b4cc2e4f7f0033823cf40c1237e42d3.png 5KB
2-4490e75f3144a0d25842aad0b9e5a46f.png 32KB
论文
5.5 稿.docx 1.27MB
格式模版_demo.docx 71KB
README.md 38KB
共 77 条
- 1
甜辣uu
- 粉丝: 8388
- 资源: 1103
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
- 3
前往页