【基于协同过滤算法的推荐系统项目实战-2】了解协同过滤推荐系统
创始人
2025-05-30 22:04:58

本文目录

  • 1、推荐系统的关键元素
    • 1.1 数据
    • 1.2 算法
    • 1.3 业务领域
    • 1.4 展示信息
  • 2、推荐算法的主要分类
    • 2.1 基于关联规则的推荐算法
      • 基于Apriori的算法
      • 基于FP-Growth的算法
    • 2.2 基于内容的推荐算法
    • 2.3 基于协同过滤的推荐算法
  • 3、推荐系统常见的问题
    • 1、冷启动
    • 2、数据稀疏
    • 3、不断变化的用户喜好
  • 4、推荐系统效果评测
    • 4.2 模型离线实验
    • 4.2 用户A\B Test在线实验

1、推荐系统的关键元素

1.1 数据

数据是整个推荐系统的基石,我们需要对数据进行清洗和预处理。

用户行为能够真实的反映每个用户的偏好和习惯,其中的显示反馈数据会比较稀疏,隐式的反馈数据蕴含了大量的信息。
在这里插入图片描述
在这里插入图片描述

1.2 算法

基于流行度的推荐算法:是基于PV、UV来进行推荐,没有个性推荐。

基于协同过滤的推荐算法:是目前比较主流的一个推荐算法。

基于内容的推荐算法:是通过打标签进行推荐的,可以基于特征向量对内容自动打标签。(以前是人工打标签,现在可以自动打标签了)

基于模型的推荐算法:解决协同过滤算法的数据稀疏性的问题。

1.3 业务领域

不同的领域,不同的行业都会有自己的知识体系,所以泛化的一些推荐系统是无法满足具体领域中的特定的用户需求,所以需要结合知识去特定一些推荐系统。

例如在:
金融领域是基于风险偏好的个性化推荐方法。
社交领域是基于社交信息的用户行为挖掘方法。
电商领域是基于情境感知的个性化偏好的挖掘方法。

1.4 展示信息

可以理解为展示UI,也就是前端数据可视化,你需要把什么样的信息、哪些信息展示给用户,才能做到吸引,高质量的吸引是重要的, 不能过于繁杂,也不能过于少, 要精准。

2、推荐算法的主要分类

在这里插入图片描述

2.1 基于关联规则的推荐算法

应用场景:购物篮分析。
通过放入购物篮的不同商品之间的联系,分析顾客的购物习惯。

基于Apriori的算法

Aparior是无监督学习算法,挖掘一堆数据集中的数据之间的某种关联。但是会存在一些明显的缺点,如数据集很大的时候,运行效率很低。

假设有四种单品,那如果两两组合,那少于某个特定值的就会淘汰,这个特定值叫做 支持度。只有当支持度大于某个特定值的时候,才能认为是有效的。
在这里插入图片描述

基于FP-Growth的算法

FP-Growth不产生候选集。另外只需要扫描2次数据集,这是和Apriori最大的两个不同点。

2.2 基于内容的推荐算法

简而言之,就是推荐内容相似的物品。

通过打标签tag来找内容相似的物品,也可以通过文本相似度来找内容相似的物品。

通过自然语言挖掘:文本相似度是通过TF-IDF算法来完成的:提取关键词及其TFIDF值,将共同关键词的TFIDF的值的积并求和,然后获取相似度的值。

最后,也能通过分类算法来分类。
在这里插入图片描述

2.3 基于协同过滤的推荐算法

在这里插入图片描述
基于用户的协同过滤:是指兴趣相近的用户会对同样的物品感兴趣。
基于物品的协同过滤:是指推荐给用户他们喜欢的物品相似的物品。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
协同过滤是为了解决数据稀疏,为此我们进行特征分解,把评分矩阵不全,进行降维。通过奇异值分解来进行特征分解,提出了SVD,但是SVD过于复杂,又提出了PMF。

3、推荐系统常见的问题

1、冷启动

在这里插入图片描述
根据用户注册信息对用户进行分类,如手机号运营商、邮箱等等可以适当解决用户冷启动。

也可以通过推荐热门的排行榜、基于深度学习的语义模型理解来解决。

所以需要引导用户把自己的属性表达起来。

对于物品冷启动,则需要通过文本分析、主题模型、给物品打标签、排行榜单等来做到。

2、数据稀疏

用户-物品矩阵是稀疏矩阵。其解决方案如下:
在这里插入图片描述
但降低维度也会有一定丢失属性。

3、不断变化的用户喜好

需要对用户行为的存储有实时性,另外推荐算法要考虑到用户近期行为和长期行为,并且不断的挖掘用户新的兴趣爱好。

4、推荐系统效果评测

4.2 模型离线实验

