强化学习4.1:基于价值——Q-learning

概念

是一种离线策略(off-policy) 的时序差分(TD)强化学习算法,用于学习最优动作价值函数 ,且不需要环境模型

核心思想

通过不断更新 Q 值,使 Q 函数逼近最优值。

更新时使用的目标值基于 贪婪选择 (取下一状态的最大 Q 值),但实际执行动作时可以遵循其他策略(如 ε-贪婪),因此是 离线策略 算法

更新公式

  • s:当前状态

  • a:当前执行的动作

  • r:获得的奖励

  • s′:下一状态

  • α:学习率(0~1,控制更新幅度)

  • γ:折扣因子(0~1,平衡即时与未来奖励)

  • max⁡a′Q(s′,a′):在下一状态所有动作中,选择最大的 Q 值

算法流程

复制代码
初始化 Q(s,a) 为任意值(通常 0)
对每个 episode:
    初始化状态 s
    对 episode 中的每一步:
        根据策略(如 ε-贪婪)从 Q 选择动作 a
        执行动作 a,观察奖励 r 和下一状态 s'
        Q(s,a) ← Q(s,a) + α [ r + γ * max_{a'} Q(s',a') - Q(s,a) ]
        s ← s'
    直到 s 为终止状态

什么时候用 Q-learning?

  • 状态和动作空间 离散且较小(可用表格存储)

  • 想学习 确定性最优策略

  • 环境没有模型,需要从交互中学习

如果状态空间很大(如图像),就需要 深度 Q 学习(DQN)

相关推荐
Linux猿2 小时前
植物病害图像数据集 YOLO 目标检测 | 可下载
人工智能·yolo·目标检测·yolo数据集·yolo目标检测·yolo目标检测数据集·植物病害图像数据集
少许极端2 小时前
算法奇妙屋(四十四)-贪心算法学习之路11
java·学习·算法·贪心算法
子琦啊2 小时前
【算法复习】数组与双指针篇
javascript·算法
Cosolar2 小时前
LangChain实战:基于Streamlit+ LangChain + Qwen 快速构建一个多会话AI聊天页面
人工智能·llm·agent
ambition202422 小时前
斐波那契取模问题的深入分析:为什么提前取模是关键的
c语言·数据结构·c++·算法·图论
艾莉丝努力练剑2 小时前
C++ 核心编程练习:从基础语法到递归、重载与宏定义
linux·运维·服务器·c语言·c++·学习
鱼鳞_2 小时前
Java学习笔记_Day24(HashMAap)
java·笔记·学习
扬帆破浪2 小时前
麒麟系统安装察元 WPS AI 文档助手:免费、开源、离线部署说明
人工智能·开源·wps
古希腊掌管代码的神THU2 小时前
【清华代码熊】图解 Gemma 4 架构设计细节
人工智能·深度学习·自然语言处理