您的位置:首页 > 其它

【统计技术】关联分析_推荐系统

2011-05-10 16:48 453 查看
























































关联分析与推荐系统 Association Analysis & Recommender Systems

By 大路

主要内容

推荐系统概念

推荐系统将成为未来十年里最重要的变革,社会化网站将由推荐系统所驱动。
—— John Riedl (明尼苏达大学教授,GroupLens核心成员)

网站正从一个搜索时代进入一个发现时代。他们的区别是,搜索是你明确知道需要什么东西;发现是说你并不十分清楚的知道一种东西存在,或者你并不清楚怎么样才能找到这种东西。而搜索时代创造了市值1500亿美金的google。
—— 《财富》杂志

调查显示,45%的用户更加喜欢到有产品推荐功能的网站上去购物,而在过去6个月里花费了¥1000以上购买商品的用户里,这个数字提高到了69%。同一 个调查显示,41%的用户更加关注符合他们口味的个性化广告。新闻媒体网站通过显示个性化的相关内容来提高用户的阅读兴趣。
—— Choice Stream survey

推荐系统概念

推荐系统是建立在海量数据挖掘基础上的一种高级商务智能平台,以帮助各类网站/服务为其用户提供完全个性化的决策支持和信息服务。

搜索引擎在于查找,推荐系统/推荐引擎在于发现。

推荐系统/引擎的基本流程(动态闭环)

应用范围(不仅仅是电子商务)
应用示例1:卓越网商品推荐
应用示例2:豆瓣网电影推荐
应用范围
当前暂无类似搜索引擎量级的独立产品形态

专业推荐引擎公司:Directededge、 Baynote、Hunch、Clicktorch

当前主流应用:推荐引擎内置于其它产品中

有形产品:电商类网站、文化用品等评论推荐网站(dangdang、douban、xiami)
社交网络:拥有用户关系链数据(社交图谱)的网站(facebook、twitter)
新闻内容:根据用户点击历史及反馈推送新闻/博文(iCurrent、GoogleReader)
其它(如招聘求职等)

应用范围(媒体性产品)

什么样的产品适合推荐(媒体性产品)

多样性(物品足够多,用户无法一一查看)
口味重要(用户口味各异,物品长尾显著,靠热门排行榜推荐无法解决)
纯粹性(单一物品相关属性不太复杂,利于精准推荐)
大众产品(用户多,规模化,利于推荐)
时效性较低(时效性过高则产品更新快,如新闻推荐,推荐数据需要不断更新)
容易反馈(推荐引擎需要根据用户反馈结果不断学习和改进)
条目增长比较稳定(条目增长过快,则新增数据量过大,调整压力增大)

新浪微博的推荐( )

主要推荐算法

技术领域:自然语言处理、人工智能、机器学习、概率统计等。

主要推荐算法(分解子算法)

主要推荐算法(分类)

主要推荐算法(详述)

关联推荐 Association Analysis(购物篮分析,啤酒与尿布 diaper & beer)
统计/规则(Apriori算法、FP-tree等)

基于内容/属性等 Content-based/Featured-based

Content-based: 需要处理如文本内容等,与搜索引擎建立索引类似(如TF-IDF)
Featured-based: 通过相关特征属性来定义物品,以其属性替代物品本身
Tag-based: 通过用户对物品添加的标签来分析物品
Topic-based(Topic model): 对物品作简单分类,涉及到文本分类算法如贝叶斯网络等

主要推荐算法

协同过滤 Collaborative Filtering
User_based/Item_based: 主要是根据用户对物品的评价进行推荐,基本不涉及对物品的分析。
类似KNN算法(还有SVD、RBM等),其核心在于定义距离(N-范数、内积等)。

混合算法及其它
将上述几种算法结合起来应用。事实上,真正应用时很难由单独一种算法给出精准的推荐。而且,上述每一种算法实际上是一类算法,比如CF分item/user_based,定义不同的距离可能会对结果造成较大影响。
一些仍处于学术研究中的算法,未经工商业界的应用检验。
一些大公司可能正在使用但未公开的算法。

关联分析(购物篮分析)

Aprior算法

关联规则的挖掘就是在事务数据库D中找出具有用户给定的最小支持度minsup和最小置信度minconf的关联规则。

如果项集的支持度超过用户给定的最小支持度阈值(minsup),就称该项集是频繁项集或大项集。

Apriori算法是挖掘布尔关联规则频繁项集的算法。

Apriori性质:频繁项集的所有非空子集也必须是频繁的。

算法主要步骤
连接:Lk-1项生成Ck项
剪枝: Ck项剪枝得到Lk项

Aprior算法示例

CF算法(协同过滤)
矩阵填补问题(极度稀疏)
给定矩阵的少部分元素,预测其它未知元素的值

相似性度量:欧式距离(N-范数)、Pearson相关系数等

主要推荐算法(优缺点分析)

关联推荐

传统、成熟,但不大适合多样化长尾性产品。

基于内容/属性
传统、成熟。但很多时候不易提取属性和类别。举一反三能力较强,但很难给出惊喜。

协同过滤
在难以分析物品内容时很实用。但过于依赖用户交互,面临冷启动、稀疏性等问题。

混合算法等
具体情况需具体分析。

当前存在问题

在推荐系统上应用最广的是协同过滤,一般大家公认有如下三大问题。

当前存在问题(求解之道)

稀疏性
教育鼓励用户多参与评分、反馈。
结合其它推荐算法

冷启动
扩展数据源(火星人来了,地球上没有其相关历史数据,那就从火星上找)
需要时间来积累(教育鼓励用户多参与评分、反馈)
使用基于内容/属性的算法

可扩展性
降低存储空间
近似算法/分块
并行/分布式计算
离线与在线

其它问题

用户有偏及恶意打分、噪音等( A用户偏向于给高分,B用户偏向于给低分)
需要进行纠偏(究竟是有偏?还是用户对不喜欢的产品就不打分?)
怎样鉴别恶意和噪音

隐私问题(用户不愿意显式提供一些个人喜好的信息)

明确隐私数据与非隐私数据。用户教育要给力点。让用户了解推荐系统的原理,不提供相关信息是很难得到精准推荐的。除了评分外,还要鼓励用户对推荐结果给出反馈(like | dislike | skip等)。

注意收集和使用隐式反馈数据。比如用户打开了哪些页面,停留时间多长等。

推荐系统的未来

推荐系统/引擎能否像搜索引擎一样具有独立的产品形态?

推荐系统会成为诸多网站的标配,融入其产品中。

技术演进(越来越智能)

云计算 Cloud Computing(可改进数据扩展性问题)

OpenID (可打通各个产品,共享数据,改进冷启动问题)

语义网 Semantic Web(可使机器和算法对物品的理解更深刻,提高推荐准确度)
……

附:相关网站和书籍
http://groups.google.com/group/resys http://www.grouplens.org/ http://xlvector.net/blog/ http://www.guwendong.com/
Personalization Techiques and Recommender Sysyems

Web Personalization in Intelligent Environments

Programming Collective Intelligence

Manning Collective Intelligence in Action

……

本文原创自无线技术运营空间: http://wireless.qzone.qq.comhttp://blog.csdn.net/wireless_tech (专注无线技术运营——无线技术(操作系统/数据库/WEB前端/负载均衡/系统容灾/系统安全/短信接入/WAP接入/3G等)、无线业务运营、无线开放平台、统计分析(用户行为分析/数据挖掘)、CP合作,联系我们:1780551083@qq.com)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: