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























































 

 

     关联分析与推荐系统  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.com 及 http://blog.csdn.net/wireless_tech (专注无线技术运营——无线技术(操作系统/数据库/WEB前端/负载均衡/系统容灾/系统安全/短信接入/WAP接入/3G等)、无线业务运营、无线开放平台、统计分析(用户行为分析/数据挖掘)、CP合作,联系我们:1780551083@qq.com)

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
关联分析是一种数据挖掘技术,用于发现数据集中项目之间的关联规则。关联分析可以帮助我们了解项目之间的相互关系,并根据这些关系进行预测和推荐。在你提供的代码中,使用了Python中的Apriori算法来进行关联规则挖掘。 关联分析的输入要求是布尔型数据,而推荐系统中的评价或喜好值通常是数值型的。因此,在进行关联规则挖掘之前,需要对评价值进行离散化处理。常用的离散化方法包括分箱、直方图分析、基于熵的离散化、基于统计分析离散化、聚类分析和直观划分等方法。离散化后,才能将数据应用于关联规则挖掘算法,找出项目之间的关联。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Python数据处理数据挖掘(三):关联分析(Apriori算法)](https://blog.csdn.net/qq_46380784/article/details/125733180)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [【机器学习】第4部分 关联分析](https://blog.csdn.net/kevinelstri/article/details/53487186)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [【数据分析实例】 7000 条北京的租房数据分析 python](https://download.csdn.net/download/weixin_44510615/88206325)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值