推荐系统---(二)利用用户数据

1、用户行为数据

用户行为可以分为:(1)显示反馈行为(包括用户明确表示对物品喜好的行为);(2)隐式反馈行为(不明确反应用户喜好的行为,如页面浏览行为。)。

比较类别 显示反馈数据 隐式反馈数据
用户兴趣 明确 不明确
数量 较少 庞大
存储 数据库 分布式文件系统
实时读取 实时 有延迟
正负反馈 都有 只有正反馈

常见的数据集:

(1)无上下文信息的隐式反馈数据集:每一条行为记录仅仅包含用户ID和物品ID。

http://www.informatik.uni-freiburg.de/~cziegler/BX/

(2)无上下文信息的显式反馈数据集:每一条行为记录包含用户ID、物品ID和对物品的评分。

(3)有上下文信息的隐式反馈数据集:每一条行为记录包含用户ID、物品ID和用户对物品产生行为的时间戳。

http://www.dtic.upf.edu/~ocelma/MusicRecommendationDataset/lastfm-1K.html

(4)有上下文信息的显示反馈数据集:每一条行为记录包含用户ID、物品ID、用户对物品的评分和评分发生行为的时间戳。http://netflixprize.com/

2、用户行为分析

(1)用户活跃度和物品流行度的分析

f n ( k ) f_n(k) fn(k)为对k个物品产生过行为的用户数,令 f i ( k ) f_i(k) fi(k)为被k个用户产生过行为的物品数,那么它们都符合长尾分布: f u ( k ) = α u k β u f_u(k)=\alpha_u k^{\beta_u} fu(k)=αukβu f i ( k ) = α i k β i f_i(k)=\alpha_i k^{\beta_i} fi(k)=αikβi
即大部分用户都是新用户,而老用户占据很少的比例;热门的物品占据的比例很少。
一般认为,新用户倾向于浏览热门的物品,而老用户会逐渐开始浏览冷门的物品。

(2)协同过滤算法

仅仅基于用户行为数据设计的推荐算法即协同过滤算法。
常用的方法有:

  • ①基于邻域的方法(neighborhood-based)
    • (i)基于用户的协同过滤算法:给用户推荐和他兴趣相似的其他用户喜欢的物品。
    • (ii)基于物品的协同过滤算法:给用户推荐和他之前喜欢的物品相似的物品。
  • ②隐语义模型(latent factor model)
  • ③基于图的随机游走算法(random walk on graph)等。

3、基于邻域的算法

(1)基于用户的协同过滤算法UserCF

步骤
①找到和目标用户兴趣相似的用户集合;
②找到这个集合中的用户喜欢的、且目标用户没有听说过的物品推荐给目标用户。

Step1:计算用户的兴趣相似度

步骤①的关键是计算两个用户的兴趣相似度。令N(u)表示用户u曾经有过正反馈的物品集合,令N(v)为用户v曾经有过正反馈的物品集合,那么可以利用Jaccard公式简单地计算u和v的兴趣相似度:
w u v = ∣ N ( u ) ∩ N ( v ) ∣ ∣ N ( u ) ∪ N ( v ) ∣ w_{uv} = \frac{|N(u)∩N(v)|}{|N(u)∪N(v)|} wuv=N(u)N(v)N(u)N(v)

w u v = ∣ N ( u ) ∩ N ( v ) ∣ ∣ N ( u ) ∣ ∣ N ( v ) ∣ w_{uv} = \frac{|N(u)∩N(v)|}{\sqrt{|N(u)||N(v)|}} wuv=N(u)N(v) N(u)N(v)
或改进为John S. Breese提出的公式:
w u v = ∑ i ∈ N ( u ) ∩ N ( v ) 1 l o g ( 1 + ∣ N ( i ) ∣ ) ∣ N ( u ) ∣ ∣ N ( v ) ∣ w_{uv} = \frac{\sum_{i∈N(u)∩N(v)}{\frac{1}{log(1+|N(i)|)}}}{\sqrt{|N(u)||N(v)|}} wuv=N(u)N(v) iN(u)N(v)lo

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值