Xiaolv2009-Relevanceismoresignificantthancorrelation:Informationfilteringonsparsedata本文提出了在针对数据稀疏时,使用相关性信息比关联性信息效果更好,因为在关联性信息中,会用到更多的数据,RecommendationSystem推荐系统存在的主要挑战:1.Datasparsity.2.Scalability解决该问题的一般方法(28-30)a)有必要考虑计算成本问题和需找推荐算法,这些算法要么是小点的要求或易于并行化(或两者)b)使用基于增量的算法,随着数据的增加,不重新计算所有的数据,而是微调的进行3.Coldstart解决该问题的方法一般有a)使用混合推荐技术,结合content和collaborative数据,或者需要基础信息的使用比如用户年龄、位置、喜好genres(31、32)b)识别不同web服务上的单独用户。比如Baifendian开发了一个可以跟踪到单独用户在几个电子商务网站上的活动,所以对于在网站A的一个冷启动用户,我们可以根据他在B,C,D网站上的记录来解决其冷启动问题。4.Diversityvs.Accuracy(多样性和精确性)将一些很受欢迎的且高评分的商品推荐给一个用户时,推荐非常高效,但是这种推荐不起多少作用,因为这些商品可以很容易的找到。因此一个好的推荐商品的列表应该包含一些不明显的不容易被该用户自己搜索到的商品。解决该问题的方法主要是提高推荐列表的多样性,以及使用混合推荐方法。(34-37)5.Vulnerabilitytoattacks6.Thevalueoftime.7.Evaluationofrecommendations8.erinterface.除了这些问题外,还有其他的。随着相关学科分支的出现,特别是网络分析工具,科学家考虑网络结构对推荐的效果影响,以及如何有效使用已知的结构属性来提高推荐。比如,(45)分析了消费者-商品网络并提出了一个基于喜好边(preferringedges)改进的推荐算法,该算法提高了局部聚类属性。(46)设计并提高了算法,该算法充分利用了社区结构(communitystructure)。随之而来的挑战主要有:带有GPS移动手机成为主流,并且可以访问网络,因此,基于位置的推荐更需要精确的推荐,其需要对人的移动有一个高效预测能力(47、48)并且高质量的定义位置和人之间的相似性的方法。(49、50)。智能推荐系统需考虑不同人的不同行为模式。比如新用户比较喜欢访问popular商品并且选择相似的商品,而老的用户有更不同的喜好(51,52)用户行为在低风险商品和高风险商品之间更加的不同。(53,54)推荐系统的一些概念网络网络分析对于复杂系统的组织原则的发现是一个万能的工具(5-9)。网络是由一些元素点和连接点的边组成的。点即为个人或者组织,边为他们之间的交互。网络G可用(V,E)表示,V(vertice)为节点的集合,E为边(edge)的集合。在无向网络中,边无方向。在有向网络中,边有向。我们假设网络中不存在回路以及两个节点之间不存在多条边。G(V,E)图中,一些参数表示是指与节点x连接的节点(即x的邻居)的集合。即为x节点的度。即为度为k的所有节点被随机选中的概率,假设度为k的节点有x个,总节点为N,则=x/N。即网络中的节点个数。即为网络直径,指在所有节点间最大的距离。为平均距离,计算公式为:,为x节点到y节点的距离。,即给定节点x的聚集系数,即x节点的邻居之间存在的边数/x的邻居对的个数。,为x节点的个邻居之间的边数网络聚集系数,即为所有节点x(1)的聚集参数的和的平均。Bipartitenetwork(由两部分构成的网络)即一个网络G(V;E),如果存在一个分割(V1;V2),使得,并且V1集合的节点与V2集合的节点都有一个边连接。Web-baseduser-objectnetworks即为该类网络。(51、76-78)以下为对分网络的信息来源:://对分网络即bipartitenetwork,是一个属于复杂网络研究的对象。在这篇文章里,作者第一次把它引入到推荐系统的应用当中。依我来看,这是一种非正统的推荐方法,又是去年新发表的文章,兼且我对作者的思路也有一些了解,所以想拿出来介绍一下。所谓正统的推荐方法,可以参考这里的概述。发展到现在,比较成熟常用的推荐方法主要可分类为:1、contented-based;2、collaborativefiltering;3、hybridmethod。又有以:基于个人历史的推荐、基于社会化的推荐、基于产品的推荐这样的分法。无一例外地,以描述用户的兴趣为出发点,通过不同的搜索策略,最后落脚于对用户未来兴趣的预测。与以往不同的是,这篇文章从开始就以网络模型为研究的基本对象,而非网络中的节点,出发点在于网络特性的研究,在解决了对分网络加权映射的问题之后,有点生产副产品意味地把方法应用在推荐系统上。作者是我的校友,在学期间我也曾经听过他的几次报告,他属于典型的具有理科思维的人。其物理背景加上一个研究复杂系统、复杂网络的团队,造就了作者喜欢从模型的高度,而非从具体某个问题出发思考的习惯。所以我觉得这篇文章对于冲淡以往已成定势的推荐系统思维方式,是有好处的。什么是对分网络如果我们把网络理解为描述现实世界对象间某种关系的数学模型,对分网络就是描述这样的一种特殊的关系:对象可以分为两个集合,如X与Y,关系(即网络的边)仅仅存在于不同集合的节点之间,同一个集合内的节点不存在直接连接,而是通过另一个集合而产生间接关联。这是一种具有广泛意义的模型,如不同作者通过共同撰写的文章所形成的合作关系;化学物质与化学反应所组成的新陈代谢网络;豆瓣上不同的读者因看一样的书而形成的阅读同好网络;amazon上不同用户因购买共同的商品所构成的购买兴趣网络等等。对分网络的单模态映射与赋权要使得对分网络具有应用价值,通常要得到同一个集合内元素之间存在的关系,研究上这叫作对X(或Y)的单模态映射(one-modeprojection)。这种映射的结果不单可以实现数据的压缩,并可同时得到极具意义的同一集合内各节点之间的关系。例如,得到“阅读同好网络”中各个用户之间的兴趣相似度或是书籍之间的相似度,自然要比原始的对分网络更有价值。怎样给节点的连接边加权是单模态映射及其应用中关键的问题,因为边的权值意味着两个节点关系的密切程度。比较常见的映射方法可参看图1:对于集合X中的节点x(i)与x(j),如果它们共同地连接了n个Y集中的节点,则x(i)与x(j)的连接权值为n。但这种方法存在着很多的问题,例如:x(i)与x(j)的连接权值随着n的增加而呈线性增长的趋势,但这并非一种符合现实的描述方式,其实我们可以设想两个作者共同合作的文章数从1增长到2,其意义当然是比从100增长到101要更大,所以有人提出要采用双曲正切函数而非线性函数来对n进行映射。这些方法我在这里都不再赘述,只介绍作者在文中提出的比较好的一个解决方案:资源-分配过程,来处理这个赋权的问题。图1,对分网络的单模态映射资源-分配过程(resource-allocationprocess)见图2,(a)是一个对分网络,上面的三个节点构成一个集合,下面的四个节点构成另一个集合。设上面三个节点的初始资源值为x,y,z,第一步这些资源根据连接关系流动到另一个集合中(b),流动过程中某节点的资源根据它的“出度”(即从该节点出发的边)而被稀释,如x有三个“出边”,则每一个终点都得到了x/3。在资源分配到下面四个节点后,第二步,把资源再流回原来的集合,遵循的原则与第一步是一致的。这样就得到了原集合最终的资源分配,这个分配是通过两个集合之间的共同连接关系所实现的再分配,携带了这个网络的拓扑结构信息。对比原资源与最终的资源值,我们可以得到一个矩阵的映射关系,见图3。这就是资源-分配过程的结果,得到一个从原始资源到最终资源的映射结果。矩阵中w(i,j)所代表的意义为:对于i来说,j有多大的价值。这实质上实现了给节点i与节点j的连接赋权这么一个任务。图2,资源-分配过程图3,资源-分配过程后的映射矩阵个性化推荐到目前为止,我们都只是解决了对分网络中权值分配这么一个问题,最后我们关注的是这么一个问题的解决对于推荐系统有些什么帮助。(b)根据上面介绍的模型与流程,可以开始把数学抽象与实际问题结合起来了。现在我们考虑用户看电影这么一个网络,以用户作为一个集合U{u(1),u(2),u(3),…,u(m)},电影条目作为一个集合O{o(1),o(2),o(3),…,o(n)},根据某个用户看过某部电影的关系,我们可以连接两个集合中的对应节点(如果系统记录的是打分关系而非看过关系,可以对打分的分值进行分段处理,较大的分值有连接,较小的无连接),这样就形成了一个用户~电影的对分网络。下一步,要通过单模态映射来实现对用户的推荐。假设现在要对用户u(i)进行推荐,该用户看过电影的集合为Oi{o(j),o(j+1),o(j+2),…},如果不考虑电影之间的差别,可以给每一个Oi中的电影都赋予一个初始的资源值1,不在Oi中的电影则资源值为0。接下来根据上一节介绍的资源-分配过程,让O中的资源从O流向U,再从U流回O。这样我们可以得到一个从原始O的资源值到最终O的资源值的一个映射矩阵,就像图3那个矩阵一样。不同的是,现在每一个O都有一个初始的资源值,而不是一个抽象的符号,所以我们可以计算得到每一个O节点的资源值。最后把所有O节点根据资源值的大小进行排序,把资源值高的并且未为U(i)所看过的电影推荐给他。即完成对一个用户的推荐。讨论这种方法来自于复杂网络的研究(用于推荐时作者称该方法为Network-BasedInference,NBI),在某些方面却与协同过滤(CF)有着异曲同工之妙,都是利用一个同好网络进行社会化的推荐。相比而言,CF的原理更为直接,从矢量计算的角度来理解显得很简单明了。NBI本质上也利用用户之间的共同兴趣对条目进行划分,但其基础是网络的动力学,看起来并不那么地直观(但喜欢动态变化的人会觉得这个很优美)。据作者对一个标准数据集的测试结果声称,NBI在预测性能上相比于CF存在着优势。推荐系统参数说明:M为用户数;N为对象(object,item)数;i,j代表用户表示方式;、为商品的表示方式;即为用户i对的评价推荐系统分类:基于内容的推荐:推荐的商品是那些与目标用户以前喜欢的商品在内容上相似。协同推荐:推荐的商品是基于很多用户对该商品的评价的基础上选择的。又可分为:基于内存的协同过滤(Memory-basedcollaborativefiltering):推荐的商品是与目标用户具有相似偏好的用户喜欢的商品。或者是那些与目标用户喜欢的其他商品相似的商品。主要模型包括:1)贝叶斯网络模型(Bayesiannetworksmodels)2)聚类模型(clusteringmodels)3)潜在语义模型(latentsemanticmodels)4)MDP模型(MDPmodel)基于模型的协同过滤(Model-basedcollaborativefiltering):是由模式选择的,这些模式可以识别输入数据的模型。1)基于用户的2)基于商品的混合方法:将协同和基于内容的方法结合起来。3.4推荐的评价MetricsTable3:Summaryofthepresentedrecommendationmetrics.Thethirdcolumnrepresentsthepreferenceofthemetric(e.g.,smallerMAEmeanshigherratingaccuracy).Thefourthcolumndescribesthescopeofthem