离线强化学习算法:Q-Learning

一、概述

在强化学习中,Q-Learning 是一种基于值函数的无模型(model-free) 强化学习算法之一,用于求解马尔可夫决策过程(MDP)中的最优策略。它不依赖于已知的环境状态转移概率,只需通过智能体与环境的交互经验就能学习最优策略,具体为通过学习一个状态-动作值函数(Q函数)来选择最优策略。

Q-Learning 的目标是通过不断地更新 Q 值,使得智能体能够选择在给定状态下能获得最大累积奖励的动作。Q-Learning 的一个重要特点是,它保证在探索足够多的状态-动作对后,最终会收敛到最优策略。

二、Q函数的定义

Q-Learning 中,Q函数 表示在状态 下采取动作 所能获得的期望回报。Q函数是 Q-Learning 的核心,通过对 Q 值的不断更新,最终得到最优的 Q 函数

三、核心思想

Q-Learning 的核心思想是通过贝尔曼方程来更新 Q 值。贝尔曼方程描述了某一状态-动作对的 Q 值与其后续状态-动作对之间的关系。

更新公式为:

其中:

分别是当前状态和当前动作;

是智能体在执行动作 后,从环境中获得的即时奖励;

+1 是观察到的即时奖励;

是折扣因子,表示未来奖励的衰减程度

是状态 下所有可能动作的最大 Q 值,代表智能体在下一状态下选择最优动作后的预期回报;

是学习率,决定了新信息覆盖旧信息的程度;

TD误差 = (目标Q值 - 当前Q值)

通过该公式,Q-Learning 在每个时间步 都会根据当前的经验(状态、动作、奖励、下一状态)来更新 Q 值。随着学习的进行,Q 值逐渐收敛到最优 Q 值 ,从而得到最优策略。

TD 误差的分解:

TD_Error = (目标Q值)-(当前Q值)

它是一个估计值,由即时奖励 和下一个状态 +1 的估计最优未来折扣奖励 组成。

通过这个公式,Q-Learning 在每个时间步 都会根据当前的经验(状态、动作、奖励、下一状态)来更新 Q 值。随着学习的进行,Q 值逐渐收敛到最优 Q 值 ,从而得到最优策略。

四、Q-Learning 算法流程

Q-Learning 算法的执行步骤如下:

  • 初始化 Q 表:首先,初始化 Q 值表格,通常将所有状态-动作对的 Q 值初始化为零或小的随机值。

  • 选择动作:在每个时间步 t,智能体基于当前的 Q 值,从状态 s 选择一个动作 a ,常见的选择策略有:

    • 贪婪策略(Greedy Policy) :选择当前 Q 值最大的动作,即选择
    • ε-贪婪策略(ε-greedy Policy) :以 的概率选择 Q 值最大的动作,以 的概率随机选择其他动作(探索新的状态),避免陷入局部最优。
  • 执行动作并更新 Q 值 :智能体执行动作 a ,获得奖励和下一个状态,然后根据 Q-Learning 的更新公式更新 Q 值。

  • 重复步骤2和步骤3:直到达到某个终止条件(例如,达到最大步数或者 Q 值收敛)。

五、Q-Learning 的优点与局限性

5.1 优点

简单易实现:Q-learning 算法简单,易于理解和实现。

无模型学习:不需要环境的完整模型,适用性广泛。

有效性强:在许多实际问题中表现良好,尤其是离散空间的问题。

5.2 缺点

收敛速度慢:在复杂问题中,收敛可能很慢。

维数灾难:状态和动作空间较大时,Q 值表会变得庞大,导致计算和存储困难。

需要大量探索:在初期探索阶段,需要进行大量随机探索,影响学习效率。

相关推荐
强盛机器学习~19 天前
考虑异常天气和太阳辐射下基于强化学习的无人机三维路径规划
算法·matlab·无人机·强化学习·路径规划·无人机路径规划·q-learning
星马梦缘1 个月前
强化学习实战4——自定义环境的搭建
python·深度学习·机器学习·强化学习·q-learning·baseline3
星马梦缘1 个月前
强化学习实战3——自定义环境的搭建Q-LEARNING
强化学习·dqn·q-learning·baseline3
七夜zippoe2 个月前
强化学习实战指南:从Q-Learning到PPO的工业级应用
python·openai·超参数调优·q-learning·mdp
香芋Yu2 个月前
【强化学习教程——01_强化学习基石】第06章_Q-Learning与SARSA
人工智能·算法·强化学习·rl·sarsa·q-learning
小喵要摸鱼4 个月前
Q-learning 算法 —— 无模型(model-free)强化学习
强化学习·rl·q-learning
小毅&Nora5 个月前
【人工智能】人工智能发展历程全景解析:从图灵测试到大模型时代(含CNN、Q-Learning深度实践)
人工智能·cnn·q-learning
有梦想的攻城狮9 个月前
Q-Learning详解:从理论到实践的全面解析
强化学习·q-learning
、达西先生1 年前
强化学习笔记——4策略迭代、值迭代、TD算法
算法·rl·sarsa·q-learning