版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于Slope one算法的电影推荐系统摘要:商业网站迅猛发展的时代已经到来,网上服务的交易方式正在改变着传统的商业模式。如果说过去的十年是搜索技术高速发展的十年,那么个性化推荐技术将作为下一个十年中最为重要的革新之一。目前几乎所有大型的商业网站,如亚马逊、淘宝网等,都不同程度地使用了各种形式的推荐系统。本文就推荐系统这一话题展开讨论,首先介绍了推荐系统的提出和发展过程,然后列举出了几种推荐系统的研究方法,其中,详细的描述了Slope one算法推荐系统的实现过程以及用Slope one算法编写程序完成了电影推荐系统。最后列举了几个推荐系统的实例。关键字:Slope one算法 推荐系统 数据
2、挖掘 个性化推荐一、 发展背景:随着Internet的日益普及,商业网站的蓬勃发展,如何提高商业网站的有效性,尤其是如何运用个性化推荐技术提供个性化服务来实现已逐渐成为一个能引起广泛兴趣的热点课题。虽然商业网站从“以站点为中心”向“以用户为中心”发展成为必然趋势。但目前国内大多数商业网站的商品推荐通常是:推荐热销产品;推荐相关产品;依据用户浏览历史的信息进行推荐。由 Daniel Lemire 教授在 2005 年提出的一个 Item-Based(基于条目)推荐算法,可应用于各类以网上商品销售为主业务的网上商店,以及提供文章、新闻、音乐、电影等“无形”的产品的网络站点。用于帮助商店经营者,网络
3、站点从事产品的个性化推荐,提高营销及服务质量,更好地挖掘潜在客户及客户的使用、购买潜能。同时也根据用户的喜好,网站会留下记录,当用户再次访问时,网站会推荐用户可能喜欢的东西,这样也方便了用户,用户无需浪费时间去搜索大量的信息。二、 现有推荐系统研究方法:1、 基于内容的推荐:基于内容的推荐(content-based recommendation)是指根据用户选择的对象,推荐其他类似属性的对象作为推荐,属于Schafer 划分中的Item-to-Item Correlation 方法.这类算法源于一般的信息检索方法.不需要依据用户对对象的评价意见.对象使用通过特征提取方法得到的对象内容特征来表
4、示,系统基于用户所评价对象的特征,学习用户的兴趣,从而考察用户资料与待预测项目相匹配的程度.对象内容特征(Content(s)的选取在目前的研究中以对象的文字描述为主,比如信息检索中最经典的文本特征是词频-倒排文档频率(term frequency-inverse document frequency,简称 TF-IDF).另一方面,用户的资料模型 ContentBasedProfile(c)取决于所用机器学习方法,常用的有决策树、贝叶斯分类算法、神经网络、基于向量的表示方法等,数据挖掘领域的众多算法都可以应用.2、 协同过滤推荐协同过滤推荐(collaborative filtering r
5、ecommendation)技术是推荐系统中最为成功的技术之一,它于 20 世纪 90 年代开始研究并促进了整个推荐系统研究的繁荣.大量论文和研究都属于这个类别.协同过滤的基本思想是:找到与当前用户ccur相似(比如兴趣和口味相似的其他用户cj,计算对象s 对于用户的效用值u(cj,s),利用效用值对所有s 进 行排序或者加权等操作,找到最适合ccur的对象s*.其基本思想非常易于 理解,在日常生活中,我们往往会利用好朋友的推荐来进行一些选择.协同过滤正是 把这一思想运用到推荐系统中来,即基于其他用户对某一内容的评价向目标用户进行推荐.基于协同过滤的推荐系统可以说是从用户的角度进行推荐的,并且
6、是自动的,也就是说,用户所获得的推荐是系统从用户购买或浏览等行为中隐式获得的,不需要用户主动去查找适合自己兴趣的推荐信息,如填写一些调查表格等.其另外一个优点是对推荐对象没有特殊的要求(而基于内容的推荐需要对推荐对象进行特征分析),能够处理非结构化的复杂对象,如音乐、电影等.同时,研究用户之间的关系需要大量的用户访问行为的历史数据,与社会网络研究有交叉点,有丰富的研究基础和广阔的前景.对协同过滤最早的研究有Grundy system, 后来的研究成果包括 Tapestry system, GroupLens, Ringo, PHOAKS system, Jester system等.
7、总体而言, 此类推荐算法可以分为两类:启发式(heuristic-based or memory-based)方法和基于模型(model-based)的方法。3、 基于知识的推荐:基于知识的推荐(knowledge-based recommendation)在某种程度上可以看成是一种推理(inference)技术.它不是建立在用户需要和偏好基础上推荐的,而是利用针对特定领域制定规则(rule)来进行基于规则和实例的推理(case-based reasoning).例如,文献34中利用饭店的菜式方面的效用知识,推荐饭店给顾客.效用知识(functional knowledge)是一种关于一个对象
8、如何满足某一特定用户的知识,因而能够解释需求和推荐的关系,用于推荐系统.效用知识在推荐系统中必须以机器可读的方式存在(ontology 本体知识库),例如 quickstep and foxtrot systems使用关于学术论文主题的ontology本体知识库向读者作推荐.4、 Slope one算法推荐:Slope One 是一系列应用于 协同过滤的算法的统称。由 Daniel Lemire和Anna Maclachlan于2005年发表的论文中提出。有争议的是,该算法堪称基于 项目评价的non-trivial 协同过滤算法最简洁的形式。该系列算法的简洁特性使它们的实现
9、简单而高效,而且其精确度与其它复杂费时的算法相比也不相上下。 该系列算法也被用来改进其它算法。当可以对一些项目评分的时候,比如人们可以对一些东西给出1到5星的评价的时候,协同过滤意图基于一个个体过去对某些项目的评分和(庞大的)由其他用户的评价构成的数据库,来预测该用户对未评价项目的评分。 如: 如果一个人给披头士的评分为5(总分5)的话,我们能否预测他对席琳狄翁新专辑的评分呢?这种情形下, item-based 协同过滤系统 根据其它项目的评分来预测项目的分值,一般方法为线性回归(). 于是,需要列出x2个线性回归方程和回归量,例如:当有1000个项目时,需要列多达1,00
10、0,000个线性回归方程, 以及多达2,000,000个回归量。除非我们只选择某些用户共同评价过的项目对,否则协同过滤会遇到过适(过拟合) 问题。三、 Slope one算法描述及实现过程:1、 算法原型:图例一(如图3-1所示): 图 3-1 算法演示图一如上图所示,UserA对ItemA的评分是4,对ItemB的评分是3,UserB对ItemA的评分是2,那么,预测UserB对ItemB的评分是多少呢?根据Slope One算法,2(34)1。图例二(如图3-2所示): 图 3-2 算法演示图二如上图所示,UserB 对 ItemB 的评分会是多少呢?股票上有个说法是平均值可以掩盖一切的异
11、常波动,所以股票上的各个技术指标是收集不同时间段的平均值的曲线图或是柱状图等。同样的,Slope One 算法也认为:平均值也可以代替某两个未知个体之间的打分差异,条目 A 条目B 的平均差值是: 4-3+(3-3)2=0.5也就是说人们对事物 A 的打分一般比事物 B 的打分要高 0.5,于是 Slope one 算法就猜测 UserB 对事物 B 的打分是 2 - 0.5 = 1.5。2、 加权算法:由上的两个示例对Slope One算法有了认识。如果有100个用户对ItemA和ItemB都打过分,有 1000 个用户对 ItemC 和 ItemB 也打过分。显然这两个 rating 差的
12、权重是不一样的。因此我们可以推测,计算方法是: 100×Rating 1 to 2+1000×(Rating 2 to 3)(100+1000)Slope One 算法的加权算法数学描述如下:有 N 个用户对条目 A 和条目 B 打分了,R(A->B)表示这 N 位用户对 A 和对 B 打分的平均差(A-B),有 M 位用户对条目B 和条目 C 打分了,R(C->B)表示这 M 位用户对 C 和对 B 打分的平均差(C-B),注意都是平均差而不是平方差,现在某个用户对 A 的打分是 ra,对 C 的打分是 rc,那么 A 对 B 的打分可能是:rb=N×
13、;ra-RA->B+M×(rc-R(C->B)M+N上面讨论的是用户只对条目的喜好程度打分。还有一种情况下用户也可以对条目的厌恶程度打分。这时可以使用双极 Slope One 算法(BI-Polar Slope One)。四、 实验结果:注释:此数据代表按照自己和别人的评分推荐的电影致青春北京遇上西雅图人再囧途之泰囧少年派的奇幻漂流黑衣人三白鹿原二次曝光速度与激情五泰迪熊功夫熊猫源代码猩球崛起失恋三十三天志明与春娇听风者这个杀手不太冷肖申克的救赎唐伯虎点秋香大话西游泰坦尼克号卢一强04.2000004.1303.920000000000燕睿涛3.884.26003.212
14、.592.6403.3500003.83005.45004.97龚志鑫04.5304.5402.77003.5200000000000阿鹏仁2.98003.292.31003.232.3500000000000刘少博00000000000000000000姚伟娜3.413.7103.82.721.9803.782.743.53.833.62003.810003.530汤瑶3.433.8203.762.681.98002.780002.9303.8800004.46刘思遥3.133.43002.51.821.953.442.570002.653.113.6504.74004.23孙召星3.360
15、0001.922.113.642.76003.552.823.213.7604.89000刘璐3.874.24003.23004.173.32004.0500000000吴林00000000000000000000李长月3.84.020000000004.0203.674.1800000注释:此数据中0代表已经看过的电影,其他的数数代表预测你给相应电影的评分。五、 推荐系统在几个网站中实例:1、下面几幅图是在卓越亚马逊上根据浏览记录推荐的商品:2、下面的这幅图示在网上看过电影后推荐的3、人人网上按照共同好友的数量推荐的好友:六、 参考文献:1推荐系统实践 项亮 人民邮电出版社2MATLAB7.
16、x基础教程 张笑天等 西安电子科技大学出版社,2008年。附录附录一:成员介绍及分工:代码编写:汤瑶、刘少博资料查阅:姚伟娜、刘璐评分统计:卢一强、李长月、燕睿涛PPT制作:吴林、刘思遥 孙召星、龚志鑫报告撰写:阿鹏仁附录二:matlab代码clearua1,ua2,ua3,ua4,ua5=textread('u1_base.txt','%d %d %d %d %d');uat1,uat2,uat3,uat4,uat5=textread('u1_test.txt','%d %d %d %d %d');Train=ua1,ua2,u
17、a3;Test=uat1,uat2,uat3;user=unique(ua1);movie=unique(ua2);m=max(user);n=max(movie);Score=zeros(m,n); for i=1:length(ua1) Score(ua1(i),ua2(i)=ua3(i);endpredictS=slope_one_w(Score,Test);predictS(find(predictS>=5)=5;J=(sum(predictS-uat3).2)/length(uat3)0.5;% J=sum(round(predictS)-uat3).2);ratio=sum(
18、round(predictS)=uat3)/length(uat3);idxp4=find(round(predictS)=4);idxp5=find(round(predictS)=5);idxp=idxp4;idxp5;ratior=sum(uat3(idxp)>=4)/length(idxp);function M=slope_one_w(A,Test)tic;m,n=size(A);gB=ones(n);B=tril(gB);%上三角存平均评分差,下三角存评分的权重 %即共同的评分人数%计算每两列间的平均评分差for i=1:n-1 for j=i+1:n C=A(:,i),A(:,j); C(C(:,1)=0,:)=; C(C(:,2)=0,:)=; if C B(i,j)=sum(C(:,2)-C(:,1)/length(C(:,1); B(j,i)=length(C(:,1); end endendM=zeros(length(Test(:,1),1);for z=1:length(Test(:,1) i=Test(z,1); j=Test(z,2); if A(i,j) C=A(i,:); X=find(C=0); temp=0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 家用水龙头过滤器产品供应链分析
- 包装用纸袋产品供应链分析
- 工商管理辅助行业相关项目经营管理报告
- 含药喉咙喷剂产品供应链分析
- 发行预付费代金券行业相关项目经营管理报告
- 刷子用貉毛产业链招商引资的调研报告
- 年金保险行业相关项目经营管理报告
- 虚拟现实游戏用耳机项目运营指导方案
- 安排和举办青年足球训练项目行业经营分析报告
- 办公家具出租行业相关项目经营管理报告
- DB11/T 161-2012-北京标准融雪剂
- 标准作文稿纸模板(A4纸)
- 0324心脏瓣膜病课件
- (2024年)全新统战工作培训
- 看花识草辨药材(山东联盟)智慧树知到期末考试答案2024年
- (高清版)TDT 1001-2012 地籍调查规程
- 毛泽东诗词鉴赏
- (高清版)DZT 0426-2023 固体矿产地质调查规范(1:50000)
- 驾考模拟三力测试题答案
- 《影视音乐欣赏》课件
- 中石油反恐培训课件
评论
0/150
提交评论