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

免模型控制

文章目录

  • 免模型控制
  • 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.lryc.cn/news/600061.html

相关文章:

  • 蓝桥杯java算法例题
  • 计算机网络(第八版)— 第2章课后习题参考答案
  • [NLP]多电源域设计的仿真验证方法
  • 数字化转型-AI落地金字塔法则
  • 【日志】unity俄罗斯方块——边界限制检测
  • 深度学习篇---图像数据采集
  • 【VLAs篇】06:从动作词元化视角谈VLA模型的综述
  • JavaSE-图书信息管理系统
  • 9 个优秀帮助中心案例:打造提升客户体验的自助支持系统
  • Allegro软件光绘文件Artwork到底如何配置?
  • 飞算JavaAI“删除接口信息” 功能:3 步清理冗余接口,让管理效率翻倍
  • Android Ntp系统校时流程
  • 互联网金融项目实战(大数据Hadoop hive)
  • Redis替代方案:腾讯云TDSQL-C内存优化实战,TPS秒上涨
  • App拉起:唤醒即达,告别繁琐操作
  • 百度快排技术分析的核心要素
  • 测试实时性内核参数配置
  • 【初识数据结构】CS61B中的快速排序
  • 洛谷 P11965 [GESP202503 七级] 等价消除-普及/提高-
  • 《使用Qt Quick从零构建AI螺丝瑕疵检测系统》——5. 集成OpenCV:让程序拥有“视力”
  • WebGL入门:高斯模糊
  • Qt 网络编程进阶:HTTP 客户端实现
  • leetcode102:二叉树的层序遍历(队列实现)
  • 搜索--二分查找
  • haproxy七层代理(实验)
  • Excel导入数据库-01.构思
  • 4麦 360度定位
  • 力扣 hot100 Day55
  • lock 和 synchronized 区别
  • 基于粒子群优化的PID控制在药液流量控制系统中的应用