幼儿饰品瑜伽美体用品微软
投稿投诉
微软创意
爱情通信
用品婚姻
爱好看病
美体软件
影音星座
瑜伽周边
星座办公
饰品塑形
搞笑减肥
幼儿两性
智家潮品

探索推荐引擎内部的秘密推荐引擎初探

  探索推荐引擎内部的秘密系列将带领读者从浅入深的学习探索推荐引擎的机制,实现方法,其中还涉及一些基本的优化方法,例如聚类和分类的应用。同时在理论讲解的基础上,还会结合ApacheMahout介绍如何在大规模数据上实现各种推荐策略,进行策略优化,构建高效的推荐引擎的方法。本文作为这个系列的第一篇文章,将深入介绍推荐引擎的工作原理,和其中涉及的各种推荐机制,以及它们各自的优缺点和适用场景,帮助用户清楚的了解和快速构建适合自己的推荐引擎。
  信息发现
  如今已经进入了一个数据爆炸的时代,随着Web2。0的发展,Web已经变成数据分享的平台,那么,如何让人们在海量的数据中想要找到他们需要的信息将变得越来越难。
  在这样的情形下,搜索引擎(Google,Bing,百度等等)成为大家快速找到目标信息的最好途径。在用户对自己需求相对明确的时候,用搜索引擎很方便的通过关键字搜索很快的找到自己需要的信息。但搜索引擎并不能完全满足用户对信息发现的需求,那是因为在很多情况下,用户其实并不明确自己的需要,或者他们的需求很难用简单的关键字来表述。又或者他们需要更加符合他们个人口味和喜好的结果,因此出现了推荐系统,与搜索引擎对应,大家也习惯称它为推荐引擎。
  随着推荐引擎的出现,用户获取信息的方式从简单的目标明确的数据的搜索转换到更高级更符合人们使用习惯的信息发现。
  如今,随着推荐技术的不断发展,推荐引擎已经在电子商务(Ecommerce,例如Amazon,当当网)和一些基于social的社会化站点(包括音乐,电影和图书分享,例如豆瓣,Mtime等)都取得很大的成功。这也进一步的说明了,Web2。0环境下,在面对海量的数据,用户需要这种更加智能的,更加了解他们需求,口味和喜好的信息发现机制。
  推荐引擎
  前面介绍了推荐引擎对于现在的Web2。0站点的重要意义,这一章我们将讲讲推荐引擎到底是怎么工作的。推荐引擎利用特殊的信息过滤技术,将不同的物品或内容推荐给可能对它们感兴趣的用户。
  图1。推荐引擎工作原理图
  图1给出了推荐引擎的工作原理图,这里先将推荐引擎看作黑盒,它接受的输入是推荐的数据源,一般情况下,推荐引擎所需要的数据源包括:
  要推荐物品或内容的元数据,例如关键字,基因描述等;
  系统用户的基本信息,例如性别,年龄等
  用户对物品或者信息的偏好,根据应用本身的不同,可能包括用户对物品的评分,用户查看物品的记录,用户的购买记录等。其实这些用户的偏好信息可以分为两类:
  显式的用户反馈:这类是用户在网站上自然浏览或者使用网站以外,显式的提供反馈信息,例如用户对物品的评分,或者对物品的评论。
  隐式的用户反馈:这类是用户在使用网站是产生的数据,隐式的反应了用户对物品的喜好,例如用户购买了某物品,用户查看了某物品的信息等等。
  显式的用户反馈能准确的反应用户对物品的真实喜好,但需要用户付出额外的代价,而隐式的用户行为,通过一些分析和处理,也能反映用户的喜好,只是数据不是很精确,有些行为的分析存在较大的噪音。但只要选择正确的行为特征,隐式的用户反馈也能得到很好的效果,只是行为特征的选择可能在不同的应用中有很大的不同,例如在电子商务的网站上,购买行为其实就是一个能很好表现用户喜好的隐式反馈。
  推荐引擎根据不同的推荐机制可能用到数据源中的一部分,然后根据这些数据,分析出一定的规则或者直接对用户对其他物品的喜好进行预测计算。这样推荐引擎可以在用户进入的时候给他推荐他可能感兴趣的物品。
  推荐引擎的分类
  推荐引擎的分类可以根据很多指标,下面我们一一介绍一下:
  推荐引擎是不是为不同的用户推荐不同的数据根据这个指标,推荐引擎可以分为基于大众行为的推荐引擎和个性化推荐引擎
  根据大众行为的推荐引擎,对每个用户都给出同样的推荐,这些推荐可以是静态的由系统管理员人工设定的,或者基于系统所有用户的反馈统计计算出的当下比较流行的物品。
  个性化推荐引擎,对不同的用户,根据他们的口味和喜好给出更加精确的推荐,这时,系统需要了解需推荐内容和用户的特质,或者基于社会化网络,通过找到与当前用户相同喜好的用户,实现推荐。
  这是一个最基本的推荐引擎分类,其实大部分人们讨论的推荐引擎都是将个性化的推荐引擎,因为从根本上说,只有个性化的推荐引擎才是更加智能的信息发现过程。
  根据推荐引擎的数据源其实这里讲的是如何发现数据的相关性,因为大部分推荐引擎的工作原理还是基于物品或者用户的相似集进行推荐。那么参考图1给出的推荐系统原理图,根据不同的数据源发现数据相关性的方法可以分为以下几种:
  根据系统用户的基本信息发现用户的相关程度,这种被称为基于人口统计学的推荐(DemographicbasedRecommendation)
  根据推荐物品或内容的元数据,发现物品或者内容的相关性,这种被称为基于内容的推荐(ContentbasedRecommendation)
  根据用户对物品或者信息的偏好,发现物品或者内容本身的相关性,或者是发现用户的相关性,这种被称为基于协同过滤的推荐(CollaborativeFilteringbasedRecommendation)。
  根据推荐模型的建立方式可以想象在海量物品和用户的系统中,推荐引擎的计算量是相当大的,要实现实时的推荐务必需要建立一个推荐模型,关于推荐模型的建立方式可以分为以下几种:
  基于物品和用户本身的,这种推荐引擎将每个用户和每个物品都当作独立的实体,预测每个用户对于每个物品的喜好程度,这些信息往往是用一个二维矩阵描述的。由于用户感兴趣的物品远远小于总物品的数目,这样的模型导致大量的数据空置,即我们得到的二维矩阵往往是一个很大的稀疏矩阵。同时为了减小计算量,我们可以对物品和用户进行聚类,然后记录和计算一类用户对一类物品的喜好程度,但这样的模型又会在推荐的准确性上有损失。
  基于关联规则的推荐(RulebasedRecommendation):关联规则的挖掘已经是数据挖掘中的一个经典的问题,主要是挖掘一些数据的依赖关系,典型的场景就是购物篮问题,通过关联规则的挖掘,我们可以找到哪些物品经常被同时购买,或者用户购买了一些物品后通常会购买哪些其他的物品,当我们挖掘出这些关联规则之后,我们可以基于这些规则给用户进行推荐。
  基于模型的推荐(ModelbasedRecommendation):这是一个典型的机器学习的问题,可以将已有的用户喜好信息作为训练样本,训练出一个预测用户喜好的模型,这样以后用户在进入系统,可以基于此模型计算推荐。这种方法的问题在于如何将用户实时或者近期的喜好信息反馈给训练好的模型,从而提高推荐的准确度。
  其实在现在的推荐系统中,很少有只使用了一个推荐策略的推荐引擎,一般都是在不同的场景下使用不同的推荐策略从而达到最好的推荐效果,例如Amazon的推荐,它将基于用户本身历史购买数据的推荐,和基于用户当前浏览的物品的推荐,以及基于大众喜好的当下比较流行的物品都在不同的区域推荐给用户,让用户可以从全方位的推荐中找到自己真正感兴趣的物品。
  深入推荐机制
  这一章的篇幅,将详细介绍各个推荐机制的工作原理,它们的优缺点以及应用场景。
  基于人口统计学的推荐
  基于人口统计学的推荐机制(DemographicbasedRecommendation)是一种最易于实现的推荐方法,它只是简单的根据系统用户的基本信息发现用户的相关程度,然后将相似用户喜爱的其他物品推荐给当前用户,图2给出了这种推荐的工作原理。
  图2。基于人口统计学的推荐机制的工作原理
  从图中可以很清楚的看到,首先,系统对每个用户都有一个用户Profile的建模,其中包括用户的基本信息,例如用户的年龄,性别等等;然后,系统会根据用户的Profile计算用户的相似度,可以看到用户A的Profile和用户C一样,那么系统会认为用户A和C是相似用户,在推荐引擎中,可以称他们是邻居;最后,基于邻居用户群的喜好推荐给当前用户一些物品,图中将用户A喜欢的物品A推荐给用户C。
  这种基于人口统计学的推荐机制的好处在于:
  因为不使用当前用户对物品的喜好历史数据,所以对于新用户来讲没有冷启动(ColdStart)的问题。
  这个方法不依赖于物品本身的数据,所以这个方法在不同物品的领域都可以使用,它是领域独立的(domainindependent)。
  那么这个方法的缺点和问题是什么呢?这种基于用户的基本信息对用户进行分类的方法过于粗糙,尤其是对品味要求较高的领域,比如图书,电影和音乐等领域,无法得到很好的推荐效果。可能在一些电子商务的网站中,这个方法可以给出一些简单的推荐。另外一个局限是,这个方法可能涉及到一些与信息发现问题本身无关却比较敏感的信息,比如用户的年龄等,这些用户信息不是很好获取。
  基于内容的推荐
  基于内容的推荐是在推荐引擎出现之初应用最为广泛的推荐机制,它的核心思想是根据推荐物品或内容的元数据,发现物品或者内容的相关性,然后基于用户以往的喜好记录,推荐给用户相似的物品。图3给出了基于内容推荐的基本原理。
  图3。基于内容推荐机制的基本原理
  图3中给出了基于内容推荐的一个典型的例子,电影推荐系统,首先我们需要对电影的元数据有一个建模,这里只简单的描述了一下电影的类型;然后通过电影的元数据发现电影间的相似度,因为类型都是爱情,浪漫电影A和C被认为是相似的电影(当然,只根据类型是不够的,要得到更好的推荐,我们还可以考虑电影的导演,演员等等);最后实现推荐,对于用户A,他喜欢看电影A,那么系统就可以给他推荐类似的电影C。
  这种基于内容的推荐机制的好处在于它能很好的建模用户的口味,能提供更加精确的推荐。但它也存在以下几个问题:
  需要对物品进行分析和建模,推荐的质量依赖于对物品模型的完整和全面程度。在现在的应用中我们可以观察到关键词和标签(Tag)被认为是描述物品元数据的一种简单有效的方法。
  物品相似度的分析仅仅依赖于物品本身的特征,这里没有考虑人对物品的态度。
  因为需要基于用户以往的喜好历史做出推荐,所以对于新用户有冷启动的问题。
  虽然这个方法有很多不足和问题,但他还是成功的应用在一些电影,音乐,图书的社交站点,有些站点还请专业的人员对物品进行基因编码,比如潘多拉,在一份报告中说道,在潘多拉的推荐引擎中,每首歌有超过100个元数据特征,包括歌曲的风格,年份,演唱者等等。
  基于协同过滤的推荐
  随着Web2。0的发展,Web站点更加提倡用户参与和用户贡献,因此基于协同过滤的推荐机制因运而生。它的原理很简单,就是根据用户对物品或者信息的偏好,发现物品或者内容本身的相关性,或者是发现用户的相关性,然后再基于这些关联性进行推荐。基于协同过滤的推荐可以分为三个子类:基于用户的推荐(UserbasedRecommendation),基于项目的推荐(ItembasedRecommendation)和基于模型的推荐(ModelbasedRecommendation)。下面我们一个一个详细的介绍着三种协同过滤的推荐机制。
  基于用户的协同过滤推荐
  基于用户的协同过滤推荐的基本原理是,根据所有用户对物品或者信息的偏好,发现与当前用户口味和偏好相似的邻居用户群,在一般的应用中是采用计算K邻居的算法;然后,基于这K个邻居的历史偏好信息,为当前用户进行推荐。下图4给出了原理图。
  图4。基于用户的协同过滤推荐机制的基本原理
  上图示意出基于用户的协同过滤推荐机制的基本原理,假设用户A喜欢物品A,物品C,用户B喜欢物品B,用户C喜欢物品A,物品C和物品D;从这些用户的历史喜好信息中,我们可以发现用户A和用户C的口味和偏好是比较类似的,同时用户C还喜欢物品D,那么我们可以推断用户A可能也喜欢物品D,因此可以将物品D推荐给用户A。
  基于用户的协同过滤推荐机制和基于人口统计学的推荐机制都是计算用户的相似度,并基于邻居用户群计算推荐,但它们所不同的是如何计算用户的相似度,基于人口统计学的机制只考虑用户本身的特征,而基于用户的协同过滤机制可是在用户的历史偏好的数据上计算用户的相似度,它的基本假设是,喜欢类似物品的用户可能有相同或者相似的口味和偏好。
  基于项目的协同过滤推荐
  基于项目的协同过滤推荐的基本原理也是类似的,只是说它使用所有用户对物品或者信息的偏好,发现物品和物品之间的相似度,然后根据用户的历史偏好信息,将类似的物品推荐给用户,图5很好的诠释了它的基本原理。
  假设用户A喜欢物品A和物品C,用户B喜欢物品A,物品B和物品C,用户C喜欢物品A,从这些用户的历史喜好可以分析出物品A和物品C时比较类似的,喜欢物品A的人都喜欢物品C,基于这个数据可以推断用户C很有可能也喜欢物品C,所以系统会将物品C推荐给用户C。
  与上面讲的类似,基于项目的协同过滤推荐和基于内容的推荐其实都是基于物品相似度预测推荐,只是相似度计算的方法不一样,前者是从用户历史的偏好推断,而后者是基于物品本身的属性特征信息。
  图5。基于项目的协同过滤推荐机制的基本原理
  同时协同过滤,在基于用户和基于项目两个策略中应该如何选择呢?其实基于项目的协同过滤推荐机制是Amazon在基于用户的机制上改良的一种策略,因为在大部分的Web站点中,物品的个数是远远小于用户的数量的,而且物品的个数和相似度相对比较稳定,同时基于项目的机制比基于用户的实时性更好一些。但也不是所有的场景都是这样的情况,可以设想一下在一些新闻推荐系统中,也许物品,也就是新闻的个数可能大于用户的个数,而且新闻的更新程度也有很快,所以它的形似度依然不稳定。所以,其实可以看出,推荐策略的选择其实和具体的应用场景有很大的关系。
  基于模型的协同过滤推荐
  基于模型的协同过滤推荐就是基于样本的用户喜好信息,训练一个推荐模型,然后根据实时的用户喜好的信息进行预测,计算推荐。
  基于协同过滤的推荐机制是现今应用最为广泛的推荐机制,它有以下几个显著的优点:
  它不需要对物品或者用户进行严格的建模,而且不要求物品的描述是机器可理解的,所以这种方法也是领域无关的。
  这种方法计算出来的推荐是开放的,可以共用他人的经验,很好的支持用户发现潜在的兴趣偏好
  而它也存在以下几个问题:
  方法的核心是基于历史数据,所以对新物品和新用户都有冷启动的问题。
  推荐的效果依赖于用户历史偏好数据的多少和准确性。
  在大部分的实现中,用户历史偏好是用稀疏矩阵进行存储的,而稀疏矩阵上的计算有些明显的问题,包括可能少部分人的错误偏好会对推荐的准确度有很大的影响等等。
  对于一些特殊品味的用户不能给予很好的推荐。
  由于以历史数据为基础,抓取和建模用户的偏好后,很难修改或者根据用户的使用演变,从而导致这个方法不够灵活。
  混合的推荐机制
  在现行的Web站点上的推荐往往都不是单纯只采用了某一种推荐的机制和策略,他们往往是将多个方法混合在一起,从而达到更好的推荐效果。关于如何组合各个推荐机制,这里讲几种比较流行的组合方法。

