强化学习与推荐系统结合

news2025/1/20 14:57:08

在这里插入图片描述
强化学习与推荐系统结合,是在智能体的学习过程中,会根据外部反馈信息,改变自身状态,在根据自身状态进行决策,就是行动反馈,状态更新,在行动的循环。
在这里插入图片描述
深度强化学习推荐系统框架是基于强化学习的经典过程提出的,
如图 所示,框架图非常清晰地展示了深度强化学习推荐系统框架的各个组成部分,
智能体:推荐系统本身,它包括基于深度学习的推荐模型、探索 (explore)策略,以及相关的数据存储(memory )。
环境:由新闻网站或 App、用户组成的整个推荐系统外部环境。在环境中用户接收推荐的结果并做出相应反馈
行动:对一个新闻推荐系统来说,“行动”指的就是推荐系统进行新闻排序后推送给用户的动作。
反馈:用户收到推荐结果后,进行正向的或负向的反馈。例如,点击行为被认为是一个典型的正反馈,曝光未点击则是负反馈的信号。此外,用户的活跃程度,用户打开应用的间隔时间也被认为是有价值的反馈信号。
状态:状态指的是对环境及自身当前所处具体情况的刻画。在新闻推荐场景中,状态可以被看作已收到所有行动和反馈,以及用户和新闻的所有相关信息的特征向量表示。站在传统机器学习的角度,“状态”可以被看作已收到的、可用于训练的所有数据的集合。

在这样的强化学习框架下,模型的学习过程可以不断地迭代,迭代过程主要有如下几步:
(1)始化荐系统(能体)。
(2)推荐系统基于当前已收集的数据(状)进行新闻排序(行动),并推送到网站或 App(环境)中。
(3)用户收到推荐列表,点击或者忽略(反馈)某推荐结果
(4)推荐系统收到反馈,更新当前状态,或通过模型训练更新模型
( 5) 然后再基于收集到的数据进行探索,这就是整体的一个循环。

在这里插入图片描述
DQN是指通过对行动进行质量评估,以此进行行动决策,DQN 的网络结构如图 所示,在特征工程中套用强化学习状态向量和行动向量的概念,把用户特征(user features ) 和环境特征 ( context features )归为状态向量,因为它们与具体的行动无关;把用户-新闻交叉特征和新闻特征归为行动特征,因为其与推荐新闻这一行动相关。
用户特征和环境特征经过左侧多层神经网络的拟合生成价值 (value ) 得分V(s),利用状态向量和行动向量生成优势 (advantage) 得分 A(s,a),最后把两部分得分综合起来,得到最终的质量得分 Q(s,a)。

在这里插入图片描述
DRN 的学习过程是整个强化学习推荐系统框架的重点,正是由于可以在线更新,才使得强化学习模型相比其他“静态”深度学习模型有了更多实时性上的优势。图中以时间轴的形式形象地描绘了 DRN的学习过程。
按照从左至右的时间顺序,依次描绘 DRN 学习过程中的重要步骤
(1)在离线部分,根据历史数据训练好 模型,作为智能体的初始化模型
(2)在 t1-t2 阶段,用初始化模型进行一段时间的推送(push) 服务,积累反馈 ( feedback)数据。
(3)在t2时间点,利用t1-t2阶段累的用户点击数据进行模型微更新( minorupdate ).
(4)在 t4时间点,利用t1-t4阶的用户点击数据及用户活跃度数据进行模型的主更新(major update )。
(5)重复第 2~4 步

在这里插入图片描述
在上一步模型主更新操作可以理解为利用历史数据的重新训练,用训练好的模型替代现有模型。
那么在第 3 步中提到的模型微调,这就牵扯到 DRN 使用的一种新的在线训练方法一竞争梯度下降算法(DuelingBandit Gradient Descent Algorithm )

