一文搞懂基于用户的协同过滤推荐算法

        本文针对无上下文信息的隐性反馈数据集(每一条行为记录仅仅包含用户ID和物品ID),介绍基于用户的协同过滤算法原理。
        基于用户的协同过滤推荐算法本质:找到和待推荐用户相似的用户群,推进该用户群感兴趣且待推荐用户没购买过的物品。例如下图中, 用户a购买过物品A、C,用户c购买过物品A、C、D ,则用户a和用户c比较相似,可以考虑把物品D推荐给用户a。
在这里插入图片描述
基本步骤

  1. 找到和待推荐用户相似的用户群;
  2. 找到这个用户群中用户感兴趣的,且待推荐用户没购买过的物品。

为便于理解,本文后面示例的计算中使用下面数据: 第一列为索引,userId是用户标识,itemsId表是用户购买过的物品ID。
在这里插入图片描述

1. 用户相似度计算

        给定用户 u u u和用户 v v v,令 N ( u ) N(u) N(u)表示用户 u u u点击过的物品集合,令 N ( v ) N(v) N(v)为用户 v v v点击过的物品集合

余弦相似度
W u , v = ∣ N ( u ) ⋂ N ( v ) ∣ ∣ N ( u ) ∣ ∣ N ( v ) ∣ W_{u,v} = \frac{|N(u) \bigcap N(v)|} {\sqrt{|N(u)| | N(v)|}} Wu,v=N(u)N(v) N(u)N(v)        其中 ∣ ∗ ∣ |*| 表示取模,即物品的个数。

Jaccard公式
W u , v = ∣ N ( u ) ⋂ N ( v ) ∣ ∣ N ( u )

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值