当前位置: 首页 > news >正文

强化学习算法总结 (1)

强化学习算法总结 (1)

1.综述

强化学习是通过与环境进行交互,来实现目标的一种计算方法。
s − a 1 − r − s ′ s - a_1 - r- s' sa1rs

1.1强化学习优化目标

p o l i c y = a r g m a x p o l i c y E ( a , s ) [ r e w a r d ( s , a ) ] policy= argmax_{policy} E_{(a,s)}[reward(s,a)] policy=argmaxpolicyE(a,s)[reward(s,a)]

强化学习的最终目标是最大化智能体策略在和环境交互中获得的reward。通过改变策略来调整智能体和环境交互数据的分布。

1.2 平衡与探索

​ 策略告诉我们应该采取哪些动作,同时也要对新的策略进行探索。

这里引入一个概念为懊悔值,当前动作a的收益与最优结果的差距

  • ϵ − g r e e d y \epsilon - greedy ϵgreedy

策略
i f : 采样概率: 1 − ϵ a t = a e g m a x Q ( a ) e l s e : 随机策略 if:采样概率:1 - \epsilon \\ a_t = aegmaxQ(a)\\ else:\\ 随机策略 if:采样概率:1ϵat=aegmaxQaelse:随机策略
但是结果来看积累的懊悔值是和和时间成正比的,因为随机拉杆的探索概率是固定的

  • 上置信界法UCB

a t = a r g m a x α [ Q ( A ) ] a_t = argmax_\alpha [Q(A)] at=argmaxα[Q(A)]

  • 汤普森采样

2. 马尔科夫决策过程

MDP:利用当前已知的信息就可以决定未来

采样:根据状态转移矩阵生成一个状态序列 s 1 − > s 2 − > . . . − > s n s_1 -> s_2 -> ...-> s_n s1>s2>...>sn

2.1 马尔科夫奖励过程

在决策过程中加入了奖励函数r和折扣因子,形成了马尔科夫奖励过程 < S , P , r , γ > <S,P,r,\gamma> <S,P,r,γ>,状态集合,状态转移矩阵,奖励函数,折扣因子
G t = R t + γ R t + 1 . . . = ∑ γ k R t + k G_t = R_t+ \gamma R_{t+1}... = \sum \gamma^k R_{t+k} Gt=Rt+γRt+1...=γkRt+k

  • 价值函数
    V ( s ) = E [ G t ∣ S t = s ] 我们把 G t 拆开 R t + γ V ( s t + 1 ) 而后面的 E ( γ V ( s t + 1 ∣ s t = s ) ) 用状态转移函数表示 V ( s ) = r ( s ) + γ ∑ P ( s ′ ∣ s ) V ( s ′ ) V(s) = E[G_t |S_t =s]\\我们把G_t 拆开R_t +\gamma V(s_{t+1}) 而后面的E(\gamma V(s_{t+1}|s_t =s)) 用状态转移函数表示\\V(s) = r(s) +\gamma\sum P(s'|s)V(s') V(s)=E[GtSt=s]我们把Gt拆开Rt+γV(st+1)而后面的E(γV(st+1st=s))用状态转移函数表示V(s)=r(s)+γP(ss)V(s)

只适用于规模比较小的马尔科夫过程计算价值函数,不然使用 MC,TD,动态规划等算法

2.2 马尔科夫决策过程

MDP;<S,A,P,r, γ \gamma γ>:这里不再使用状态转移矩阵,而是状态转移函数

  • S:状态合集
  • A:动作合集
  • γ \gamma γ:折扣因子
  • r(s,a):奖励函数,收到了s和a影响
  • P(s’|s,a):状态转移函数

策略 π ( a ∣ s ) = P ( A t = a ∣ S t = s ) \pi(a|s) = P(A_t = a| S_t =s) π(as)=P(At=aSt=s):表示当前状态下,采取这个策略a的概率。如果是一个随机策略,输出是关于动作的概率分布函数

  • 状态价值函数
    V π = E π [ G t ∣ S t = s ] V^{\pi} = E_{\pi}[G_t | S_t = s] Vπ=Eπ[GtSt=s]
    当前状态下,预计未来的收益

  • 动作价值函数
    Q π ( s , a ) = E π [ G t ∣ S t = s , A t = a ] Q^{\pi}(s,a) = E_\pi[G_t | S_t = s ,A_t =a] Qπ(s,a)=Eπ[GtSt=s,At=a]
    在遵循当前策略下,执行动作a的收益

V π ( s ) = ∑ π ( a ∣ s ) Q π ( s , a ) V^\pi(s) = \sum\pi(a|s) Q^\pi (s,a) Vπ(s)=π(as)Qπ(s,a)

  • 贝尔曼期望方程

