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