1、模型离线实验:将数据集分为训练数据和测试数据集。在训练集上训练推荐模型,在测试集上进行预测。最后通过预定的指标来评测测试集上的预测结果。
在这里插入图片描述
模型离线实验是推荐系统中的一个基石,路径短,方便完成闭环以此来完成快速迭代,同时不会影响线上的用户体验。
最大的优点就是无需真实的用户参与。

但最大的缺点也是没有用户数据集真实,无法获得真实的用户关心指标。

4.2 用户A\B Test在线实验

在这里插入图片描述
在这里插入图片描述

相关内容

热门资讯

基于深度学习的车型识别系统(P... 摘要:基于深度学习的车型识别系统用于识别不同类型的车辆,应用YOLO V...
[C语言]错误信息报告stre... strerrorchar* strerror(int errnum);//返回错误码,...
配置管理的四个要点 配置管理是基础,是关键。做工具平台或系统,一定要重视基础的建设。一定要做...
机构密集调研!长三角区域银行为... 地方性上市银行大获青睐。 5月29日,《国际金融报》记者梳理Wind数据发现,已有超千家机构对24家...
Android文件目录 前言 Android文件目录可以分为内部存储和外部存储,其中外部存储又可以分为私有目录...
用友NC数据库迁移服务解决方案 NC数据库迁移工具操作说明          NC数据库迁移工具的功能:不同数据库之间...
Harbor仓库开启SSL 目录一、部署docker二、安装docker-compose三、安装harbor下载离线安装包&#x...
HTML、CSS学习笔记7(媒... 目录 一、媒体查询 1.max-min-width 2.书写顺序  3.媒体类型 4.媒体查询——l...
Word加载项/插件管理 Word加载项/插件管理前言准备:开启加载项功能区加载项Word加载项COM加载项 前...
Spring产生数据源对象(c... 目录一、c3p01. 添加依赖2. 在resources中创建applicationContext....
ArcScene制作三维地图-... ArcScene制作三维地图-三维模型发布时间:2018-01-17 版权࿱...
【C++】面试101,用两个栈... 目录 1. 用两个栈实现队列  2.包含min函数的栈 3.有效括号序列  4.滑动窗口的最大值 5...
一文说明白,TypeScrip... ● 通过前两章的学习, 我们基本上对于 TS 已经入门了 ● 但是我们会发现, 我们好像对于类型限制...
《JavaEE初阶》计算机网络... 《JavaEE初阶》计算机网络之网络原理(传输层) 前言: 本章主要将介绍传输层的UDP与TCP协议...
菲林格尔筹划控制权变更事项 6... 菲林格尔(603226)筹划易主。 5月30日晚间菲林格尔公告,公司于5月30日收到公司实际控制人丁...
[实战]上传文件的实战问题 [实战]上传文件的实战问题文件上传前的编辑问题上传文件的时机选择=>编辑=>上传 文...
学习笔记:基于SpringBo... 一、发送邮件 发送邮件主要使用JavaMailSender类,使用send方法&#x...
ENet学习笔记 ENet:A deep Neural Network Architecture for Real-T...
Obsidian插件推荐和页面... 1. 插件推荐 custom attachment location 可自定义附件图片的存放位置&#...
7个Python中的隐藏小技巧... Python 是每个程序员都喜欢的语言,因为它易于编码和易于阅读的语法。但是ÿ...
Kotlin实现Service... Service的使用1异步通信方式2Service的启动和停止3希望Activity和Service...
python绘制三维图 一、初始化 假设已经安装了matplotlib工具包。 利用matplotlib.figure.Fi...
每周股票复盘:恺英网络(002... 截至2025年5月30日收盘,恺英网络(002517)报收于15.93元,较上周的15.77元上涨1...
HashTabld底层源码解读 Java源码系列:下方连接 http://t.csdn.cn/Nwzed 文章目录...
常熟银行新注册《常熟农商银行P... 证券之星消息,近日常熟银行(601128)新注册了《常熟农商银行PDF转Word系统V1.0.0.0...
血洗币圈!比特币崩盘,跌至8万... 端午安康,祝大家在牛市中稳健操作,迈向财富自由!别忘了点赞关注,咱们一起把握市场机会! 比特币最近...
k8s部署prometheus k8s部署prometheus 版本说明: k8s:1.24.4 pro...
OpenAI似乎步子迈太大了 ... 出品|虎嗅科技组作者|孙晓晨编辑|苗正卿头图|视觉中国当地时间5月29日,据外媒报道,特拉华州总检察...
代码随想录-58-654.最大... 目录前言题目1.构造二叉树-递归(区间,左闭右开)2. 本...
Git Actions自动发布... Git Actions自动发布部署,非最完善但足够完善和上手的一篇 文章最后附带完整...