协同过滤入门

概念

协同指的的是运用群体行为找到用户可能希望的物品
过滤指的是丢弃掉一些不值得给用户推荐的物品,如评分较低的或者用户已经点击购买过的物品。

协同过滤的思想是通过群体的行为来找到某种相似性(比如用户之间的相似性或者物品之间的相似性),通过这种相似性来为用户做推荐,简单来讲就是人以类聚,物以群分 。

协同过滤类型

协同过滤推荐一般分为三种类型

 1.基于用户的的协同过滤[UserCF]
 2.基于物品的协同过滤[ItemCF] 
 3.基于模型的协同过滤[ModelCF] 
基于用户 (UserBased) 的协同

表达的含义是将与一个用户相似的用户喜欢的物品推荐给这个用户。这里需要做的是首先找到和一个用户相似的用户,然后找到相似用户喜欢的物品 (可以理解成发生过特定行为或者评分高的物品) ,预测这个用户对这些物品的评分,找到评分高的若干物品推给该用户就可以了。

基于物品 (ItemBased) 的协同

表达的含义是找到与一个用户喜欢的物品 (可以理解成发生过特定行为或者评分高的物品) 相似的物品推荐给这个用户。 这里需要做的是首先找到一个物品的相似物品,然后将这些相似的物品打分排序,找到评分高的若干物品推荐给用户就可以了。

基于模型 (ModelBased) 的协同

这个相对就比较复杂了,也是目前较为主流的协同过滤算法,其相关算法完全可以写本书了。我们这里对其思想做一个了解即可。

假设我们有N个用户,M个物品,只有部分用户和部分物品之间是有联系的

(这一点很容易想到,比如用户不能看完我们文章库的所有内容,用户也不可能对商品库的所有商品都有收藏等购买行为)

其他部分都是空白 (这里我们把N用户和M个物品,看成一个N*M的矩阵) ,我们可以想象这个矩阵是一个稀疏矩阵,大部分是空白的,我们现在要做的就是,用这些矩阵中已有的数据,使用某些算法去将空白区域的值给填补上 (就像数独游戏一样,已知一些数据,填补空白数据) ,这样我们就相当于有了每一个用户对每一个物品数据,我们按照这个数据排序,推荐TOPN的物品给用户就可以了。这就是基于模型协同过滤的核心思想。想要给空白处填补数据可以使用很多种算法,比如 矩阵分解,分类,回归,神经网络等等 。

参考

推荐算法–协同过滤 - 简书

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值