推荐系统学习

news2024/11/25 6:47:20

推荐系统

  • 系统职能:头条/抖音/快手,都是以推荐系统作为流量的分发的主要手段;

  • 职业发展:大数据处理/流式计算/数据挖掘/机器学习/高并发服务等领域。

  • 更具用户的离十信息和行为,向用户推荐他感兴趣的内容

    • 基于行为的协同过滤

      基于行为的协同过滤.png

    • 基于内容相似推荐

      基于内容的相似推荐.png

推荐系统 - 包括那些环节

挑战:怎么从海量的内容中,挑选出用户感兴趣的条目,并且满足系统的50ms~300ms的低延迟要求

图片环节1

找回路径

推荐系统中常见的名词:i2i/u2i/u2i2i/u2u2i/u2tag2i,这些叫做推荐的召回路径。
U2I:来源于用户的直接行为,比如播放/点击/购买等
I2I:内容相似,协同过滤关联规则挖掘等
U2I2I:基于item的协同过滤货先到先用户的行为列表,然后查找I2I做扩展
U2U2I:基于用户的协同过滤,用户画像相似然后推荐,用户聚类推荐
U2Tag2I:先算出用户的tag偏好,然后匹配item列表

Netflix 经典的推荐系统架构

图:推荐架构1
挑战:架构既能处理海量数据,又能及时响应用户交互
在线层:
特点:快速响应,使用最新的数据输入,比如200ms
缺点:不能使用复杂的算法,只能读取少量数据
离线层:
特点:大部分数据包括模型训练都在这一层
优点:可以采用复杂的算法,扫描海量的数据
缺点:不能对最新的情景和新数据做响应,比如天粒度
近线层:
特点:离线和在线的折中,一般将结果存入高速缓存
优点:能使用几乎最新的数据计算,延迟10秒~1分钟级别;允许更复杂的算法处理,加载查询耕更多数据
组合使用的例子:
1,天粒度:离线层做矩阵分解,得到用户向量和物品向量做数据存储到Mysql
2,10秒钟:近线层根据用户行为,查询TopN相似的物品列表,存入Cassandra
3,200毫秒:在线层查询的第儿步骤的结果,更新推荐列表

推荐架构2

如何实现一个基于内容的推荐系统(Content-Based Recommendations)

推荐架构3

地位:最早被使用的推荐算法,年代久远,单当今仍然被广泛使用,效果良好
定义:给用户X推荐之前喜欢的物品相似的物品。即,U2I2I/U2Tag2I
优缺点:
优点:不需要其他用户数据
能给具备独特口味的用户推荐
推荐最新的/冷门的物品
容易做推荐结果的解释
缺点:
很难找到能表达物品的标签,有时候需要人工打标签
过于局限于自己的世界,无法挖掘出用户的潜在兴趣
新用户如果没有行为,没法做推荐

协同过滤的推荐系统

使用行为数据,利用集体智慧推荐
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

推荐系统如何实现多路找回融合排序

在这里插入图片描述

如何实现AB测试

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

如何实现内容的相似推荐

在这里插入图片描述

https://ai.tencent.com/ailab/nlp/zh/index.html
https://ai.tencent.com/ailab/nlp/en/embedding.html

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

矩阵分解的协同过滤

在这里插入图片描述

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

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

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

Python 使用Faiss实现向量的近邻搜索

在这里插入图片描述

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/668083.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Modbus TCP 协议详解及C语言示例

Modbus TCP 是一种应用于以太网的通讯协议,基于Modbus RTU协议。Modbus协议是一种应用于串行数据通信的协议,广泛应用于工业控制系统。Modbus TCP 将传统的 Modbus RTU 消息封装在 TCP/IP 报文中,使其能够在现代的以太网环境中进行通信。本文…

VUE 2X MVVM模型 ③

目录 文章有误请指正,如果觉得对你有用,请点三连一波,蟹蟹支持✨ V u e j s Vuejs Vuejs M V V M MVVM MVVM模型Data与El的2种写法总结 文章有误请指正,如果觉得对你有用,请点三连一波,蟹蟹支持✨ ⡖⠒⠒⠒…

【数据分享】1929-2022年全球站点的逐年平均风速(Shp\Excel\12000个站点)

气象数据是在各项研究中都经常使用的数据,气象指标包括气温、风速、降水、能见度等指标,说到气象数据,最详细的气象数据是具体到气象监测站点的数据! 对于具体到监测站点的气象数据,之前我们分享过1929-2022年全球气象…

linux-7 awk

目录 1.awk默认规则 2.处理方式 3.格式 4.运算 5.getline 6. 文件内容匹配过滤打印 7.begin . end模式 8.awk条件判断打印 9.awk三元表达 10.awk精准筛选 11.awk数组 1.awk默认规则 当以多空格为分隔符时 自动压缩成一个 默认操作就是打印 默认分隔符时空格 2.处理…

解锁Gradio Interface的便捷与扩展性:load、from_pipeline、integrate和queue方法的魔力

