推荐系统

推荐系统(2)

Posted in 推荐系统 on September 29th, 2009 by laomi – 1 Comment

在前面的推荐系统文章中主要是介绍了推荐系统的一些基本含义以及他涉及到那些学科,这篇文章主要是从推荐系统定义以及研究问题上说说自己所了解到的推荐系统,有不对或者不足之处还希望大牛们给以指正。

推荐系统其主要是为了给用户从大规模数据中(也就是大家常常说的信息过载问题)找出用户想要的数据,它单独成为一门学科还是从上个世纪关于一篇用协作过滤的方法题出来的,但是对于推荐系统的定义主要经历了三个主要发展:

Resnick & Varian (1997)中定义:推荐系统就是一个集合一个群体中用户对于项目的信息,然后用这些信息去指导这个群体中其他人对这些推荐项的兴趣的系统。

Herlocker(2000)定义:推荐系统就是一个能够预测用户将来感兴趣或者用价值的推荐相的系统。

Burker(2003)定义:推荐系统它是一个能够将[1]产生个人推荐作为输出或者是[2]能够在用户从大规模的可选择的数据中,能够指导用户以个性化方式去选择感兴趣或者是用户的对象的系统。从定义上看,只要是满足满足条件[1]或者是条件[2]2我们都可以称之为推荐系统。

在推荐系统中,有一个很重要的因素是关于一个项目对于一个用户来说他的喜欢程度或者是有用程度的表达。我们直到对于一个事物的表达从我们的个人感觉去刻画的,它是比较抽象的,例如:你喜欢吃香蕉,但是你到底有多喜欢?一般是很难定量的去描述,只能去定性的角度去描述,往往我们常常说的是,我很喜欢吃香蕉或者是说,相对于苹果,我更喜欢吃香蕉。但是,对于计算机来说,喜欢就是喜欢,不喜欢就是不喜欢,它没有感情(起码现在的计算机基本上都是这样的吧),所以它需要一个确定的数值去描述他。在推荐系统中,常常用一个范围的值去刻画某个推荐项对用户的兴趣或者是作用,例如:在一个食物推荐系统中,可以用1表示喜欢,0表示不喜欢,或者是在一个电影评价系统中,常常会用几个值来描述用户对电影的兴趣。 read more »

协作推荐

Posted in 推荐系统 on August 21st, 2009 by laomi – Be the first to comment

前面的文章介绍了基于内容的推荐方法,它使用的是用户的过去的浏览记录来给用户做推荐,而协作推荐它是使用与用户喜好相似的用户们的喜好推荐给此用户,所以协作推荐系统它所看到的推荐项实质上是与他有相似喜好用户的浏览记录。例如一个电影评价网站中,系统会根据你在系统中的浏览记录,在系统中找出与你喜好相似的用户群,然后再将他们的喜好推荐给你。

协作推荐的效用函数的表达:项目s对于用户c的效用函数值主要取决于与用户有相似用户效用函数的值。例如:在电影推荐系统中,你所得到推荐项是那些和你有相同喜好的用户们的最喜欢的电影。根据协作过滤的算法,一般将协作过滤的方法分为两类:启发式的协作过滤和基于模型的协作过滤。

启发式协作过滤主要是根据所有用户以前评价过的项目记录来进行评价预测(就是计算效用函数的值,或者是说来运用说有的用户的评价项目来进行推荐),根据前面的知道我们知道,启发式的方法主要是凭借经验来计算效用函数。启发式的协作过滤对于用户c来说他对项目s的评价值 read more »

基于内容的推荐

Posted in 推荐系统 on August 20th, 2009 by laomi – Be the first to comment

基于内容的信息推荐方法的理论依据主要来自于信息检索信息过滤,所谓的基于内容的推荐方法就是根据用户过去的浏览记录来想用户推荐用户没有接触过的推荐项。下面主要是从两个方面来说基于内容的推荐方法:启发式的方法和基于模型的方法。

启发式的方法就是用户凭借经验来定义相关的计算公式,然后再根据公式的计算结果和实际的结果进行验证,然后再不断的是修改公式以达到最终目的。而对于模型的方法就是根据以往的数据作为数据集,然后根据这个数据集来学习出一个模型。一般的推荐系统中运用到的启发式的方法就是使用tf-idf的方法来计算,跟还有tf-idf的方法计算出这个文档中出现权重比较高的关键字作为描述用户特征,并使用这些关键字作为描述用户特征的向量;然后再根据被推荐项的中的权重高的关键字来作为推荐项的属性特征,然后再将这个两个向量最相近的(与用户特征的向量计算得分最高)的项推荐给用户。在计算用户特征向量和被推荐项的特征向量的相似性时,一般使用的是cosine方法,计算两个向量之间夹角的cosine值。 read more »

推荐系统

Posted in 推荐系统 on August 17th, 2009 by laomi – Be the first to comment

自从上个世纪90年代的一篇关于协作过滤的论文发表以后,推荐系统就成为了一个重要的研究领域了。那么什么是推荐系统呢?就是根据用户的喜好和习惯,把一些用户没有浏览过的信息呈现给用户。目前在学术界和工业界已经有了不少的信息推荐系统了,比如:亚马逊的产品推荐系统(推荐书籍和cd等)。在国内见过的最多就是校内的好友推荐和豆瓣的书籍推荐等。

如果对推荐系统进行追根溯源的话,推荐系统涉及到认知学、信息检索、预报科学和管理科学等等。推荐系统从20世纪90年代独立出来,成为一个独立的研究领域,起主要的研究对象就是估计推荐对象的等级。通常来说,推荐系统常常可以以如下的形式表达:C是所有用户的集合,S是所有有可能被推荐项目的集合(就是有可能推荐对象的集合),U是效用函数—就是对于某一个用户c来说s的有用程度。在推荐系统中,常常推荐给系统用户的是效用函数值最高的项目或者是最好的几个项目(item,也就是推荐对象)。 read more »