如果我有100万个用户,我就为他们做100万个亚马逊网站 。——Jeff Bezos
说到推荐系统,可能大家首先会想到个性化推荐,如淘宝、亚马逊等网站都在使用个性化商品推荐系统。进一步可能会想到基于用户推荐、基于内容推荐、基于关联规则推荐、协同过滤等等,可以说现在我们经常用的各种在线服务都或多或少的使用了这项技术来提高他们的服务。
面临的问题
数据稀疏:数据规模越大越稀疏;
冷启动:主要是新用户的推荐问题;
大数据处理与增量计算:如何高效的处理大量的数据;
多样性与精确性;
推荐系统的脆弱性:算法能否在一定程度上保持对恶意攻击的鲁棒性;
用户行为挖掘与用户画像:深入挖掘用户的行为模式可提高推荐的效果和在更复杂的场景下进行推荐;
社会推荐:用户更喜欢来自朋友的推荐而不是被系统算出来的推荐,社会影响力被认为比历史行为的相似性更加重要;
目前主要使用的推荐算法
1、基于内容的推荐
基于内容的推荐系统中,是通过相关内容的特征属性来定义,系统基于用户评价对象的特征,学习用户的兴趣,考察用户资料与待预测项目的相匹配程度。而用户的资料模型取决于所用学习方法,常用的有决策树、神经网络和基于向量的表示方法等。基于内容的用户资料是需要有用户的历史数据,用户资料模型可能随着用户的偏好改变而发生变化。
优点:
1)没有冷启动、新项目和数据稀疏问题
2)能为具有特殊兴趣爱好的用户进行推荐
缺点:
1)所推荐的内容必须能抽象出有意义的特征,并且具有良好的结构性
2、协同过滤推荐
协同过滤推荐(Collaborative FilteringRecommendation)技术是推荐系统中
应用最早和最为成功的技术之一。它一般采用最近邻技术,利用用户的历史喜好信息计算用户之间的距离,然后利用目标用户的最近邻居用户对商品评价的加权评价值来预测目标用户对特定商品的喜好程度,系统从而根据这一喜好程度来对目标用户进行推荐。
优点:
1)能够有效的使用其他相似用户的反馈信息,较少用户的反馈量,加快个性化学习的速度
2)能够过滤难以进行机器自动内容分析的信息,如艺术品,音乐等
3)有推荐新信息的能力
缺点:
1)数据稀疏性问题
2)可扩展性问题
3、基于关联规则的推荐
基于关联规则的推荐(Association Rule-basedRecommendation)是以关联规则为基础,如把已购商品作为规则头,规则体为推荐对象。关联规则挖掘可以发现 不同商品在销售过程中的相关性,在零售业中已经得到了成功的应用。管理规则就是在一个交易数据库中统计购买了商品集X的交易中有多大比例的交易同时购买了商品集Y,其直观的意义就是用户在购买某些商品的时候有多大倾向去购买另外一些商品
4.基于效用的推荐
基于效用的推荐(Utility-basedRecommendation)是建立在对用户使用项目的效用情况上计算的,其核心问题是怎么样为每一个用户去创建一个效用函数,因此,用户资料模型很大程度上是由系统所采用的效用函数决定的。基于效用推荐的好处是它能把非产品的属性,如提供商的可靠性(VendorReliability)和产品的可得性(Product Availability)等考虑到效用计算中
5、基于知识的推荐
基于知识的推荐(Knowledge-basedRecommendation)在某种程度是可以看成是一种推理(Inference)技术,它不是建立在用户需要和偏好基础上推荐的。基于知识的方法因它们所用的功能知识不同而有明显区别。效用知识(FunctionalKnowledge)是一种关于一个项目如何满足某一特定用户的知识,因此能解释需要和推荐的关系,所以用户资料可以是任何能支持推理的知识结构,它可以是用户已经规范化的查询,也可以是一个更详细的用户需要的表示。