推荐系统入门

hang0 2011-10-16

推荐系统是根据用户兴趣和行为特点,向用户推荐所需的信息或商品,帮助用户在过载信息中快速发现真正所需的商品,提高用户黏性,促进信息点击和商品销售。基于海量数据挖掘分析的商业智能平台,主要基于以下信息:

1.热点信息或商品

2.用户信息,如性别、年龄、职业、收入、所在城市

3.用户历史浏览或购买行为记录

4.社会化关系

推荐目标

1.提高单个信息或商品被访问的机会

2.增加用户滞留时间,提高用户黏性

3.促进信息访问或商品销售

4.帮助用户发现感兴趣的信息或商品,提高用户体验

典型代表

–电子商务:Amazon、eBay、淘宝网、当当网

–IPTV:Netflix、Youtube、Pandora、Last.fm、土豆

–SNS:Facebook、Twitter、Del.icio.us、豆瓣

如何工作?

–用户信息收集,如个人信息、历史行为、评分、社会化关系

–用户偏好分析,如喜好特征、用户分类/聚类

–个性化推荐,如协同过滤、关联规则

主要问题

–缺少数据:数据越多,推荐越精确

–数据变化:数据不断变化,历史数据是否仍然生效?

–用户偏好变化:用户可能存个多个偏好,并会发生变化

–精确推荐困难:有些用户是多样化和不可预测的

–推荐系统复杂:海量数据、算法、实时性、精确性

推荐分类

–个性化推荐:根据用户行为历史进行推荐

–社会化推荐:根据相似用户行为历史进行推荐

–基于物品推荐:根据物品本身的特征进行推荐

在这里要根据推荐的不同算法,考虑不同的对象。比如说CF:基于用户的需要考虑其他用户在t时刻都做了什么;而基于item的需要考虑这个用户在t时刻还访问了哪些item!!

对于user-base和item-base:根据实现机制物理载体划分,以上两类协同推荐系统可以分为:内存型和模式型的协同推荐。一般内存型的都比较直观,适合于小型的数据集合,而模式型的一般都是利用机器学习的方法,适用于大规模的数据分析,也可以称之为离线分析。

推荐依据

–Friendship,如Facebook

–Membership,如Digg

–Familiarity

–Trust/distrust

–Follow,如Twitter

–Similarity[相似性]

推荐特点

–以用户为中心,建立用户行为模型

–有记忆的,进化的系统

–由知识形成系统结构

主要推荐算法

–协同过滤(Collaborativefiltering):这是目前应用最为成功和广泛的推荐算法。它充分利用集体智慧,在大量用户或物品中搜索,并从中发现品味相近的用户或属性相近的物品,据此构造经过排序的推荐列表。

–关联规则(CorrelationRule):挖掘物品的空间上的相关性,即发现同时被访问或购买的物品,据此为用户推荐。最为成功和经典的例子就是沃尔玛超市的物品排列-尿布和啤酒放在一起销售和例子。

–分类/聚类(Classification/Clustering):同一类别的用户喜欢的东西,非常可能也是你喜欢的。算法来发现用户群组,并根据群组中其他用户浏览或者购买的物品来为当前用户推荐。

–基于内容(Content-based):分析物品内容或属性来构造相关性,据此构造推荐列表。这种算法主要用于电子信息物品的推荐,如网页、ebook、图片、音乐、视频。

–混合推荐:综合运用以上多种推荐算法进行推荐,不同算法之间可以取长补短。但增加了一定的复杂性,而且推荐结果也不容易解释。

推荐难点问题

–新物品冷启动

–用户兴趣过多

–用户打分稀疏性

–算法可扩展性

-主题漂移问题

–海量数据存储与分析[早日学会hadoop啊]

相关推荐