(1)对于已经训练好的当前网络 ,对其模型参数 w 添加一个较小的随机扰动W,得到新的模型参数W,这里称W对应的网络为探索网络Q。
(2)对于当前网络 O和探索网络分别生成推荐列表 L和用Interleaving将两个推荐列表组合成一个推荐列表后推送给用户
(3)实时收集用户反馈。如果探索网络生成内容的效果好于当前网络 .则用探索网络代替当前网络,进入下一轮迭代;反之则保留当前网络。
这就是竞争梯度下降算法。

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

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

相关文章

【数据结构】顺序表与单链表的增删查改

文章目录 前言顺序表增删查改顺序表的定义与初始化增删查改操作测试代码完整代码 单链表的增删查改数据结构定义动态申请节点单链表的尾插和头插单链表的尾删和头删单链表的查找单链表的插入和删除销毁链表测试代码完整代码 总结 前言 在计算机编程领域,数据结构是…

力扣Hot100——柱状图中最大矩形(单调栈)

题目链接:https://leetcode.cn/problems/largest-rectangle-in-histogram/description/?envTypestudy-plan-v2&envIdtop-100-liked 经典的单调栈问题 思路:考虑单调递增栈,如果说我拿到的数字比栈顶来的要小,那么说明了我前…

geotool解析shp文件org.locationtech.jts.geom.Polygon报错问题

