一、从马尔科夫过程到Q学习
# 有一定基础的读者可以直接看第二部分
Q学习(Q-learning)算法是一种与模型无关的强化学习算法,以马尔科夫决策过程(Markov Decision Processes, MDPs)为理论基础。
标准的马尔科夫决策过程可以用一个五元组<S,A,P,R,γ> 表示,其中:
- S是一个离散有界的状态空间;
- A是一个离散的动作空间;
- P为状态转移概率函数,表示agent在状态s下选取动作a后转移到a'的概率;
- R为回报函数,用于计算agent由当前状态 选取动作 后转移到下一状态 得到的立即回报值,由当前状态和选取的动作决定,体现了马尔科夫性的特点;
- γ是折扣因子,用于确定延迟回报与立即回报的相对比例, 越大表明延迟回报的重要程度越高。
马尔科夫决策问题的目标是找到一个策略 ,使其回报函数 的长期累积值的数学期望
最大。其中,策略π只和状态相关,与时间无关(静态的)。 是t时刻的环境状态,
是t时刻选择的动作。
根据Bellman最优准则,得到最优策略 对应的最优指标为:
其中, R(s,a)为r(st,at)的数学期望, 为在状态s下选取动作a后转移到下一状态状态s'的概率。由于某些环境中状态之间的转移概率P不容易获得,直接学习
是很困难的,而Q学习不需要获取转移概率P,因而可用来解决此类具有马尔科夫性的问题。
Q学习是一种与环境无关的算法,是一种基于数值迭代的动态规划方法。定义一个Q函数作为评估函数: