推荐系统概述笔记

整理自:http://www.ibm.com/developerworks/cn/web/1103_zhaoct_recommstudy1/index.html#icomments


搜索引擎之后出现的推荐系统,打破了用户带有目的性地、主动地寻找数据这一明确行为,通过信息提取和学习,让合适的数据主动呈现在用户眼前(当然,从用户角度来看就是被动了)。

一、推荐系统工作原理

图 1. 推荐引擎工作原理图

首先是信息提取。数据源包括物品信息的元数据(tag、关键字)、用户元数据(性别、年龄、职业)、用户的偏好。这里的偏好数据收集分为显示和隐式。显示的用户反馈需要用户手动执行,如填充表单、点赞、评论;隐式的用户反馈则是"偷偷"地进行,如查看商品、停留时间。

根据这些数据,推荐系统可以根据获得的特征分析出用户之间、商品之间的关联规则,或直接根据历史偏好预测其他物品的like程度,进行推荐。(感觉这里面的算法都很复niu杂b的样子?)


二、推荐系统的分类

1.根据受推荐用户的推荐内容划分:

  (1)大众化的推荐,多是根据交易量、浏览量之类的整体数据进行的推荐。

  (2)个性化的推荐,则会考虑用户的特性,或基于社会化网络(意思是把庞大用户量当成一个社会?)。

2.根据如何发现数据相关性

  (1)基于用户的基本信息profile,得到用户的相关度,再根据偏好进行推荐。

图 2. 基于人口统计学的推荐机制的工作原理

  pros:不用到新用户的偏好,故无cold start问题;不用的物品属性,故应用范围广

  cons:精度不够,用户属性与品味之间的联系可能不很密切。

  (2)基于物品的tag、类别、关键字、内容,得到物品的相关度,再根据偏好进行推荐。

图 3. 基于内容推荐机制的基本原理

  pros:可根据物品类型构建出用户"口味"

  cons:物品的分析与建模较复杂(tag可能不科学),要用到新用户的偏好故面临cold start,且在构建物品相似度时没有考虑用户的偏好因素。

  (3)基于协同过滤的推荐,分为user-based, item-based和model-based,得到物品或内容的相关性,或者用户的相关性。

user-based:注意与前面1的区分,user-based的协同过滤更关注用户的历史偏好数据,根据用户的”口味"来推荐(如两人都喜欢同一个物品),而人口统计学则只关注用户的profile。

图 4. 基于用户的协同过滤推荐机制的基本原理

item-based:注意与前面2的区分,item-based根据"同时搭配着被用户like"来判断物品的相似性(如两个物品经常同时被点赞),而tag之类的都只是物品自身的性质。

图 5. 基于项目的协同过滤推荐机制的基本原理

model-based:建模,具体建个啥、怎么建待研究...


3.根据推荐模型的建立方式

  (1)基于物品和用户本身的,形成矩阵对应下来,由于用户对物品的喜好记录远少于物品数量,可能矩阵会非常稀疏,可通过聚类将用户和物品预处理一下,先分辨出若干相似的用户和相似的物品。

  (2)基于关联规则(Apriori?),联想机器学习中的购物篮,将通常会同时购买或查看的物品归入一个购物篮。

  (3)基于模型,将已有的喜好记录训练出模型,将后来用户的信息输入系统可获得推荐结果(决策树?)。实时更新喜好信息会比较麻烦。


三、协同过滤推荐



四、混合模型


  




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值