最近在研究利用geotool制作专题图的功能。geotool加载shp文件和sld样式文件,选然后导出图片,发现点没问题,面总会报: 网上搜到类似问题: GIS:shp文件解析相关_org.locationtech.jts.geom.polygon.getexteriorring(-CS…

搭建APP应用程序如何选择服务器

我经常收到许多关于如何搭建 APP 的询问。其中,如何选择服务器是许多初创企业和开发者经常面临的问题。带着这些问题我也通过一些科技手段收集整理了些知识,今天我就和大家来来探讨如何选择服务器,帮助您搭建一个稳定、高效、安全的 APP。 Ap…

javaEE -18(11000字 JavaScript入门 - 3)

一:事件 (高级) 1.1 注册事件(绑定事件) 给元素添加事件,称为注册事件或者绑定事件,注册事件有两种方式:传统方式和方法监听注册方式 传统注册方式 : 利用 on 开头的…

模式识别与机器学习-SVM(线性支持向量机)

线性支持向量机 线性支持向量机间隔距离学习的对偶算法算法:线性可分支持向量机学习算法线性可分支持向量机例子 谨以此博客作为复习期间的记录 线性支持向量机 在以上四条线中,都可以作为分割平面,误差率也都为0。但是那个分割平面效果更好呢&#xff1…

你好!Apache Seata

北京时间 2023 年 10 月 29 日,分布式事务开源项目 Seata 正式通过 Apache 基金会的投票决议,以全票通过的优秀表现正式成为 Apache 孵化器项目! 根据 Apache 基金会邮件列表显示,在包含 13 个约束性投票 (binding votes) 和 6 个…

[MySQL] MySQL 高级(进阶) SQL 语句

一、高效查询方式 1.1 指定指字段进行查看 事先准备好两张表 select 字段1,字段2 from 表名; 1.2 对字段进行去重查看 SELECT DISTINCT "字段" FROM "表名"; 1.3 where条件查询 SELECT "字段" FROM 表名" WHERE "条件…

工具系列:TimeGPT_(4)预测区间数据

文章目录 预测区间历史预测 预测区间 预测区间提供了对预测值的不确定性的度量。在时间序列预测中,预测区间根据您设置的置信水平或不确定性,给出了一个估计的范围,未来观测值将在其中。这种不确定性水平对于做出明智决策、风险评估和规划至…

牛客网SQL训练4—SQL进阶挑战

文章目录 一、增删改操作1. 插入记录2. 更新记录3. 删除记录 二、表与索引操作1. 表的创建、修改与删除2. 索引的创建、删除 三、聚合分组查询1. 聚合函数2. 分组查询 四、多表查询1. 嵌套子查询2. 合并查询3. 连接查询 五、窗口函数1. 专用窗口函数2. 聚合窗口函数 六、其他常…

国产芯片ACL16_S 系列 ,低成本物联网安全,可应用物联网认证、 SIM、防抄板和设备认证等产品上

ACL16_S 芯片是针对物联网认证、 SIM、防抄板和设备认证需求推出的高安全芯片。芯片采用 32 位 ARMCortex™-M0 系列内核,片内集成多种安全密码模块,包括 RSA/ECC DES/TDES、 SHA-1/-256、 AES-128/-192/-256 等国际安全算法,支持真随机数发…

检索增强生成(RAG)旨在解决大模型幻觉、知识更新缓慢和答案透明度不足等问题。

检索增强生成(RAG)旨在解决大模型幻觉、知识更新缓慢和答案透明度不足等问题。 据 Arxiv 页面显示,同济大学近日联手复旦大学研究团队,提出了一种名为“检索增强生成(RAG)”的方法,旨在解决大模…

基于ssm流浪动物救助及领养管理系统

** 🍅点赞收藏关注 → 私信领取本源代码、数据库🍅 本人在Java毕业设计领域有多年的经验,陆续会更新更多优质的Java实战项目希望你能有所收获,少走一些弯路。🍅关注我不迷路🍅** 项目介绍 随着信息化时代…

多维时序 | MATLAB实现SSA-GRU麻雀算法优化门控循环单元多变量时间序列预测

多维时序 | MATLAB实现SSA-GRU麻雀算法优化门控循环单元多变量时间序列预测 目录 多维时序 | MATLAB实现SSA-GRU麻雀算法优化门控循环单元多变量时间序列预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 1.MATLAB实现SSA-GRU麻雀算法优化门控循环单元多变量时间序列预…

HTML+CSS制作动漫绿巨人

🎀效果展示 🎀代码展示 <!DOCTYPE html> <html lang="en" > <head>

NAS上使用Docker搭建Wiki.js构建云知识库

文章目录 NAS上使用Docker搭建Wiki.js、PostgreSQL和Nginx云知识库前置条件步骤1&#xff1a;获取wikijs的镜像步骤2&#xff1a;配置容器参数2.1 端口设置2.2 挂载设置2.3 环境变量设置&#xff08;配置数据库&#xff09; 步骤3. 启动界面3.1 切换语言3.2 GIT 配置3.3 用户和…

20231228在Firefly的AIO-3399J开发板的Android11的Firefly的AIO-3399J开发板的DTS配置单前置摄像头ov13850

20231228在Firefly的AIO-3399J开发板的Android11的Firefly的AIO-3399J开发板的DTS配置单前置摄像头ov13850 2023/12/28 12:30 开发板&#xff1a;Firefly的AIO-3399J【RK3399】 SDK&#xff1a;rk3399-android-11-r20211216.tar.xz【Android11】 Android11.0.tar.bz2.aa【ToyBr…

【ARMv8M Cortex-M33 系列 2.3 -- SEGGER JFlash 烧写命令介绍】

文章目录 SEGGER JFlash 烧写命令介绍JFlash 配置文件 固件烧写地址介绍确定烧写地址 SEGGER JFlash 烧写命令介绍 本文以介绍烧写 Renesas RA4M2 为例&#xff0c;对 JFlash 进行简单介绍。它是 ARM Cortex-M33 微控制器的型号之一。烧写前你需要先确保你有正确的 .hex 或 .b…

前缀和——OJ题(二)

&#x1f4d8;北尘_&#xff1a;个人主页 &#x1f30e;个人专栏:《Linux操作系统》《经典算法试题 》《C》 《数据结构与算法》 ☀️走在路上&#xff0c;不忘来时的初心 文章目录 一、和为 k 的子数组1、题目讲解2、思路讲解3、代码实现 二、和可被 K 整除的⼦数组1、题目讲…

【辐射场】3D Gaussian Splatting

三维高斯…喷喷 \, 3D Gaussian Splatting&#xff0c;下文简称3DGS&#xff0c;是好一段时间以来在三维内容创作和三维重建领域比较有热度的一项技术。 它属于基于图像的三维重建方法&#xff0c;意思就是你对现实物体或者场景拍照片&#xff0c;就能给你训练成一个场景模型&a…