首页 > 其他分享 >强化学习理论-第二课-贝尔曼公式

强化学习理论-第二课-贝尔曼公式

时间:2024-11-09 11:19:55浏览次数:1  
标签:状态 pi return 第二课 公式 state 贝尔曼 action reward

1. return和贝尔曼


上图说明从不同状态出发得到的return,依赖于从其他状态出发的return

v是return,将第一张图写成矩阵的形式,r代表immediate reward,是已知的,矩阵P是策略加上state transition,也是已知的,求解v
这个公式实际上就是贝尔曼公式

  1. 在\(S_t\)采用什么样的动作\(A_t\),是有策略决定的,\(\pi\)
  2. 在\(S_t\)采用了\(A_t\)的动作,reward是有reward probability决定,p
  3. 在\(S_t\)采用了\(A_t\)的动作,会产生什么状态,是有state transition probability决定的

2. State value

  • return和state value的区别:
    return:对单条轨迹的返回值
    state value:对多条轨迹的返回值,从一个状态出发,有可能会有多条轨迹

3. Bellman equation

贝尔曼公式描述了不同状态的state value之间的关系。

把state value分成了2个expectation,一个是immediate reward,一个是future reward。

3.1 mean of immediate reward:

在当前状态\(S_t\),得到的reward是\(R_{t+1}\),那么它的mean是多少:

\(\pi (a|s)\):在状态s,采取action_a的概率是\(\pi\),累加起来所有的action概率
\(p(r|s,a)r\):在状态s,采取action_a,获取reward为r的概率为p,再乘上reward本身的值,累加起来所有reward的概率

3.2 mean of future reward:

我从状态s出发,到一下时刻的return的mean。

第一行公式:
E:当前状态s,跳到下一状态\(s^{'}\)所得return的mean
\(p(s^{'} | s)\):当前状态s,跳到下一个状态\(s^{'}\)的概率
对所有的下一步状态进行累加

第三行公式:
\(v_{\pi} (s^{'})\):当前状态是\(s^{'}\),所得return的mean,这个就是\(s^{'}\)的state value。

第四行公式:
\(p(s^{'} | s, a)\pi(a|s)\):当前状态是s,采取action_a,会跳到状态\(s^{'}\)的概率p * 从s出发采取不同的action的概率\(\pi\),对所有可能的action概率累加

3.3 Bellman equation



注意一点,这个贝尔曼公式在使用中是一组公式,\(v_{\pi}(s)\)和\(v_{\pi}(s^{'})\)都需要计算,然而前者依赖后者,看似不能计算,但是对于一个trajectory,有很多组公式,结合一起就可以计算了。
model是未知的话,就是model free reinforcement learning算法,这里还是有model的

3.4 列子:


3.5 贝尔曼公式变形为矩阵形式


4. Solve state values


最终,\(v_k\)会收敛到\(v_{\pi}\)
证明:

5. action values

与state values的区别:
state values:从一个状态到下一个状态的平均返回值
action values:从一个状态采取一个action到下一个状态的平均返回值
策略跟action value相关

5.1 定义:


这个\(q_{\pi}(s, a)\)就是action value。
从当前状态s出发,选择action_a,所得到的return的mean值。

6. 总结:

标签:状态,pi,return,第二课,公式,state,贝尔曼,action,reward
From: https://www.cnblogs.com/penuel/p/18531693

相关文章

  • 牛顿法特殊形式——开方公式与二分逼近开方的
    数值分析-开方公式//开方公式#include<bits/stdc++.h>usingnamespacestd;intmain(){doublec,x0,jingdu;printf("请输入被开方数c:");scanf("%lf",&c);printf("请输入初值x0:");scanf("%lf",&x0);......
  • 博客园 ----LaTex使用教程,内附各种公式,建议收藏和备忘!!
    前提听说要在下面这个位置加入下面红框里这些代码,才能启用LaTex的公式编辑形式。。<scripttype="text/x-mathjax-config">MathJax.Hub.Config({extensions:["tex2jax.js"],jax:["input/TeX","output/HTML-CSS"],tex2jax:{inlineMath:[['$'......
  • odoo中对多条数据按条件进行分类汇总 read_group的用法总结并抽取出公式
    今天在工作中遇到一个这样的问题。要求:做一个打印模板实现下面图中的分类汇总 py3o://for="oinobject.delivery_containers_line.read_group(domain=[('delivery_order_id','=',object.id)],fields=['customer_id','delivery_order_id','sales_order_......
  • 《XGBoost算法的原理推导》12-1加法模型表达式 公式解析
    本文是将文章《XGBoost算法的原理推导》中的公式单独拿出来做一个详细的解析,便于初学者更好的理解。公式(12-1)是XGBoost的加法模型表达式,用于描述如何通过多个基模型的组合来进行预测。我们来逐步解析这个公式。公式(12-1)的形式......
  • 解锁表格翻译公式:高效跨越语言障碍的必备技能
    在当今全球化的商业环境中,数据处理与分析已成为各行各业不可或缺的一部分。随着跨国合作日益频繁,特别是在国际贸易、学术研究、市场调研等领域,经常需要处理来自不同国家和地区的数据表格。然而,语言差异成为了信息交流的一大障碍。直接手动翻译不仅耗时费力,还可能因格式错乱......
  • 解锁电商采购高效秘籍:在表格用快递公式一键追踪快递物流
    在日益繁荣的电商行业中,采购人员的工作不仅仅是选择供应商和谈判价格,他们还需要密切关注物流动态,确保商品从仓库到顾客手中的每一步都畅通无阻。面对海量的订单和复杂的物流网络,如何高效地追踪物流信息成为电商采购人员的一大挑战。本文将深入探讨在电商采购场景下,如何利用......
  • SpreadJS 在数据填充时的公式填充方案
    需求介绍很多用户使用了SpreadJS的数据填报功能。大致用法为:设计模板,填充数据源。在这个过程中,可能会出现模板中设置了公式,而在数据源填充时,公式没有携带下来的问题。比如我们定义一个模板:接下来使用setDataSpurce()填充数据源,填充后,发现只有一行有公式值,其他行无数据那么......
  • 【论文复现】神经网络的公式推导与代码实现
    ......
  • 使用Typora添加行内数学公式怎么添加?
    首先需要确认,Typora已经勾选“插入内联公式”选项。具体方法:点击“文件”-->“偏好设置”-->“Markdown”-->“Markdown扩展语法”—>勾选“内联公式(例:$\LaTeX $)”确认以上步骤之后,就可以使用了 单个$:用于表示行内数学公式。例如,$E=mc^2$会被渲染为E=m......
  • Latex公式_数学公式编辑
    目录数学公式编辑Displayingaformula符号与字母SymbolandAlphabet希腊字母Greekalphabet希伯来字母Hebrewalphabet二元运算符Binaryoperations二元关系符Binaryrelations几何符号Geometricsymbols逻辑符号Logicsymbols集合Sets箭头Arrows特殊S......