电影推荐系统_第1页
电影推荐系统_第2页
电影推荐系统_第3页
电影推荐系统_第4页
电影推荐系统_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于Slope one算法得电影推荐系摘要:商业网站迅猛发展得时代已经到来,网上服务得交易方式正在改变着 传统得商业模式。如果说过去得十年就是搜索技术高速发展得十年,那么个性化 推荐技术将作为下一个十年中最为重要得革新之一。口前儿乎所有大型得商业网 站,如亚马逊、淘宝网等,都不同程度地使用了各种形式得推荐系统。本文就推荐 系统这一话题展开讨论,首先介绍了推荐系统得提出与发展过程,然后列举出了儿 种推荐系统得研究方法,其中,详细得描述了 Slope one算法推荐系统得实现过程 以及用Slope one算法编写程序完成了电影推荐系统。最后列举了儿个推荐 系统得实例。关键字:Slope o ne算

2、法 推荐系统 数据挖掘 个性化推荐一、发展背景:随着in t e r net得日益普及,商业网站得蓬勃发展,如何提高商业网站得 有效性,尤其就是如何运用个性化推荐技术提供个性化服务来实现已逐渐成为一 个能引起广泛兴趣得热点课题。虽然商业网站从“以站点为中心”向“以用户 为中心”发展成为必然趋势。但H前国内大多数商业网站得商品推荐通常就是: 推荐热销产品;推荐相关产品;依据用户浏览历史得信息进行推荐。由Daniel L emire教授在 2 005年提出得一个Item Base d(基于条口)推荐算法,可 应用于各类以网上商品销售为主业务得网上商店,以及提供文章、新闻、音乐、 电影等“无形”得产

3、品得网络站点。用于帮助商丿占经营者,网络站点从事产品 得个性化推荐,提高营销及服务质量,更好地挖掘潜在客户及客户得使用、购买 潜能。同时也根据用户得喜好,网站会留下记录,当用户再次访问时,网站会推荐用 户可能喜欢得东西,这样也方便了用户,用户无需浪费时间去搜索大量得信息。二、现有推荐系统研究方法:1、基于内容得推荐:基于内容得推荐(co n te n t-b a s ed remen d a t ion)就是指根据用户选择 得对象,推荐其她类似属性得对象作为推荐,属于Sch a fer划分中得I tem-t o -Item Correia ti on方法、这类算法源于一般得信息检索方法、不需要