Q π ( s , a ) = E π [ R t + γ Q π ( s ′ , a ′ ) ∣ S t = s , A t = a ] = r ( s , a ) + γ ∑ V ( s ′ ) = r ( s , a ) + γ ∑ P ( s ′ ∣ a , s ) ∑ π ( a ′ ∣ s ′ ) Q π ( s ′ , a ′ ) Q^\pi (s,a) = E_\pi[R_t+\gamma Q^\pi(s',a')|S_t= s,A_t = a] \\= r(s,a) +\gamma\sum V(s') \\= r(s,a) +\gamma\sum P(s'|a,s)\sum \pi(a'|s')Q^\pi(s',a') Qπ(s,a)=Eπ[Rt+γQπ(s,a)St=s,At=a]=r(s,a)+γV(s)=r(s,a)+γP(sa,s)π(as)Qπ(s,a)

V π ( s ) = E π [ R t + γ V π ( s ′ ) ∣ S t = s ] = ∑ π ( a ∣ s ) ( r ( s , a ) + γ ∑ P ( s ′ ∣ s , a ) V π ( s ′ ) ) V^\pi(s) = E_\pi[R_t+\gamma V^\pi(s')|S_t = s] =\\\sum\pi(a|s)(r(s,a)+\gamma\sum P(s'|s,a)V^\pi(s')) Vπ(s)=Eπ[Rt+γVπ(s)St=s]=π(as)(r(s,a)+γP(ss,a)Vπ(s))

相关文章:

强化学习算法总结 (1)

强化学习算法总结 (1) 1.综述 强化学习是通过与环境进行交互&#xff0c;来实现目标的一种计算方法。 s − a 1 − r − s ′ s - a_1 - r- s s−a1​−r−s′ 1.1强化学习优化目标 p o l i c y a r g m a x p o l i c y E ( a , s ) [ r e w a r d ( s , a ) ] policy ar…...

Qt应用开发(基础篇)——向导对话框 QWizard

一、前言 QWizard类继承于QDialog&#xff0c;为有向导界面需求的应用环境提供了一个框架。 对话框窗口 QDialog QWizard向导对话框是一个拥有队列界面的特殊对话框&#xff0c;向导的目的是引导用户一步一步的完成预设的流程。向导常用于软件安装界面向导、硬件线路安装向导、…...

Python类的方法

Python类的方法主要分为实例方法、类方法和静态方法三种。 1 实例方法 以self作为第一个参数的方法&#xff0c;就是类的实例方法。该方法由类的实例调用&#xff0c;Python会把调用该方法的实例对象传递给self。 如下代码定义了一个名为A的类。 class A:def __init__(self…...

变电站自动化监控系统

力安科技变电站自动化监控系统是以箱式变电站为管理对象&#xff0c;加装箱变网关&#xff0c;在完成箱变智能化改造的基础上&#xff0c;依托电易云&#xff0c;构建一体化智慧箱变及运维系统。智能箱式变电站被广泛应用于住宅小区、城市公用变压器、工厂、商场、机场、电站等…...

MySql学习笔记11——DBA命令介绍

DBA命令 数据导入 要进入Mysql 创建数据库 create database database_name;使用数据库 use database_name;初始化数据库 source .sql文件地址&#xff0c;不能加双引号&#xff1b;数据导出 要在windows的dos环境下进行 导出数据库 mysqldump database_name > 存放…...

Webpack 复习小结

nodejs学习参考 node常用命令&#xff1a; node xxx.js 执行js文件 npm init -y 初始化package.json npm i 软件包名 下载软件包到本地 npm i 软件包名 -g 下载软件包到全局 npm uni 软件包名 删除软件包 系统优化CDN使用 CDN for free 需求&#xff1a;开发模式使用本地第三…...

Laravel chunk和chunkById的坑

在编写定时任务脚本的时候&#xff0c;经常会用到chunk和chunkById的API。 一、前言 数据库引擎为innodb。 表结构简述&#xff0c;只列出了本文用到的字段。 字段类型注释idint(11)IDtypeint(11)类型mark_timeint(10)标注时间&#xff08;时间戳&#xff09; 索引&#x…...

从零开始学习 Java:简单易懂的入门指南之泛型及set集合(二十二)

泛型及set集合扩展 1.泛型1.1泛型概述 2.Set集合2.1Set集合概述和特点【应用】2.2Set集合的使用【应用】 3.TreeSet集合3.1TreeSet集合概述和特点【应用】3.2TreeSet集合基本使用【应用】3.3自然排序Comparable的使用【应用】3.4比较器排序Comparator的使用【应用】3.5两种比较…...

JVM----GC(垃圾回收)详解

一、Automatic Garbage Collection&#xff08;垃圾回收&#xff09;简介 Automatic Garbage Collection &#xff08;自动垃圾回收&#xff09;是JVM的一个特性&#xff0c;JVM会启动相关的线程&#xff0c;该线程会轮训检查heap memeory&#xff0c;并确定哪些是未被引用的(…...

数据库的三个范式

数据库的三个范式是关系数据库设计中的一组规范&#xff0c;用于确保数据的有效性和一致性。这三个范式分别是&#xff1a; 第一范式&#xff08;1NF&#xff09;&#xff1a;要求数据库表中的每一列都是不可分割的原子值。换句话说&#xff0c;每个表中的每个字段不能包含多个…...

谷歌浏览器打开白屏 后台还有还有很多google chrome进程在运行

环境&#xff1a; Win10 专业版 谷歌浏览器 版本 116.0.5845.141&#xff08;正式版本&#xff09; &#xff08;64 位&#xff09; L盾加密终端 问题描述&#xff1a; 谷歌浏览器打开白屏 后台还有还有很多google chrome进程在运行&#xff0c;要全部结束谷歌浏览器进程&…...

Java EE 突击 15 - Spring Boot 统一功能处理

Spring Boot 统一功能处理 一 . 统一功能的处理1.1 初级阶段 : 不断重复1.2 中级阶段 : 集成方法1.3 高级阶段 : Spring AOP1.4 超高级阶段 : Spring 拦截器准备工作实现拦截器自定义拦截器将自定义拦截器加入到系统配置 拦截器实现原理扩展 : 统一访问前缀添加 二 . 统一异常的…...

JasperReport定义变量后打印PDF变量为null以及整个pdf文件为空白

问题1: JasperReport打印出来的整个pdf文件为空白文件&#xff1b; 问题2&#xff1a;JasperReport定义变量后打印PDF变量为null&#xff1b; 问题1原因是因为缺少数据源JRDataSource JasperFillManager.fillReport(jasperReport, params,new JREmptyDataSource());如果你打印…...

Python 及 Pycharm 的安装 2023.8

Python 及 PyCharm 的安装 仅适用于 Windows 系统&#xff01; 视频教程&#xff1a;【Python及Pycharm的安装 2023.8】 https://www.bilibili.com/video/BV1A34y1T7Gu 文章目录 Python 及 PyCharm 的安装安装 Python安装 PyCharmHi, PyCharmPyCharm 汉化 安装 Python 进入 …...

java中的线程中断

java中的线程中断 1、线程中断 即 线程的取消/关闭的机制2、线程对中断interrupt()的反应2.1、RUNNABLE&#xff1a;线程在运行或具备运行条件只是在等待操作系统调度2.2、WAITING/TIMED_WAITING&#xff1a;线程在等待某个条件或超时2.3、BLOCKED&#xff1a;线程在等待锁&…...

【跟小嘉学 Rust 编程】二十三、Cargo 使用指南

系列文章目录 【跟小嘉学 Rust 编程】一、Rust 编程基础 【跟小嘉学 Rust 编程】二、Rust 包管理工具使用 【跟小嘉学 Rust 编程】三、Rust 的基本程序概念 【跟小嘉学 Rust 编程】四、理解 Rust 的所有权概念 【跟小嘉学 Rust 编程】五、使用结构体关联结构化数据 【跟小嘉学…...

R Removing package报错(as ‘lib’ is unspecified)

remove.packages(ggpubr) Removing package from ‘/Library/Frameworks/R.framework/Versions/4.0/Resources/library’ (as ‘lib’ is unspecified) 解决办法&#xff1a; > .libPaths() [1] "/Library/Frameworks/R.framework/Versions/4.0/Resources/library&qu…...

金融信创,软件规划需关注自主安全及生态建设

软件信创化&#xff0c;就是信息技术软件应用创新发展的意思&#xff08;简称为“信创”&#xff09;。 相信在中国&#xff0c;企业对于“信创化”这个概念并不陌生。「国强则民强」&#xff0c;今年来中国经济的快速发展&#xff0c;受到了各大欧美强国的“卡脖子”操作的影…...

无重叠区间【贪心算法】

无重叠区间 给定一个区间的集合 intervals &#xff0c;其中 intervals[i] [starti, endi] 。返回 需要移除区间的最小数量&#xff0c;使剩余区间互不重叠 。 class Solution {public int eraseOverlapIntervals(int[][] intervals) {//先排序&#xff0c;按照左边界升序,注…...

nlp系列(7)实体识别(Bert)pytorch

模型介绍 本项目是使用Bert模型来进行文本的实体识别。 Bert模型介绍可以查看这篇文章&#xff1a;nlp系列&#xff08;2&#xff09;文本分类&#xff08;Bert&#xff09;pytorch_bert文本分类_牧子川的博客-CSDN博客 模型结构 Bert模型的模型结构&#xff1a; 数据介绍 …...

3分钟高效恢复Windows 11 LTSC微软商店:完整解决方案指南

3分钟高效恢复Windows 11 LTSC微软商店&#xff1a;完整解决方案指南 【免费下载链接】LTSC-Add-MicrosoftStore Add Windows Store to Windows 11 24H2 LTSC 项目地址: https://gitcode.com/gh_mirrors/ltscad/LTSC-Add-MicrosoftStore 你是否在使用Windows 11 24H2 LT…...

婚礼技能库:用开源协作与项目管理思维打造个性化婚礼

1. 项目概述&#xff1a;婚礼技能库的诞生与价值婚礼&#xff0c;对大多数人来说&#xff0c;是人生中为数不多的、需要同时扮演项目经理、创意总监、财务主管和情感联络员的高压事件。筹备过程琐碎繁杂&#xff0c;从场地布置、流程设计&#xff0c;到妆发造型、摄影摄像&…...

从开源AI导师项目GURU-Ai拆解:如何构建具备教学能力的智能体

1. 项目概述&#xff1a;一个“AI导师”的诞生与定位最近在GitHub上看到一个挺有意思的项目&#xff0c;叫“Guru322/GURU-Ai”。光看名字&#xff0c;你可能会觉得这又是一个平平无奇的AI工具仓库。但点进去细看&#xff0c;你会发现它的野心不小——它想做的不是又一个聊天机…...

构建通用Docker工具镜像:从设计到实践的全流程指南

1. 项目概述&#xff1a;一个“反重力”的Docker镜像&#xff1f;看到这个镜像名runzhliu/docker-antigravity&#xff0c;很多人的第一反应可能是好奇和疑惑。在Docker Hub上&#xff0c;以“antigravity”&#xff08;反重力&#xff09;命名的镜像并不常见&#xff0c;它不像…...

PowerInfer:基于稀疏激活的LLM推理引擎,消费级GPU运行百亿大模型

1. 项目概述&#xff1a;当大模型推理遇见“热点激活”最近在折腾本地大模型部署的朋友&#xff0c;可能都绕不开一个核心痛点&#xff1a;显存。动辄几十GB的模型&#xff0c;配上动辄几十GB的推理显存需求&#xff0c;让消费级显卡&#xff08;比如我们常见的24GB显存的RTX 4…...

基于PWM舵机与NeoPixel的万圣节互动蝙蝠制作全解析

1. 项目概述&#xff1a;一个会动的万圣节蝙蝠又快到万圣节了&#xff0c;想给家里的装饰来点不一样的“活物”吗&#xff1f;每年都摆静态的南瓜灯和蜘蛛网&#xff0c;总觉得少了点气氛。今年我琢磨着&#xff0c;不如自己动手做一个能扑腾翅膀、眼睛还会发光的机械蝙蝠&…...

紧急更新!Midjourney 6.6新引入的--chaos=97抽象阈值与表现主义情绪映射关系表(行业首份实测白皮书)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;Midjourney抽象表现主义的范式跃迁 当AI图像生成从具象摹写迈入语义解构与形式重构阶段&#xff0c;Midjourney v6 的提示工程已不再满足于“梵高风格的星空”&#xff0c;而是主动参与抽象表现主义的本…...

基于MCP协议构建个人AI工作流:模块化套件配置与隐私优先实践

1. 项目概述&#xff1a;一个为个人工作流注入AI智能的MCP套件 最近在折腾AI Agent和自动化工作流的朋友&#xff0c;应该都绕不开一个词&#xff1a; MCP 。全称是Model Context Protocol&#xff0c;你可以把它理解成AI模型&#xff08;比如Claude、ChatGPT&#xff09;和外…...

技能即代码:用自动化工具构建个人技能维护系统

1. 项目概述与核心价值最近在GitHub上看到一个挺有意思的项目&#xff0c;叫“skill-guardian”&#xff0c;作者是0xtresser。乍一看这个名字&#xff0c;可能有点摸不着头脑&#xff0c;但点进去研究了一下&#xff0c;发现这其实是一个关于“技能守护”或者说“技能管理”的…...

创业团队如何利用Taotoken以更低成本快速验证AI产品创意

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 创业团队如何利用Taotoken以更低成本快速验证AI产品创意 对于资源有限的创业团队而言&#xff0c;在产品原型阶段验证AI创意的可行…...