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

免模型控制

文章目录

  • 免模型控制
  • Q-Learning 算法
    • 原理
  • Sarsa 算法
    • 区别:


免模型控制

免模型控制要解决的问题是,如何选择动作以达到最高得分

Q-Learning 算法

原理

首先Q-Learning 确定了一个前提最优策略:π(s)=arg⁡max⁡aQ(s,a)\pi(s) = \arg\max_a Q(s,a)π(s)=argmaxaQ(s,a) 。这个策略本质上就是 “贪心”。只要 Q 函数能收敛到Q∗Q^*Q(最优动作价值),那么这个贪心策略就等价于最优策略 π∗\pi^*π(因为每一步都选 “理论上长期收益最大的动作”)。
参考下面的公式,
Vπ(s)=∑a∈Aπ(a∣s)Qπ(s,a)V_{\pi}(s)=\sum_{a \in A} \pi(a \mid s) Q_{\pi}(s, a) Vπ(s)=aAπ(as)Qπ(s,a)
策略固定了,我们只需要直接预测动作价值函数,在决策时选择动作价值即 Q 值最大对应的动作即可。那如何实现这个逻辑呢?主要是根据下面的更新公式不断迭代而成
Q - learning 算法更新公式如下图所示。
Q(st,at)←Q(st,at)+α[rt+γmax⁡aQ(st+1,a)−Q(st,at)]Q\left(s_{t}, a_{t}\right) \leftarrow Q\left(s_{t}, a_{t}\right)+\alpha\left[r_{t}+\gamma \max _{a} Q\left(s_{t+1}, a\right)-Q\left(s_{t}, a_{t}\right)\right] Q(st,at)Q(st,at)+α[rt+γamaxQ(st+1,a)Q(st,at)]
时序差分方法中状态价值函数的更新公式:
V(st)←V(st)+α[rt+1+γV(st+1)−V(st)]V\left(s_{t}\right) \leftarrow V\left(s_{t}\right)+\alpha\left[r_{t+1}+\gamma V\left(s_{t+1}\right)-V\left(s_{t}\right)\right]V(st)V(st)+α[rt+1+γV(st+1)V(st)]
两者存在惊人的相似,不过这不是巧合,因为两者都采用的是基于时序差分的更新方法
不过也有不一样的地方:γmax⁡aQ(st+1,a)VSγV(st+1)\gamma \max_{a} Q(s_{t+1}, a) \quad VS \quad \gamma V(s_{t+1})γamaxQ(st+1,a)VSγV(st+1)由于这一点的不同引入了一个下新的概念就是叫过估计
动作价值函数更新时是直接拿最大的未来动作价值的来估计的,而在状态价值函数更新中相当于是拿对应的平均值来估计的。这就会导致这个估计相当于状态价值函数中的估计更不准确,称之为Q值过估计。

Sarsa 算法

区别:

Q(st,at)←Q(st,at)+α[rt+γQ(st+1,at+1)−Q(st,at)]Q\left(s_{t}, a_{t}\right) \leftarrow Q\left(s_{t}, a_{t}\right)+\alpha\left[r_{t}+\gamma Q\left(s_{t+1}, a_{t+1}\right)-Q\left(s_{t}, a_{t}\right)\right] Q(st,at)Q(st,at)+α[rt+γQ(st+1,at+1)Q(st,at)]
与Q-learning区别在于一个是同策略一个是异策略。

http://www.xdnf.cn/news/16234.html

相关文章:

  • Android Camera setRepeatingRequest
  • c语言-数据结构-沿顺相同树解决对称二叉树问题的两种思路
  • 算法:数组part02: 209. 长度最小的子数组 + 59.螺旋矩阵II + 代码随想录补充58.区间和 + 44. 开发商购买土地
  • KNN算法
  • 构建敏捷运营中枢:打通流程、部署与可视化的智能引擎
  • 【前端工程化】前端项目开发过程中如何做好通知管理?
  • 数仓主题域划分
  • FreeRTOS-中断管理
  • 如何解决pip安装报错ModuleNotFoundError: No module named ‘streamlit’问题
  • 与 TRON (波场) 区块链进行交互的命令行工具 (CLI): tstroncli
  • ISAAC ROS 在Jetson Orin NX上的部署
  • Mkdocs相关插件推荐(原创+合作)
  • 目标导向的强化学习:问题定义与 HER 算法详解—强化学习(19)
  • 双非上岸985!专业课140分经验!信号与系统考研专业课140+上岸中南大学,通信考研小马哥
  • Zookeeper 3.6.3【详细技术讲解】整
  • Day 3: 机器学习进阶算法与集成学习
  • GPU服务器与PC 集群(PC农场):科技算力双子星
  • IPv6网络排障详细步骤指南(附工具命令+配置检查点+典型案例)
  • Jenkins中HTML文件显示样式问题解决方案
  • linux修改用户名和主目录及权限-linux029
  • 初识JVM--从Java文件到机器指令
  • 百度蜘蛛池解析机制:原创
  • 视频质量检测效率提升28%!陌讯多模态融合方案在流媒体场景的技术实践
  • Python之--集合
  • C#(数据类型)
  • 冠捷科技 | 内生外化,精准触达,实现数字化转型精准赋能
  • Matlab中的 for 与while是有区别的
  • geomtry空间索引sql查询慢优化
  • Android 的16 KB内存页设备需要硬件支持吗,还是只需要手机升级到Android15系统就可以
  • [python][基础]Flask 技术栈