乘风破浪投资去文前提要:最近浪姐火了,而在投资理财中,每一位投资者都是浪哥浪姐,因为我们迎着市场趋势变化的风,要不断面对资产价格波动的浪,只有乘风破浪才能取得成功。近期最火的综艺节目还……管理必备实用表格模板合集财务人力资源营销制度文件分为三个层次,即管理规定(包括管理制度及管理办法)、工作流程(包括工作指引)和标准表单。1、管理规定是公司运作过程中第一层次文件,规定了公司业务管理的基本原则、管……悉尼游记白是一种圣洁的颜色,它代表着神圣与纯洁。而美丽的海滨城市悉尼,也处处留白。悉尼的沙滩是白的。悉尼的沙滩处处可见。沙质柔软,细腻,如同足浴一般。走在海滩上,沙滩的洁白……与青春有关的日子平静的日子一天天地走近,又一天天地远离,当秋天越来越深的时候,才知道墙外的鲜花和绿草早已凋零,水边的蝴蝶也早已成了蛹。蓦然回首间,才发现那些快乐的日子、那些忧郁的日子、那些激情……这就是我她瀑布般的长发下长着一张圆圆的脸,脸上有着一对又大又亮的眼睛,一个高高的鼻子下有一张樱桃小嘴。她的身高不是特别高,但是她特别热爱舞蹈,而且她跳起舞来也是很优雅的。除此之外,她还……汉朝大将韩信竟是死敌项羽部下这是什么原因秦末农民战争中,韩信仗剑投奔项梁军,项梁兵败后归附项羽。他曾多次向项羽献计,始终不被采纳,于是离开项羽前去投奔了刘邦。有一天,韩信违反军纪,按规定应当斩首,临刑时看见汉将夏侯婴……浅谈初中数学教学中分层教学模式的运用摘要:为了促进学生的个性发展,保证每一个学生都能够在课堂学习的过程中获得真正的发展,在现代初中数学教学的过程中,教师要注意运用分层教学模式进行教学,在教学的过程中积极的回应所有……不错过她的良苦用心有一群人,在角落,无声地燃烧着自己,殊不知早已白了发。记忆中,她是陆老师口中那个舞姿优美的老魏;是同学口中那个大学时代白得像个瓷娃娃的美丽女子;她是那个让我眼前一亮的魏老……所谓造句用所谓造句大全(121)炫耀什么,缺少什么;掩饰什么,自卑什么。所谓正常人,只是自我防御比较好的人。真正的心理健康,是不设防而又不受害。(122)我们也没有必要去过度的追求完美,完美和……保卫战造句用保卫战造句大全(31)1885年初孤拔率舰队气势汹汹来犯镇海,薛福成坐镇宁波,协调指挥镇海保卫战。(32)解放战争时期,他先后参加了汾孝战役、开栅保卫战、黄崖战斗、古交战斗等。(……女性九个会出现想被亲吻的瞬间据日本Peachy网站报道,想和喜欢的人接吻,这种心情不分男女,都是很自然的事情。但同时,并不是所有的时间地点和场合都是合适的。尤其在女性中,认为接吻很重要的人很多,时机……樱花树下二打开门后,我转身向客厅走去,不用猜那家伙也会大摇大摆的走进来的,而且接下来他肯定会问我:吃饭没?不出所料熙源这家伙在我还没走到客厅沙发的路上问我:吃饭没?哼,不可以讲我已……
我国编年体史书有哪些春秋最早资治通鉴最大编年体史书,一种以时间为经,以史事为纬,记载中国历史事件的史书体裁。从春秋开始,2000多年的历史里,诞生了许多编年体史书,至于我国编年体史书有哪些?出名的有《春秋》、《左传》……生活中的一个简单动作有大奇效人总是想着各种各样的方法让身体健康起来,但人总是会忘记最简单的才是最好的。其实能够帮助我们锻炼身体,保护身体健康的事情我们每天都在做,只是做多少和坚持多久的问题,这种方式快捷、……但是烧坏做生意不但会威胁餐饮企业或经验丰富这仅仅是十条。假如他挂了,除了他的狗腿子之外,没有人会感到哀痛。他办公室的门经常关着,特别是在午饭之后。在很长一段时间里,你们一片茫然,要么作些无用功,要么无所事事,之后会有短……惊惶造句用惊惶造句大全(31)思嘉一时间惊惶失措,还来不及产生放心的感觉。(32)行者道:“不消说了。心净孤明独照,心存万境皆清。差错些儿成惰懈,千年万载不成功。但要一片志诚,雷音只在跟下。似……米跑步从小,我就避得体育锻炼远远的,对它敬而远之,说不上来的讨厌。一是觉得自己做不到,二是做的到的人做的太好了。日积月累便对它望而生畏。可是,中考就是要考体育呀。为了生存,我也……一年零三个月那是我的第一份工作,且先这么说,2008年11月14日报到,那一天正好是个周五,后来周一或者是周二吧就上班了,那时候的每一天都是那么勤奋,总是会提前好长时间到办公室,下夜班的大……皮衣搭配裙子图片女赚足回头率帅气的机车皮衣搭配女人味十足的美裙,这对CP似乎是混搭界的鼻祖,而在混搭风盛行的今年,他们的出镜率更是极高。帅气中融入甜美,叛逆中添加优雅,将朋克演绎出各种不同的味道。时装周落……道德經老子如是說第十一章第十一章【原文】三十輻,共一轂〔1〕,當其無〔2〕,有車之用〔3〕。埏埴以爲器〔4〕,當其無,有器之用,鑿戶牖以爲室〔5〕,當其無,有室之用。故有之以爲利〔6〕,無……温和造句用温和造句大全61、月光如水,静静地洒在地上,给大地披上银灰色的纱裙。她穿着白色的衬衫,娴静而安详,温柔而大方,她那玉盘似的脸,透过柳梢,留下温和的笑容,啊,这就是那梦幻般的美吗?62……你无法逃离北上广北上广。对于自己内心没有方向的人,去哪里都是逃离,而对于生命有方向的人,走向哪里都是追寻。所以苏轼被发配到那时的四线城市惠州,才会写下试问岭南应不好?却道:此心安处是吾乡。ww……莲友回帖妩媚嫣然惹人醉芙蓉雨:妹妹,动图插件我更换了地址,只能在谷歌浏览器显示画面,你看看效果如何。妩媚嫣然惹人醉(芙蓉雨)原音乐已失链http:music。163。comsongmediao……卑鄙造句用卑鄙造句大全【卑鄙bib】:(语言、行为)恶劣;不道德:~无耻~龌龊(形容品质、行为恶劣)~的行径。〈书〉卑微鄙陋。1、卑鄙的朋友,远比正直的敌人更可怕的多。2、卑鄙是卑鄙者的……
友情链接:易事利快生活快传网聚热点七猫云快好知快百科中准网快好找文好找中准网快软网