从零开始构建推荐引擎综合指南

本文详细介绍了从零开始构建推荐引擎的过程,包括数据收集(显式和隐式)、数据存储的选择,以及数据过滤的两种主要方法:基于内容的过滤和协同过滤。在过滤部分,解释了如何计算余弦相似度和使用欧几里得距离/皮尔逊相关性,并讨论了协同过滤在用户与用户间和商品间的应用,以及冷启动问题的解决方案。
摘要由CSDN通过智能技术生成

1 数据收集

收集数据是构建推荐引擎的第一步也是最关键的一步。可以通过两种方式收集数据:显式和隐式。显示数据是用户有意提供的信息,比如电影排名,相反隐氏数据则不是用户主动提供,而是从数据流中收集得到的信息,例如搜索历史、点击率、历史订单等。

2 数据存储

数据量决定了模型的建议有多好,例如,在电影推荐系统中,用户对电影的评价越多,推荐给其他用户的效果就越好。数据类型对采用何种存储类型有很重要的影响,这种类型的存储可以包括一个标准的SQL数据库、NoSQL数据库或某种类型的对象存储。

3 数据过滤

在收集和存储数据之后,我们必须对其进行过滤,以便提取出最终推荐所需的相关信息。

3.1 基于内容的过滤
  • 推荐的产品类似于用户过去喜欢的产品。
  • 基于内容的过滤算法找到了轮廓向量与项目向量夹角的余弦,也就是余弦相似度。
  • 以Netflix为例:它们以向量形式保存与每个用户相关的所有信息。这个向量包含用户过去的行为,也就是用户喜欢/不喜欢的电影和他们给出的评分,这个向量也被称为轮廓向量(profile vector)。所有与电影相关的信息都存储在另一个叫做项目向量(item vector)中。项目向量包含每个电影的细节,如类型、演员、导演等。
  • 欧几里得距离/皮尔逊相关性计算相关性
  • 这种搭建推荐引擎的方法泛化性能很差。不能推荐新的产品给用户,例如用户历史数据显示喜欢动作片,那么推荐就会一直推荐动作片而不会推荐纪录片、爱情片等等。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值