(计算机软件与理论专业论文)基于免疫网络的具有防欺骗特性的推荐系统及其研究.pdf_第1页
(计算机软件与理论专业论文)基于免疫网络的具有防欺骗特性的推荐系统及其研究.pdf_第2页
(计算机软件与理论专业论文)基于免疫网络的具有防欺骗特性的推荐系统及其研究.pdf_第3页
(计算机软件与理论专业论文)基于免疫网络的具有防欺骗特性的推荐系统及其研究.pdf_第4页
(计算机软件与理论专业论文)基于免疫网络的具有防欺骗特性的推荐系统及其研究.pdf_第5页
已阅读5页,还剩58页未读 继续免费阅读

(计算机软件与理论专业论文)基于免疫网络的具有防欺骗特性的推荐系统及其研究.pdf.pdf 免费下载

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

文档简介

摘要 摘要 推荐系统可为用户提供个性化服务,成为当前研究热点。但由于推荐系统本身的缺陷而 容易受到欺骗攻击,特别是“托”攻击。推荐系统已有的欺骗攻击检测方法可以在一定程度 降低欺骗攻击对推荐系统的危害,但是却不能够适应欺骗手段的更新。本文基于免疫网络推 荐算法,使用欺骗攻击疫苗和黑名单,引入可信机制,提出了基于免疫网络的具有防欺骗特 性的推荐算法( 凡s a i n ) 。 本文的主要工作有:( 1 ) 分析了已有的推荐系统欺骗攻击检测方法和基于免疫网络的推 荐算法,构建了具有防欺骗特性的推荐系统框架f r s d s a ;( 2 ) 提出了基于免疫网络的具有 防欺骗特性的推荐算法r a d s a i n ,并通过仿真实验验证了r a d s a i n 算法的有效性;( 3 ) 实现了基于r a d s a l n 算法的推荐系统r s d s a i n ,并通过电影推荐来显示推荐系统 r s d s a i n 的效果。 本文主要贡献有:( 1 ) 通过随机攻击、倾向攻击和分块攻击三种通用欺骗攻击疫苗,有 效降低欺骗攻击对推荐系统的推荐结果造成的影响。( 2 ) 利用黑名单来预防欺骗攻击,可以 有效地降低不同欺骗手段对推荐系统的危害,提高推荐的准确率。( 3 ) 利用单层b p 神经网 络更新可信度。 本文在已有相关工作的基础上,引入欺骗过滤机制,提高了推荐精确度,特别是随机攻 击、倾向攻击和分块攻击时,效果更加明显。 关键词:推荐,欺骗攻击,免疫网络,疫苗,黑名单 a b s t r a c t a b s t r a c t n o w a d a y st h er e s e a r c ho nr e c o m m e n d e rs y s t e m sa r eah o tr e s e a r c ht o p i ca sr e c o m m e n d e r s y s t e m sc a np r o v i d ep e r s o n a l i z e ds e r v i c e st oe n d u s e r s h o w e v e r , t h ef l a wo far e c o m m e n d e r s y s t e mi t s e l fm a k e si tp a r t i c u l a r l yv u l n e r a b l et od e c e i v i n ga t t a c k se s p e c i a l l yt h es h i l l i n ga t t a c k s t h ec u r r e n ts o l u t i o n st os h i l l i n ga t t a c k so fr e c o m m e n d e rs y s t e m sc o u l dr e d u c et h eh a r mo f s h i l l i n ga t t a c k st or e c o m m e n d e rs y s t e m st oac e r t a i ne x t e n t ,b u tt h e yc a nn o ta d a p tt ou p d a t i n g m e a s u r e so fs h i l l i n ga t t a c k s h e r e ,i nt h i sp a p e rw ep r e s e n tar e c o m m e n d e rs y s t e mb a s e do nt h e i m m u n en e t w o r k , a d o p ts h i l l i n ga t t a c kv a c c i n ea n db l a c k l i s t s ,a n du s et r u s tm e c h a n i s m t h e k e n e do fo u rr e c o m m e n d e rs y s t e mi st h er e c o m m e n d a t i o na l g o r i t h mw i t hd e f e n d i n gs h i l l i n g a t t a c k sb a s e do nt h ei m m u n en e t w o r k ( r a d s a i n ) o u rm a i nr e s e a r c h e si n c l u d e : 1 t h ea n a l y s i s e so fb o t ht h ec u r r e n ts o l u t i o n so f d e t e c t i n gs h i l l i n ga t t a c k so f r e c o m m e n d e rs y s t e m sa n dt h er e c o m m e n d a t i o na l g o r i t h mb a s e do nt h ei m m u n e n e t w o r k , a n db u i l d i n go faf r a m e w o r ko fr e c o m m e n d e rs y s t e m sw i t hd e f e n d i n g s h i l l i n ga t t a c k s ( f r s d s a ) 2 t h ec o n s t r u c t i o no ft h ea l g o r i t h mr a d s a i n ,a n d e x p e r i m e n t so fi l l u m i n a t i n gt h e v a l i d i t yo ft h ea l g o r i t h m 3 i m p l e m e n t a t i o no far e c o m m e n d e rs y s t e mr s d s a i nb a s e do nr a d s a i n ,a n dt h e e f f e c ta n a l y s i so fr s d s a i nb ym o v i er e c o m m e n d e r i n g o u rm a i nc o n t r i b u t i o nsa r e 1 t h es t u d yo nt h r e ek i n d so fc o m m o ns h i l l i n ga t t a c k s ( r a n d o ma t t a c k s ,b a n d w a g o n a t t a c k sa n ds e g m e n t e da t t a c k s ) ,w h i c he f f e c t i v e l yr e d u c et h ei n f l u e n c eo fs h i l l i n g a t t a c k so nt h er e c o m m e n d a t i o no u t c o m eo fr e c o m m e n d e rs y s t e m 2 t h i ss t u d yo nu s i n gb l a c k l i s t st op r e v e n ts h i l l i n ga t t a c k s ,w h i c he f f e c t i v e l yr e d u c et h e h a r mo fd i f f e r e n tk i n d so fs h i l l i n ga t t a c k st or e c o m m e n d e rs y s t e m 3 t h es t u d yo na d o p t i n gs i n g l el a y e rb pn e u r a ln e t w o r ki no r d e rt ou p d a t et r u s t c o m p a r e dt ot h ep r e v i o u sw o r k ,t h ee f f e c to fr e c o m m e n d e r i n gi sm o r ea p p a r e n te s p e c i a l l yf o r r a n d o ma t t a c k s ,b a n d w a g o na t t a c k sa n ds e g m e n t e da t t a c k s k e yw o r d s :r e c o m m e n d a t i o n ,s h i l l i n ga t t a c k s ,i m m u n en e t w o r k ,v a c c i n e ,b l a c k l i s t i i 东南大学学位论文独创性声明 本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得的研究成 果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或 撰写过的研究成果,也不包含为获得东南大学或其它教育机构的学位或证书而使用过的材 料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了 谢意。 研究生签名:日期: 东南大学学位论文使用授权声明 东南大学、中国科学技术信息研究所、国家图书馆有权保留本人所送交学位论文的复 印件和电子文档,可以采用影印、缩印或其他复制手段保存论文。本人电子文档的内容和 纸质论文的内容相一致。除在保密期内的保密论文外,允许论文被查阅和借阅,可以公布 ( 包括刊登) 论文的全部或部分内容。论文的公布( 包括刊登) 授权东南大学研究生院办 理。 研究生签名:弘导师签名:耻 日期: 8 伟 0 腑j 第一章绪论 1 1 研究背景及意义 第一章绪论 网络时代的到来,给我们带来的便捷的信息传递和信息服务,推动着全球经济的蓬勃发 展。人们在享受由此带来的巨大惊喜的同时,遇到为众多感兴趣商品挑选的苦恼,也面临着 从传统购物方式向网络虚拟购物方式转变的挑战。面对w e b 商家如此众多的商品,用户发 觉自己很难通过一个小小的计算机屏幕方便地发现自己感兴趣的商品。个性化推荐系统的出 现为用户提供了一个解决w e b 商品信息过载问题的强大工具,承担了在识别客户消费偏好 的基础上,模拟商店销售人员向客户提供商品信息和建议,帮助客户完成购买过程,从而使 客户避免信息“超载”所带来的麻烦,顺利完成购买过程的功能【1 】。在实际应用中,许多电 子商务网站,如a m a z o n 、e b a y 和c d n o w 等网站已经充分领略到了推荐系统带来的好处。 现在,推荐系统已经成为帮助用户克服“信息过载”问题的一个工具。推荐系统还可以根据 用户平时的历史信息来发掘用户的兴趣模型,并主动地向用户推荐可能需要的信息。 m o v i e l e n s l 2 2 1 就是一个典型的推荐系统,它是由g r o u p l e n s 研究小组运作,主要是根据用户 的历史信息来向用户推荐他可能感兴趣的电影。 推荐系统是对用户来说是很有益的,它可以根据用户的需求给出有价值的推荐以帮助用 户及时有效地寻找商品,这不仅给商家带来了销量,同时也给用户带来了满足。例如:亚马 逊公司就提供了很多用户可用的推荐系统。这些推荐系统有人工推荐即由一组用户推荐项目 给其他用户,还有自动推荐系统即由系统根据用户目前感兴趣的和过去的交易历史给出推荐 列表。 常用的推荐技术有:基于内容的推荐技术、协同过滤的推荐技术、基于人口统计学的推 荐技术、基于效用的推荐技术、基于知识的推荐技术和混合推荐技术。协同过滤的推荐算法 推荐结果较准确,能够挖掘用户之间的潜在关联,是个性化推荐算法中最为成功的推荐算法。 协同过滤推荐算法可以分为基于用户的协同过滤推荐算法和基于项目的协同过滤推荐算法。 基于用户的协同过滤推荐算法是利用用户评分之间的相似性作为推荐的依据,而基于项目的 协同过滤推荐算法则是以项目之间的相似性作为推荐的依据。由于协同过滤算法与评分密切 相关,而推荐系统中的评分存在稀缺性等问题,这样就会导致推荐预测准确度下降。目前, 【3 】提出了利用免疫网络的思想来形成推荐算法,其中主要框架是协同过滤算法,利用免疫网 络来形成邻居集,在一定程度上缓解了稀缺性等问题,经实验证明效果要比传统的协同过滤 算法要好。 在竞争的环境下,商家为了使自己生产的商品能够畅销,总是希望推荐系统频繁推荐 自己的商品,而减少或不推荐竞争对手的产品,就会人为地制造大量的伪造数据以抵制对 手抬高自己。在这里,我们称一个伪造数据为一个虚假用户。虚假用户利用推荐系统和用 户评分特征来评价项目,采用各种欺骗技术使得自己很像正常用户,而基于用户的协同过 滤推荐算法正是利用用户之间的相似性,这就可能使得这种算法的推荐集中包含了虚假用 户,最终造成推荐精确性下降。实验证明:欺骗攻击对从基于用户的协同过滤推荐算法比 对基于项目的协同过滤推荐算法的影响要大。为了增加推荐预测的准确率,1 1 , 2 , 1 1 , 3 3 , 3 6 弓i 入 了可信机制,可信机制的思想是:在推荐时用户评分的不仅要考虑,而且用户推荐行为的 可靠性也应该考虑,这样就形成了用户可信度的概念,在推荐时只考虑可信度高于某个阂 值的用户。 目前,关于推荐算法特别协同过滤推荐算法中的欺骗攻击问题的研究很过,其中包括 利用欺骗的检测、欺骗的预防和利用可信机制的推荐算法等。欺骗的检测主要是在推荐过 程中根据检测推荐个体与其他用户评分的相似性来判断是否为欺骗攻击。欺骗的预防是在 推荐之前利用用户推荐历史判断用户是否为欺骗攻击者。 本文是主要是改进基于免疫网络的推荐系统,增加了变异和疫苗功能,同时结合了可 东南大学硕士学位论文基于免疫网络的具有防欺骗特性的推荐系统及其研究 信度和欺骗检测模型中的背离平均度,提出了基于免疫网络的具有防欺骗特性的推荐算法 ( r e c o m m e n d a t i o na l g o r i t h mw i t hd e f e n d i n gs h i l l i n ga t t a c k sb a s e do nt h ei m m u n e n e t w o r k ,r a d s a i n ) 。经实验证明该算法在一定程度上减少欺骗攻击对推荐系统的影响,提 高推荐的准确率。 1 2 相关研究现状 1 9 9 2 年d a v i dg o l d b e r g 等人在构造邮件系统t a p e s t r y 时第一次提出了协同过滤 ( c o l l a b o r a t i v ef i l t e r i n g ,c f ) 的概念。当时提出c f 是为了解决信息过载( i n f o r m a t i o n o v e r l o a d ) 问题。在1 9 9 4 年,r e s n i c k 等人提出了基于k 一最近邻居( k n e a r e s t n e i g h b o r , k n n ) 的自动协同过滤算法,并构建了m o v i e l e n s 系统。从此以后,就有很多学者提出关于 对k n n 改进的算法。1 9 9 7 年,c o m m u n i c a t i o no f t h ea c m 杂志组织了关于c f 的专刊,对 c f 技术进行了系统的总结。推荐系统是为用户提供服务,同时也需要用户推荐信息的系统, 故在计算机研究领域划分中通常被划分到人机交互领域( c o m p u t e r h u m a ni n t e r a c ti o n ) 。 关于推荐系统的经典文章一般都发表在人机交互的权威期刊a c m 的t o c h i ( t r a n s a c t i o n s o nc o m p u t e r h u m a ni n t e r a c t i o n ) 上,t o c h i 还不定期的推出关于推荐系统的专刊。 然而,协同过滤推荐系统很容易受到欺骗者的攻击,特别是受到“托”攻击( s h i l l i n g a t t a c k s ) ,即有组织的进行欺骗攻击者。一个标准的协同过滤算法是根据兴趣相近的用户 之间的偏好资料来给目标用户推荐服务。如果一个恶意的用户将一些虚构实体写入到资料数 据库的话,他们就可以通过对项目的恶意评价来使推荐偏离用户需求1 8 j 。我们称这些欺骗攻 击为记录注入攻击( 也称为托攻击) 。欺骗攻击目的有两种【2 6 】:一种是推攻击,即抬高目 标项目的评分;一种是核攻击,即贬低目标项目的评分。一个欺骗攻击模型是在对推荐系统 知识,评分数据,商品以及其他用户了解的基础上构建欺骗攻击资料的方法。不同欺骗攻击 模型的区别主要反映欺骗攻击用户资料。根据注入虚假用户资料组成的不同,欺骗攻击模型 1 4 , 2 3 】主要有样本攻击( s a m p li n ga t t a c k ) 、随机攻击( r a n d o ma t t a c k ) 、平均攻击( a v e r a g e a t t a c k ) 、倾向攻击( b a n d w a g o na t t a c k ) 、最喜爱商品攻击( f a v o r i t ei t e ma t t a c k ) 、分块 攻击( s e g m e n t e da t t a c k ) 和群攻击( g r o u pa t t a c k ) 五类。 对于攻击的检测和防御,火都是建立在目前已知的攻击模型之上。随着时间的推移, 新的攻击模型还会出现,所以构建适应性良好的检测和防御方法是研究的重点也是难点。 1 、攻击检测 文献【6 , 2 0 基于攻击p r o f i l e 和真实用户的p r o f i l e 具有不同的统计特性这个假设,分别 定义多个新的度量方法来检测随机攻击和细分攻击。文酬3 1 7 l 通过计算低维模型下每个 p r o f i l e 的概率来检测随机攻击,那些概率异常低的p r o f i l e 被认为是攻击p r o f i l e 。文献l 2 6 j 基于任何攻击模型都会导致目标项目的评分分布的改变,推攻击时呈现高评分,核攻击时则 呈现低评分的思想,把目标项目评分用时间序列方法划分成若干个样本。比较这些样本的样 本均值和样本熵,把其中的异常点作为攻击p r o f i l e 所在序列。这种方法比之前提到的几种 检测方法更具适应性,但它假定攻击是在短期内完成的。一般可用检测率和误报率来评价检 测方法的优劣,定义如下: 检测率= 检测出的攻击事件次数总攻击事件次数 误报率= 正常p r o f i l e 被误检为攻击p r o f i l e 的数值正常p r o f i l e 的数值 2 、攻击预防 攻击的防御一方面致力于提高攻击的成本,更重要的是要寻求抗攻击能力强的推荐算 法。提高攻击的成本也就是提高攻击的执行成本和知识成本。为了防御攻击,推荐系统可以 采取控制输人p r o f i l e 信息速度的措施,如目前流行的在数据输人界面上添加验证码的方法, 2 第一章绪论 可以防止攻击者利用自动化手段快速地输人p r o f i l e 信息,以提高其执行成本。在提高知识 成本方面要适当加强推荐系统算法、评分的稀疏性、分布情况等知识的保密,增加获取知识 的难度。 3 、可信机制 为了进一步提高推荐的准确性和推荐结果的可用性,j 在基于用户的协同过滤框架的 基础上,提出了一种具有可信机制的推荐系统。该文提出在目标用户寻求推荐的时候,除 了考虑推荐者与需求用户评分方面的相似性外,还要考虑推荐者推荐行为的可信度,也就 意味着推荐者在过去与自己的交互历史中,必须是可靠、值得信赖的。该文综合上述两个 方面提出了权重公式,以便更加合理的做出推荐,避免了欺骗攻击者的多次欺骗行为。 1 3 本文主要研究内容 本文主要研究协同过滤推荐算法中欺骗攻击问题,欺骗攻击包括一般的网络攻击和带 有商业目的的欺骗攻击,其中带有商业目的的欺骗攻击对推荐系统来说是最主要也是最大 的威胁;而带有商业目的的欺骗攻击一般采用托攻击,因此托攻击成为推荐系统安全问题 研究的重点。本文假定欺骗攻击就是托攻击。针对协同过滤算法容易受到欺骗攻击的影响, 本文对传统的免疫网络推荐算法进行了改进,引入了变异机理充分挖掘邻居集,引入 疫苗机理利用已有的欺骗攻击模版和黑名单来检测用户,同时也引入了可信机制 从推荐角度考察用户的可靠性。 本文的核心工作是采用改进的免疫网络推荐算法,形成了基于免疫网络的具有防欺骗 特性的推荐算法r a d s a i n ,来减少或避免推荐系统中欺骗攻击的影响,为用户提供一个 更有效地推荐结果,同时我们也构建了基于r a d s a i n 算法的推荐系统r s d s a i n ( r e c o m m e n d e rs y s t e mw i t hd e f e n d i n gs h i l l i n ga t t a c k s b a s e do nt h ei m m u n en e t w o r k ) 。 本文研究内容主要包括以下几个方面: 1 、欺骗攻击的检测 在考虑某个用户是否可以作为推荐者进行推荐时,不仅要考虑这个用户和需求用户评 分的相似性,而且也要考虑这个用户推荐的可信度。在计算抗体( 也即邻居集中的用户) 适应度时,我们综合了评分和可信度两个方面,适应度高的抗体最优个体保留到下一轮, 否则被淘汰,这就是对欺骗攻击的实时检测。 2 、欺骗攻击的过滤 在开放环境下,推荐系统很容易被欺骗攻击者渗入,欺骗攻击者通过抬高目标项目的 评分导致推荐系统的推荐结果的变化,对用户来说可能造成时间、精力和财力的损失,所 以在推荐之前我们采用了预防的手段。1 1 4 1 总结出了七种攻击模型,其中三种攻击成本较低, 实施的可能性较大,我们把这三种作为先验知识制作成了欺骗攻击模版;同时,对每个需 求用户( 也即寻求推荐的用户) 来说都有黑名单,它是由以往在对需求用户推荐过程中有 欺骗行为的对最终推荐结果产生重大影响的用户集合。这样,欺骗攻击模版和黑名单共同 构成了疫苗,在产生邻居集的每次迭代中都要注入疫苗,来预防欺骗攻击者的渗入。 3 、推荐系统模型的构建 推荐系统模型包括三个模块:交互模块、控制模块和数据模块。交互模块负责的是与 用户交互,包括:用户登陆、用户查询和用户反馈。控制模块负责如何产生用户查询结果, 包括:a i s 模块、推荐策略模块和b p 网络模块。a i s 模块负责产生邻居集;推荐策略模块 负责产生推荐结果,这里我们改进了传统的推荐策略,将可信度融入了推荐结果;b p 网络 模块负责更新用户的可信度。数据模块负责提供相关数据给控制模块使用,其中包括:用 户评分数据、t r u s t 数据和黑名单数据。 3 东南大学硕士学位论文基于免疫网络的具有防欺骗特性的推荐系统及其研究 4 、可信度的更新 在用户反馈之后,我们就要根据反馈结果和推荐结果更新可信度,使用的方法是单层 b p 神经网络,神经网络的输入是邻居集对目标项目的评分,输出是推荐结果,根据用户的 反馈和输出值的误差来调整用户的可信度。 1 4 论文结构安排 本文共有五张,各章主要内容如下: 第一章:阐述本文的研究背景及意义,介绍相关研究现状,提出本文的主要研究内容。 第二章:首先介绍了推荐系统的定义、框架和推荐算法,然后分析了协同过滤系统存 在的问题,对推荐系统中欺骗攻击进行介绍,提出了具有防欺骗特性的推荐系统框架 f r s d s a ,最后对欺骗过滤策略( 即欺骗攻击检测和预防) 进行了介绍。 第三章:介绍本文提出的基于免疫网络具有防欺骗特性的推荐系统。首先,对人工免 疫系统进行介绍,然后再介绍s t e v e 提出的基于免疫网络的推荐算法,接着介绍本文重点 工作基于免疫网络具有防欺骗特性的推荐算法r a d s a i n ,该部分分为四个方面介绍: r a d s a i n 流程图、防欺骗机制、推荐预测、可信度和黑名单更新以及r a d s a i n ,最后对r a d s a i n 进行实验,并对结果进行分析。 第四章:基于r a d s a i n 算法的推荐系统r s d s a i n 设计与实现。首先,介绍该系统的基 本框架,然后再介绍数据库的设计,最后显示运行界面。 第五章:本文工作的总结与展望。 4 第二章具有防欺骗特性的推荐系统 第二章具有防欺骗特性的推荐系统 在解决信息过载时,推荐系统显示出了强大的优势,它能够在庞大的数据中找出用户需 要的很小数据集。在推荐系统中,c f 起着举足轻重的作用。但是,随着网络时代和市场经济 的进一步发展,推荐系统出现了一些问题,比如:欺骗攻击问题等等。有些厂商( 或服务提 供者) 利用各种欺骗攻击手段对推荐系统进行攻击,以达到获利的目的,因此,推荐系统不 可避免会混入欺骗攻击者,如何防止欺骗攻击危害推荐系统则成为学者们关注的焦点。为了 解决欺骗攻击,推荐系统需要增加某种机制,已达到降低或避免欺骗攻击对推荐系统造成的 危害,这就要求形成具有防欺骗特性的推荐系统。 本文主要研究协同过滤算法中欺骗攻击问题,本章首先介绍推荐系统及推荐算法,接着 介绍推荐系统中的欺骗攻击类型,最后介绍具有防欺骗特性的推荐系统框架。 2 1 推荐系统 网络的发展给人们带来了巨大的便利,同时也带来了信息过载问题,如何使得用户在 海量信息中找到自己想要的东西,一直成为学者们研究的主题。用户在搜索信息时,不仅 需要有用的信息,而且需要自己感兴趣的信息,个性化的要求成为推动推荐系统发展的动 力。 2 。1 1 推荐系统定义 推荐系统正式定义式r e s n i c k 和v a r i a n 在1 9 9 7 年1 1 2 , 1 3 给出的:“推荐系统式利用电子 商务网站向客户提供商品信息和建议,帮助用户决定应该购买什么产品,模拟销售人员帮 助客户完成购买过程。” 简单的说,推荐系统是利用统计学和知识发现等技术来发掘用户兴趣以便解决推荐问 题的系统。它在电子商务系统中向客户提供商品信息和建议,帮助客户决定购买何种商品, 模拟销售人员向客户推荐商品过程。推荐系统推荐商品是对商品购买情况、客户的人数统 计和客户交易历史分析的基础上做出的。正因为考虑了这些因素,推荐系统可以满足不同 用户的不同需求,表现出一定的自适应性。 2 1 2 推荐系统框架 推荐系统整体框架主要有三个部分组成:用户接口层、推荐引擎层和数据库层。推荐 系统整体框架如图2 1 所示。 5 东南大学硕士学位论文 基于免疫网络的具有防欺骗特性的推荐系统及其研究 用户接口层 n m , 句 f j 登m r l - i l l 。磊j 翁璺_ _ _ _ ,罗户登录信 评分信息:竺曼登 罗 鲺 g 1 矿 一 _ c - 一推荐结果 么编。獭一| 亡:3 u u 生盏信 嚣r = 用户 便携电脑 彳 o 靠 自i p i i 一硼丑 更新上据库 数据库层 旧 南南 目 _ 目6 目6 t - 自a - 图2 1 推荐系统框架示意图 ( 1 ) 用户接口层 用户接口层负责与用户进行交互,包括:接受用户登录信息查询信息、返回推荐结果。 首先,用户通过个人电脑输入用户信息登陆服务器,身份验证后,可以进行查询活动。进 过推荐引擎层的反馈后,服务器将推荐信息返回用户端,用户端再将可视化的推荐结果呈 现给用户。 ( 2 ) 推荐引擎层 推荐引擎层的主要作用是对需求用户做出个性化推荐,其中包括:推荐算法、工具集、 策略库等。策略库是负责管理推荐策略的安装、删除、测试等。因为策略库的数量较小, 而且格式固定,所以一般可以作为内部数据库。推荐算法负责根据需求用户的请求产生相 应的推荐信息,然后反馈给用户接口层。工具集是负责可定制操作工具的安装、删除、查 询和调用,工具集中的工具针对的操作对象是数据库中的数据。 ( 3 ) 数据库层 数据库层主要功能是存储和管理数据,并向推荐引擎层提供管理接口,其中包括:用 户基本信息库和用户评分数据库等。用户基本信息库提供基本信息给用户接口层用来检验 用户身份。用户评分数据库存储了用户交易评分历史,并向推荐引擎层提供评分信息。 6 第二章具有防欺骗特性的推荐系统 2 1 3 推荐算法 本节将介绍主要的推荐算法,对每种推荐算法的思路做一个概括的说明。主要的推荐 系统包括基于内容的推荐算法、协同过滤推荐算法、基于知识推荐算法、基于效用推荐算 法、基于人口统计的推荐算法和混合推荐算法。 2 1 3 1 基于内容推荐算法 基于内容推荐算法( c o n t e n t b a s e dr e c o m m e n d a t i o n ) 是信息过滤技术的延伸和发展l j 。 在基于内容的推荐系统中,项目是通过他们的特征进行定义的,例如:新闻过滤系统 n e w s w e e d e r 是一个文本推荐系统,该系统推荐的项目是文本,所以是以文本中的单词作 为项目的特征。基于内容的推荐系统是对用户评分信息进行学习并产生用户兴趣文档,然 后再对项目进行分类,最后依据相似项目来对用户的目标项目进行预测。 基于内容的推荐算法需要用户的历史数据,在用户信息模型完整详细的情况下,能产 生准确的推荐。但是基于内容的推荐系统也存在着缺点:( 1 ) 缺乏新颖性,无法利用不同 类的项目来预测目标项目,局限了用户的视野;( 2 ) 缺乏个性化,只能发现用户感兴趣的 内容,不能够发现新的内容,不能用户的个性化需要;( 3 ) 缺乏适应性,用户的兴趣是变 化的,而从相似项目进行挖掘显然是不能发现用户新的需求,所以不能适应用户兴趣的变 化。 2 1 3 2 协同过滤推荐算法 与基于内容的推荐算法不同的是协同过滤推荐算法是通过相似用户之间的评分信息进 行个性化推荐的。基本思路是:首先通过相似性计算公式来测量用户之间的距离,然后找 出最相似的n 个用户组成邻居集,最后通过邻居集的评分信息进行预测。 协同过滤推荐算法及其存在问题将在2 2 4 中介绍,这里就不再累赘。 2 1 3 3 基于知识推荐算法 基于知识的推荐算法( k n o w l e d g e b a s e dr e c o m m e n d a t i o n ) 是通过项目对用户满足程度 的先验知识来进行推荐【4 2 1 。在某种程度上说,如果所有的推荐技术是一种推理,那么基于 知识的推荐则是使用功能知识进行推理。所谓的功能知识是关于某个项目如何满足特定用 户的知识。基于知识的推荐中,用户资料可以是任何支持推理的知识结构,而并非一定是 用户的评分偏好,比如搜索引擎中用户输入的关键字就可以看作是用户的功能知识。当然 功能知识可以更加详细的用户需要,t l 女n e n t r 6 e 系统使用烹饪风格方面的知识最为推荐 餐厅的依据。 基于知识的推荐也可以使用其他形式的知识,比如g o o g l e 使用网页间链接信息来推理 它们的声望和权威性:f i n d m e 系统采用基于知识的推理来为用户感兴趣的汽车、电影、 房屋等进行查询定位。 因为基于知识的推荐是基于先验知识,不需要样本学习,所以基于知识的推荐系统最 大的优点是不存在b o o t s t r a p p i n g 问题。基于知识的推荐系统的缺点就是不能根据不同的用 户和上下文进行动态调整。 7 东南大学硕士学位论文 基于免疫网络的具有防欺骗特性的推荐系统及其研究 2 1 3 4 基于效用推荐算法 基于效用的推荐( u t i l i t y b a s e dr e c o m m e n d a t i o n ) 先要得到用户对项目的效用函数,然 后在利用该效用函数对项目进行排序,取前n 个项目作为推荐。基于效用的推荐的核心问 题是如何为每个用户生成一个效用函数。它不是为用户建立一个长期的泛化模型,而是根 据用户需要和一系列可选项的匹配程度来进行推荐。m e a - t e t e 和p e r s o n a l o g i c t 4 3 1 使用了面 向用户的特定效用函数。基于效用的推荐的优点是它把非资源属性,例如:提供商的可靠 性、产品的可得性等,考虑到效用函数之中,提高了推荐的全面性,同时也增强了个性化 的程度。但是它的关键和缺点是如何设计出能够满足各类用户且性能良好的效用函数。 2 1 3 5 基于人口统计推荐算法 基于人口统计推荐算法( d e m o g r a p h i cr e c o m m e n d a t i o n ) 是基于用户的个人属性对用户 进行分类,在分类的基础上对各类用户进行推荐。最早使用基于人口统计的推荐技术的是 g r u n d y ,他主要通过用户对话获得用户基本信息,在此基础上向用户推荐书籍,系统需要 将用户的反馈与手工构造的用户原型库进行匹配。另一个使用该技术的是k r u l w i c h t 州,它 使用调查问卷来收集用户分类信息,用市场调研来的用户个人信息推荐产品和服务。也有 其他系统,在使用了基于人口统计的推荐后,又使用了机器学习分类器的方法进行推荐。 用户的统计信息很大程度上代表了用户的信息,因此,该技术与协同过滤技术类似。基于 人口统计的推荐的优点是它不需要使用用户历史数据,而是根据用户的人口统计信息。 2 1 3 6 各种推荐算法的比较 各种推荐算法都有优点,同时也存在着缺陷,为了更好了解各种推荐算法的优缺点, 需要对其概括总结,如表2 1 所示。 表2 1 各种推荐算法的比较 推荐算法名称优点缺点 完全依赖于项目特征属性的 基于内容推荐算法对用户熟悉的项目推荐准确描述,只能推荐用户熟悉的商 率很高。品,很难跨种类推荐,个性化 不够。 基于用当用户数和项目数控制在一 户的协定范围内时,具有较好的实时存在稀缺性问题;存在冷启动 同过滤 性;能为用户产生新颖的跨种问题;系统可扩展问题:存在 推荐算 类的推荐,真正实现了电子商欺骗攻击问题。 协同过滤推荐算 法务中的智能化。 法基于项 很大程度上解决基于用户的 目的协 协同过滤算法中稀缺性问题;缺乏跨种类推荐,存在“奇异 同过滤同时受到欺骗攻击影响也比发现”的能力,因此个性化功 推荐算基于用户的协同过滤算法要能不足。 法 小。 不存在冷启动、数据稀疏和系知识获取比较难,不能发现用 基于知识推荐算法统可扩展问题;对用户要求很户的新兴趣,很难做出“奇异 8 第二章具有防欺骗特性的推荐系统 少,当有很少用户信息时,也发现”的推荐。 能做出推荐。 不存在冷启动、数据稀疏和系缺乏一定的灵活性,用户必须 基于效用推荐算法统可扩展问题:可以让用户很构建一个完整的偏好函数。 好地表达这方面的信息需求, 以做出更好的推荐。 基于人口统计推荐算法没有冷启动问题。 存在稀缺性问题:设计隐私问 题,很难实施。 2 1 3 7 混合推荐算法 混合推荐技术是混合使用了两种或两种以上的推荐技术,用以提高推荐算法的质量。 人们通常将协同过滤算法和其它推荐算法进行综合,形成不同种类的混合推荐算法。常见 的混合推荐系统类型有1 4 0 j : ( 1 ) 权重型:使用多种推荐技术,并对每种推荐算法的结果进行加权综合。 ( 2 ) 转换型:根据具体情形在不同的推荐算法间转换。 ( 3 ) 合并型:使用多种推荐算法,并同时呈现这些算法的结果。 ( 4 ) 特征组合型:不同推荐算法数据源的特征信息被使用在一个推荐算法中。 ( 5 ) 瀑布型:用后一种推荐算法优化前一种推荐算法。 ( 6 ) 特征递增型:后一种推荐算法的输入包含前一种推荐算法的输出。 ( 7 ) 元层次型:前一种推荐算法的计算模型作为后一种推荐算法的输入。 2 1 4 协同过滤算法及存在问题 由于协同过滤算法( c o l l a b o r a t i v ef i l t e r i n gr e c o m m e n d a t i o n ) 的准确度较高,而且能够 做出奇异发现,找出用户新的兴趣点,所以是目前研究和使用最多的个性化推荐技术,它 是利用邻居用户资料信息来预测需求用户的推荐,其推荐的个性化程度较高。著名的 g r o u p l e n s 的m o v i e l e n s 使用的就是协同过滤算法。协同过滤算法的最大优点是对推荐对 象没有特殊要求,可以处理复杂对象,比如:音乐、电影等。 协同过滤推荐算法又可以分为基于用户( u s e r - b a s e d ) 的协同过滤推荐算法和基于项目 ( i t e m b a s e d ) 的协同过滤推荐算法。这两种协同过滤推荐算法的主要区别在于推荐所依据 的内容不同,基于用户的协同过滤推荐算法依据需求用户的邻居集的评分数据,而基于项 目的协同过滤推荐算法依据的是相似项目的评分数据。下面两节对这两种协同过滤推荐算 法以及它们存在问题进行介绍。 2 1 4 1 基于用户的协同过滤推荐算法 基于用户的系统过滤算法是应用广泛且效率较高的个性化推荐算法,它是根据相似用 户的观点产生对需求用户的推荐列表。该算法基于这样一个假设:如果两个用户在某些项 目的评分相似,那么他们在其他项目也会有相似的评分。基于用户的系统过滤算法采用一 个m x n 用户项目评分矩阵r 表示拥护输入的评分数据,使用统计技术寻找需求用户的若 干最优邻居,然后利用最优邻居集对项目的评分预测目标项目。 基于用户的系统过滤算法主要有三个步骤: 1 、用户相似度度量 9 东南大学硕士学位论文 基于免疫网络的具有防欺骗特性的推荐系统及其研究 用户相似度度量方法主要有三种:余弦相似度、修正余弦相似度和p e a r s o n 相关系数 度量。下面对三种度量方法【4 l 】进行介绍。 ( 1 ) 余弦相似度( c o s i n e b a s e ds i m i l a r i t y ) 用户评分可以看作n 维项目空间上的向量,如果用户没有对项目评分,则对应位置设 为0 。用户i 和用户j 的评分向量分别表示为f 和,用户i 和用户j 之间的余弦相似度公式 如( 2 1 ) 。 _ : s i m ( i ,j ) = c o s ( f ,) = _ ( 2 1 ) l l 圳i i 川 分子为两个向量的内积,分母为两个向量模的乘积。如果s i m ( i , j ) 越大,表示用户i 和 用户i 的相似性越大。 ( 2 ) 修正余弦相似度( a d j u s t e dc o s i n es i m i l a r i t y ) 修正余弦相似度也即s p e a r 相关系数度量。余弦相似度量没有考虑用户评分尺度问题, 修正的余弦相似度量通过减去用户对所有项目的平均评分来弥补上述缺陷。设用户i 和用 户j 共同评分过的项目集为乃,用户i 和用户j 评分过的项目集分别表示为f 和五,用户 i 对项目c 的评分表示为r i ,c ,r ,和母分别表示用户i 和用户j 评分平均值,那么用户i 和用户j 的修正余弦相似度s i m ( i , j ) 【4 0 1 如( 2 2 ) 。 咖 舻矗巷一 2 , 设用户i 和用户j 共同评分过的项目集为乃,则用户i 和用户j 的p e a r s o n 相关系数度 量s i m ( i , j ) 2 , 5 , 6 , 2 8 , 4 0 】为公式( 2 3 ) 。 咖 舻卷一 3 , 2 、形成邻居集 协同过滤推荐算法的核心部分是需要为需求用户寻找到最近邻居集 ( n e a r e s t - n e i g h b o r ) ,即对一个需求用户u ,产生一个根据相似度大小排列的邻居集n = n 1 , n 2 ,n k ) 。最近邻居查找的效果和效率很大程度上决定了基于用户的系统过滤算法的 推荐效果。 3 、产生推荐 产生最优邻居集后,根据邻居集中用户的评分来预测需求用户关于目标项目的评分。 假设需求用户u 的最优邻居集为n 。,用户i 对项目j 的预测评分p i j 可以通过公式( 2 4 ) t 2 ,5 6 ,4 0 】 鼽严n 鼍筹豢产 4 , 1 0 第二章具有防欺骗特性的推荐系统 其中s i m ( i ,n ) 表示用户i 和用户j 的相似度,r 刀,表示用户n 对项目j 的评分,r i 和 尺九分别表示用户i 和用户n 的对项目的平均评分。 2 1 4 2 基于项目的协同过滤推荐算法 为了解决基于用户协同过滤算法的数据稀疏性问题,s a r w a r b a d r u l 等人提出了一种基 于项目的协同过滤推荐算法。算法的基本思路是:计算目标项目和其他项目之间的相似性, 选择其中最相似的k 个项目 i 1 ,i 2 ,i k ) ,其对应的相似度为 s 1 ,s 2 ,s k ) ,然后将 目标用户对这k 个最相似项目的评分和这个k 个最相似项目与目标项目的相似度加权平均 后作为目标项目的评分。 基于项目的协同过滤推荐算法主要分为三个步骤: 1 、计算项目相似度 基于项目协同过滤算法需要计算项目间的相似度,并选择最相似的项目。计算项目i , j 的相似度首先分离出对项目共同评过分的用户,然后采用某种相似度量方法计算出项目i , j 间的相似度s i j 。项目相似度的计算方法有三种,分别是余弦相似度、修正的余弦相似度 和p e a r s o n 相关系数度量。 ( 1 ) 余弦相似度 两个项目作为m 维用户空间的两个向量,它们的相似性通过计算两个向量之间的余弦 夹角。如果用户没有对项目评分,则对应位置设为0 。项目i 和项目j 之间的余弦相似度s i m ( i , j ) 计算公式【2 4 】如( 2 5 ) 所示。 _ + s i m ( i ,j ) = c o s ( i ,_ ,) = o_ l j _ i i 川 ( 2 5 ) 分子为两个向量的内积,分母为两个向量模的乘积。如果s i m ( i , j ) 越大,表不项目i 和 项目j 的相似性越大。 ( 2 ) 修正的余弦相似度 修正余弦相似度也即s p e a r 相关系数度量。余弦

温馨提示

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

评论

0/150

提交评论