❤️觉得内容不错的话,欢迎点赞收藏加关注😊😊😊,后续会继续输入更多优质内容❤️ 👉有问题欢迎大家加关注私戳或者评论(包括但不限于NLP算法相关,linux学习相关,读研读博…

Day25 实战篇 ——Jmeter实现Java测试实战

Day25 实战篇 ——Jmeter实现Java测试实战 文章目录 Day25 实战篇 ——Jmeter实现Java测试实战一、新建Maven项目二、编写输入参数类、测试类三、编译、打包四、验证开发的函数是否正常1、性能测试过程中,有时候开发想对JAVA代码进行性能测试,Jmeter是支持对Java请求进行性能…

论文解读In-Depth Mouse: Integrating Desktop Mouse into Virtual Reality

In-Depth Mouse: Integrating Desktop Mouse into Virtual Reality HCI2022 honorable ❤️ 将2d的鼠标应用到3d的虚拟空间中,对可选对象进行选择 Challenge 1、如果单纯利用3d虚拟鼠标的3d位置对可选物体进行选择,有可能出现距离更近的物体将虚拟鼠标…

技术讨论:我心中TOP1的编程语言

欢迎关注博主 六月暴雪飞梨花 或加入【六月暴雪飞梨花】一起学习和分享Linux、C、C、Python、Matlab,机器人运动控制、多机器人协作,智能优化算法,滤波估计、多传感器信息融合,机器学习,人工智能等相关领域的知识和技术…

JAVA实现问财爬虫

通过 RestTemplate 将查询语句申请发送至问财,实现同花顺问财的爬虫获取数据,例子中实现了将爬取的数据写入excel文件并染成红色,可将其改造放入数据库中. 通过测试发现爬虫自动能访问一百多次左右,会被官方识别为爬虫&#xff0c…

RocketMQ简介

目录 MQ介绍 MQ的优点和缺点 各种MQ产品的比较 消息发送者步骤分析 消息消费者步骤分析 顺序消息 延时消息 事务消息 1)事务消息发送及提交 2)事务补偿 3)事务消息状态 使用限制 重试队列 重试配置 怎么保证消息消费的时候0丢失…

Java——《面试题——MyBatis篇》

前文 java——《面试题——基础篇》 Java——《面试题——JVM篇》 Java——《面试题——多线程&并发篇》 Java——《面试题——Spring篇》 目录 前文 1、什么是MyBatis 2、说说MyBatis的优点和缺点 3、#{}和${}的区别是什么? 4、当实体类中的属性名和…

Flask框架制作读取txt文本网页

Pycharm demo项目 app2.py&#xff08;运行&#xff09; index2.html &#xff08;网页&#xff09; 网页访问地址&#xff1a; http://127.0.0.1:5000 网页画面 核心代码(网页) 点击按钮弹窗选择 txt 文件&#xff08;index2.html&#xff09; <form method"post&…

探索CSS中的粘性定位:解锁网页布局的新可能

这篇文章详细解释了CSS中的sticky定位方式&#xff0c;并讲解了它的工作原理。 CSS中的sticky定位有很好的浏览器支持&#xff0c;但许多开发者并没有使用它。原因有两方面&#xff1a;一是等待浏览器支持的时间太长&#xff0c;导致这个特性被遗忘&#xff1b;二是大部分开发…

OpenCV项目开发实战--一步一步介绍使用 OpenPose 进行基于深度学习的人体姿势估计--C++/Python源码

文末附基于Python和C++两种方式实现的测试代码下载链接 在本教程中,使用 OpenCV 进行基于深度学习的人体姿态估计。我们将详细说明如何在您自己的应用程序中使用预训练 Caffe 模型。 1.姿态估计(又名关键点检测) 姿态估计是计算机视觉中的一个普遍问题,我们在其中检测物体…

西门子Mendix入门

首先进入网址Mendix 点击下方sign up进入带注册页面 我的注册成功后需要等会才能完成注册&#xff0c;我是下午开始注册的&#xff0c;晚上九点半的时候就可以登陆了 点击右上方create Apps 之后进入到这个页面选择应用程序模板 这里我们搜索Task选择第一个 单击Select Templa…

【Arduino+ESP32专题】Visual Studio Code界面重置为默认状态

在使用Visual Studio Code进行编程的时候&#xff0c;有时不小心把某些状态栏或功能框关闭了&#xff0c;不知道从哪里再次打开。因此有一个办法是曲线救国&#xff0c;可以让Visual Studio Code界面重置为默认状态就行了。 方式1 选择右上角Open Settings(UI)图标 打开文档把…

GC相关的

1、判断对象是否为垃圾的算法 引用计数算法可达性分析算法 引用计数算法 判断的标准&#xff1a; 通过判断对象的引用数量来决定对象是否可以被回收。 每个对象实例都有一个引用计数器&#xff0c;被引用则1&#xff0c;完成引用则-1。 任何引用计数为0的对象实例可以被当…

操作系统-I/O管理-I/O系统(设备独立性软件)

目录 一、假脱机技术(SPOOLing技术) 二、设备的分配与回收 2.1设备分配考虑因素 设备的固有属性 设备分配算法 设备分配中的安全性 2.2静态分配和动态分配 2.3设备分配管理中的数据结构 DTC COCT CHCT SDT 三、缓冲区管理 3.1单缓冲 3.2 双缓冲 ​3.2循环缓冲 3.…

1746_Perl中面向对象的目录处理模块

全部学习汇总&#xff1a; GreyZhang/perl_basic: some perl basic learning notes. (github.com) 说起来我还不懂Perl的面向对象编程技术&#xff0c;只是在前阵子看到了书中提到了一句&#xff0c;用到了一个例子。今天看书的时候又看到了类型形势的代码&#xff08;代码中很…

25利用 灰色预测模型预测发电量(附matlab程序)

1.简述 学习目标&#xff1a; 灰色预测模型预测发电量 根据原始发电量数据预测需要年份的发电量 发电量预测是电力系统规划与运行的基础,是电力市场运作中的重要组成部分.目前,对发电量预测的研究已经比较深入,常用的发电量预测方法有:灰色预测法,线性回归模型,自回归移动平均模…