基于协同过滤算法构建推荐系统

一 推荐系统介绍

  • 推荐系统是信息过滤系统的一个子类,它根据用户的偏好和行为,来向用户呈现他(或她)可能感兴趣的物品。推荐系统会尝试去预测你对一个物品的喜好,以此向你推荐一个你很有可能会喜欢的物品。我们组设计的系统是一个购物系统,主要包括主页,商品页和推荐页。
  • 完整项目效果点击此处查看(此项目为Web应用,暂未对PC端进行界面适配,如无法打开请用移动端浏览器进入139.199.59.246:8081浏览)
  • GitHub地址:https://github.com/KingsleyChung/Blockchain_Market
  1. 主页
    主页主页向用户展现了能够购买的物品的图片、价格以及库存。点击商品图片可以进入商品页,点击主页右下角的推荐图标可以进入推荐页。
  2. 商品页
    商品页商品页能看到商品简介、价格、浏览量等信息,以及出现购买量与购买图标。
  3. 推荐页
    推荐页系统根据用户对某个商品的浏览次数、购买记录以及该商品的总访问量和销量而对用户进行的相关推荐。上图是在已经购买了主页的2种网球之后生成的,可以看到推荐系统基于我们的偏好,向我们推荐了可能会喜欢的Wilson护腕

二 协同过滤算法介绍

  • 协同过滤的过程分为这三步:一开始,收集用户信息,然后以此生成矩阵来计算用户关联,最后作出高可信度的推荐。这种技术分为两大类:一种是基于用户的协同过滤,一种则是基于物品的协同过滤。我们的系统采用的是基于物品的协同过滤方法。
  • 基于物品的协同过滤算法核心思想是:给用户推荐那些和他们之前喜欢的物品相似的物品,值得注意的是,这里所说的物品A和物品B具有很大的相似度是因为喜欢物品A的用户大都也喜欢B。 实现算法主要分为两步:
  1. 计算物品之间的相似度:
    我们使用如下的公式定义物品的相似度:


在这里插入图片描述

  • 其中, ∣ \mid N(i) ∣ \mid 是喜欢物品 i 的用户数, ∣ \mid N(j) ∣ \mid 是喜欢物品 j 的用户数, ∣ \mid N(i) ⋂ \bigcap N(j) ∣ \mid 是同时喜欢物品i和物品j的用户数。
  • 这里面有个假设,就是每个用户的兴趣都局限在某几个方面。如果用户之间的兴趣广泛且不相交,那么即使存在同时喜欢物品i和物品j的用户数多,那也不能代表物品i和物品j的相似度大,因为很可能两种物
  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值