《Programming Collective Intelligence》笔记之 Chapter 2

本文介绍了欧几里德距离和皮尔森相关系数在衡量物品间相似度的应用,对比了User-based Filtering与Item-Based Filtering两种推荐算法的不同之处。

对欧几里德距离(Euclidean Distance)的理解

假设主体为 a, 对主体的评价为 a1, a2, a3

假设主体为 b, 对主体的评价为 b1, b2, b3

设某坐标系有 x1, x2, x3 三条坐标轴,则 a, b 在此坐标系中的坐标可以表示为 (a1, a2, a3) 和 (b1, b2, b3)

而 a 与 b 的距离即可作为它们的相似程度,距离越近越相似。

通常情况下,a与b的相似度取距离的倒数:Similarity(a,b) = 1/Distance(a, b)

优点

  • 方便理解,日后凡是要求2种物品的相似度,都可以先在脑海中想像一个坐标系上的2个点,然后再去思考它们的维度应该是什么。对于电影来说,维度为评分,对于链接来说,维度是访问量。

缺点

  • 可参考维度越多,相似度越小。
    • 假设平面上2个点 a(0,0), b(1,1) 此时它们的相似度是 1/(1+2) = 1/3
    • 假设增加一个维度后,变成 a(0,0,0), b(1,1,1),则此时它们的相似度是 1/(1+3) = 1/4
    • 显然,维度增加后,它们的相似度变小了。除非新增的维度值相差为0.

对皮尔森相关系数(Pearson Correlation Coefficient)的理解

同样计算 a, b 两个产品的相似度,分别以 a, b 的评价为 x, y 坐标轴,则可得到3个点 (a1, b1), (a2, b2), (a3, b3) 通过计算这3个点在坐标系中的相关系数,可得到相似度。

优点

  • 相对于 Euclidean Distance 来说,数据越多越准确

所谓 User-based Filtering 和 Item-Based Filtering

设产品数量为 m, 用户数量为 n, 现需要为用户推荐他感兴趣,但还没购买的产品。

User-based Filtering 的做法

  1. 算出其他用户与当前用户的相似度
    1. 遍历用户
      1. 遍历产品
  2. 以其他用户为媒介,算出对未购买产品的兴趣度
    1. 遍历用户
      1. 遍历未购买产品

Item-based Filtering 的做法

  • 算出所有产品的相似度
    • 遍历产品
      • 遍历产品
  • 以已购买产品为媒介,算出未购买产品的兴趣度
    • 遍历已购买产品
      • 遍历未购买产品

总结

  • 两者都需要3个要素,(用户,用户,产品),或(用户,产品,产品)
  • 一个利用用户与用户之间的相似度,计算出产品的兴趣度
  • 另一个利用产品与产品之间的相似度,计算出产品的兴趣度
  • User-based 仅适用于紧致型(dense)数据,计算量大,不可分步骤计算
  • Item-based 可适用于稀疏型(sparse)数据,计算量小,并可分步骤计算
详情介绍:这是国内电商零售行业全链路用户消费行为标准化结构化分析数据集,全称淘宝用户消费数据汇总,完整覆盖淘宝平台用户从流量触达、浏览点击、收藏加购到下单转化、复购留存的全消费链路核心数据,同时配套用户基础属性、商品全维度信息、订单全生命周期、机器学习适配标准化特征等核心模块,是电商行业用户行为分析、消费偏好研究、复购预测、购买意向建模、精准营销、算法开发的标准优质业务数据集。包含字段:orders:订单编号、用户编号、产品编号、数量、订单日期、订单状态、支付方式、单价、总金额、折扣、实际支付金额、发货日期、收货日期、评价分数、评价内容;product_features:商品 ID、商品累计总营收、商品累计总销量、已完成订单数、已取消订单数、商品加购次数、商品收藏次数、商品浏览次数、商品点击次数、商品转化率、商品平均评价评分、商品热度评分;products:产品编号 产品名称 类别 品牌 价格 销售数量;user_behaviors:行为标识号、用户标识号、产品标识号、行为类型、行为时间(秒)、持续时间(秒);user_features:用户ID 总消费金额 订单数量 完成订单数量 平均订单金额 浏览次数 点击次数 收藏次数 购物车次数 自上次订单以来的天数 订单频率 重复购买标志 购买意向 消费水平 会员等级得分;users:用户编号、年龄、性别、省份、城市、注册日期、会员等级、账户余额、信用评分;更多说明:https://i4hhqpggqt.feishu.cn/wiki/NNAIweO9xiA9YwkQgXJcBzzLnmc
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

写代码的安徒生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值