4、依据 用户对对象得评价意见、对象使用通过特征提取方法得到得对象内容特征来表 示,系统基于用户所评价对象得特征,学习用户得兴趣,从而考察用户资料与待预 测项目相匹配得程度、对象内容特征(C o nten t (s)得选取在U前得硏究中以对象得文字描述为主,比如 信息检索中最经典得文本特征就是词频-倒排文档频率(te rm f re Q u e ncy- i nver s e d ocument fr e q u e ncy,简称 TF- I DF)另一方面用户得资料模型 ContentBas e dProf i le (c)取决于所用机器学习方法,常用得有决策树、贝叶斯 分类算法、神经网络、基于

5、向量得表示方法等,数据挖掘领域得众多算法都可以 应用、2、协同过滤推荐协同过滤推荐(col 1 abo r ativ e filte r i ng remen d a t ion)技术就 是推荐系统中最为成功得技术之一,它于2 0世纪9 0年代开始研究并促进了 整个推荐系统研究得繁荣、大量论文与研究都属于这个类别、协同过滤得基本思想就是:找到与当前用户c c ur相似(比如兴趣与口味 相似得其她用户cj,计算对象s对于用户得效用值u(cj,s),利用效用值对 所有s进行排序或者加权等操作,找到最适合ccur得对象s*、其基本思想非常 易于理解,在日常生活中,我们往往会利用好朋友得推荐来进行一些

6、选择、协同过滤正就是把这一思想运用到推荐系统中来,即基于其她用户对某一内容得 评价向目标用户进行推荐、基于协同过滤得推荐系统可以说就是从用户得角度进行推荐得,并且就是自 动得,也就就是说,用户所获得得推荐就是系统从用户购买或浏览等行为中隐式 获得得,不需要用户主动去查找适合自己兴趣得推荐信息,如填写一些调查表格 等、其另外一个优点就是对推荐对象没有特殊得要求(而基于内容得推荐需要对 推荐对象进行特征分析),能够处理非结构化得复杂对象,如音乐、电影等、同时, 研究用户之间得关系需要大量得用户访问行为得历史数据,与社会网络研究有交 义点,有丰富得研究基础与广阔得前景、对协同过滤最早得研究有Gru

7、n d y sys t e m,后来得研究成果包括 Ta p e stry s y s t em, Group Lens, Ringo, PHO A K S sy s t e m, J e s t er sys t em等、总体而言, 此类推 荐算法可以分为两类:启发式(h e u r i sti c -bas e d or memo r y b ased) 方法与基于模型(mo d el-based)得方法。3、基于知识得推荐:基于知识得推荐(know I edge-b a s ed r e men d a tio n)在某种程度上可 以瞧成就是一种推理(infer e nee)技术、它不就

8、是建立在用户需要与偏好基础上 推荐得,而就是利用针对特定领域制定规则(rule)来进行基于规则与实例得推 理(case -based reasoning) 例如,文献34中利用饭店得菜式方面得效用知 识,推荐饭店给顾客、效用知识(f u nc t i onal know I e d ge)就是一种关于 一个对象如何满足某一特定用户得知识,因而能够解释需求与推荐得关系,用于 推荐系统、效用知识在推荐系统中必须以机器可读得方式存在(onto 1 og y本 体知识库),例如qui c k step and foxtrot sys t em s使用关于学术论文主题 得on t o 1 og y本体知

9、识库向读者作推荐、4、S 1 op e one算法推荐:Slope One就是一系列应用于 协同过滤得算法得统称。ill Daniel Lem i re与Ann a M a c 1 a ch 1 an于2005年发表得论文中提出。有争议得 就是,该算法堪称基于 项口评价得non-1 r iv i al协同过滤算法最简洁得形 式。该系列算法得简洁特性使它们得实现简单而高效,而且其精确度与其它复杂 费时得算法相比也不相上下。该系列算法也被用来改进其它算法。当可以对一 些项目评分得时候,比如人们可以对一些东西给出1到5星得评价得时候,协同 过滤意图基于一个个体过去对某些项LI得评分与(庞大得)山其她

10、用户得评价构 成得数据库,来预测该用户对未评价项口得评分。如:如果一个人给披头士得 评分为5 (总分5)得话,我们能否预测她对席琳狄翁新专辑得评分呢?这种情形下,item-based协同过滤系统 根据其它项目得评分来预测项 LI得分值,一般方法为线性回归()、于就是,需要列出x - 2个线性回归方程与回 归量,例如:当有1 0 00个项时,需要列多达1,0 0 0,00 0个线性回归方程,以 及多达2, 000, 0 0 0个回归量。除非我们只选择某些用户共同评价过得项口对, 否则协同过滤会遇到过适(过拟合)问题。三、Slope one算法描述及实现过程:1、算法原型:图例一(如图所示):It

11、emAItemBzUser A43UserB2?、图3-1算法演示图一如上图所示,Us e rA对I tem A得评分就是4,对ItemB得评分就是3,Use rB M It e mA得评分就是2,那么,预测Us e rB对It e mB得评分就是多少呢? 根据 Slo p e One 算法,2+( 3 - 4 ) = 1。图例二(如图32所示):厂1Item AItemBUser A43UserBJ29丿厂UserCx33V丿a丿图3-2 算法演示图二如上图所示,U serB对ItemB得评分会就是多少呢?股票上有个说法 就是平均值可以掩盖一切得异常波动,所以股票上得各个技术指标就是收集不同

12、 时间段得平均值得曲线图或就是柱状图等。同样得,Slope One算法也认为:平 均值也可以代替某两个未知个体之间得打分差异,条H A条|_|B得平均差值 就是:(4-3) + (3-3)2二0、5也就就是说人们对事物A得打分一般比事物B得打分要高0、5,于就 是Slope one算法就猜测U s e rB对事物B得打分就是2-0、5 = 1、5。2、加权算法:由上得两个示例对Slope On e算法有了认识。如果有1 0 0个用户对I te mA与I temB都打过分,有1000个用户对It e mC与It e m B也打过分。显 然这两个rating差得权重就是不一样得。因此我们可以推测,

13、计算方法就 是:100 x (Rating 1 to 2) + 1000 x (Rating 2 to 3)(100 + 1000)S lope One算法得加权算法数学描述如下:有N个用户对条目A与 条目B打分了,R(A-B)表示这N位用户对A与对B打分得平均差(A-B), 有M位用户对条目B与条目C打分了,R(C-B)表示这M位用户对C与对B打分得平均差(C-B),注意都就是平均差而不就是平方差,现在某个用户对 A得打分就是 对。得打分就是rc,那么A对B得打分可能就是:N x g - R(A - B) + M x (rc - R(C - B)rb=M + N上面讨论得就是用户只对条目得喜

14、好程度打分。还有一种情况下用户也可以 对条H得厌恶程度打分。这时可以使用双极Slope One算法(Bl Pol a r Slope On e )o四、实验结果:测试数据movielens均方根误;RMSE二0.947445分以上推荐正确率0.746卢一强:北京遇上西雅图李长月:猩球崛起燕睿涛:北京遇上西雅图李长月:听风者龚志鑫:北京遇上四雅图燕睿涛:肖申克的救赎刘璐:北京遇上四雅图刘思遥:肖申克的救赎李长月:北京遇上西雅图 龚志鑫:少年派孙召星:肖申克的救赎 燕睿涛:泰坦尼克号卢一强:速度与激悄5汤瑶:泰坦尼克号刘璐:速度与激悄5刘思遥:泰坦尼克号刘璐:猩球崛起注释:此数据代表按照自己与别人

15、得评分推荐得电影致北京遇上西雅图人IJ 冏 途 之 泰 冏少年派得奇幻漂流J% 衣 人白鹿原二次曝光速度与激情五泰迪熊功夫熊猫源代码猩球崛起失 恋十夭志明与春娇听风者这个杀手不太冷肖申克得救赎唐伯虎点秋香大话西游泰坦尼克号m2OmlmmMmmFmM、2% n、9L32LLra34E.m2m帀3EEoEoE.moE.、822563849L89423LLLJmO4F42mE3nn、5575L372LL2O3mo2nnW、u、uuuuuu仁9829312335刃000000000少博姚33032103233300300030伟、%、4787977586851128843213汤33032100200

16、020300004瑶、487697984326888386刃33002113200023304004思、遥14589456167233254751543孙30000123200323304000召、星39167582786214652169刘34003004300400000000璐、822130743725吴000000000林李34403400000长、月8061278注释:此数据中0代表已经瞧过得电影,其她得数数代表预测您给相应电影得 评分。五、推荐系统在几个网站中实例:1、下面儿幅图就是在卓越亚马逊上根据浏览记录推荐得商品:更多洪您老逹的面品窃点临迈空只 3? Kurrweii 平药H

17、nkAfcf (15)xoo 48.30天才引导的历U 妬中的伟桩 那纳協 william Dunnam).ficMvtvt;(io)X4SX0Y 31.20宇M提问(原令約晰)M尼尔祎組用罔備基和.吴礼MvkMi gX3WC* 21.00惡M与田家廷谷创业之災Paul平裝ArfdWrf fi 阿-4SXW) 34.80NONAMil: LumT20 (3) 1.988 00HCWAtfMJI 3E20Mt承4V:(ia233 Y 1.988 00201逝?还G岡G口筑 irom眄爪初、力朋奂 平姿(C22Z3g M 34 2QMiazu fwrfiLitoui 筍直n晨如站AAAAr4CG

18、28.20HCWAtfMjI H-92OXx moo* 600 60NOKIA iWn LueoJO. 令Wikd c1.988 00toWsM/fclEASYCALL4rA涣*旳(es)y 丸3 Y 224 30HOaAtfMflLurri3820.(4x Z昨 3 Y 1.9 的 00A.RWtgXK 文曲 祈長1tKFredencX .AAAtVj (322013历说舌鼻空湖斤ua翳狐刘ess嵌*嵌*+: cfi4丫 42 60缩侏山&(AAAA*; (20)25.70EBaMiy=5)=5;J=(sum( (pr e diet S-uat3) A2) / 1 engt h ( u a

19、t 3 ) )A0 5 ; % J=sum(r o und(pred i c tS)u a t 3)、八 2);rati o = s um(roun d (pred i ctS)= =u a t 3 ) / le n gth(uat 3 ); idxp4 = find(r o u nd(p r e dictS) =4);i d xp5=find (ro u n d ( p red i c t S) =5);idxp= i d x p4;idx p 5 ;ratior=sum ( u a t 3 ( i d x p) = 4 ) /le n gth(i d xp);fun c t i o n M

20、= s lo p e_ o ne_ _w(A,Test)tic;m,n= s ize(A);g B =one s (n);B=tril (gB) ;%上三角存平均评分差,下三角存评分得权重%即共同得评分人数%计算每两列间得平均评分差for i = 1 : n-1for j =i +1: nC=A (:, i ),A (:, j);C(C(:,1) =0,: )=;C(C(:,2)=0,:)=;ifCB (ij) =sum(C(:,2)-C(:, 1) /I e ngth(C (: ,1); B(j, i)=le ng t h(C(:, 1 );endendendM =z e ros (length

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论