最近转向深度学习方向的学习,遇到一些卡壳。
查阅了部分资料,获得一些个人的理解如下:
马尔可夫决策过程 【定义】
是基于马尔可夫过程理论的随机动态系统的最优决策过程。
它是马尔可夫过程与确定性的动态规划相结合的产物,故又称马尔可夫型随机动态规划。
1⃣️ 具备 马尔科夫链 属性:
即 简单点说,一个事件/物体 可视为是 无数(状态,动作)的切片积分而成,而下一个状态s` 仅与 当前状态s 有关,与历史状态无关。
举例:就像下棋一样,你下棋的每一个决策 都仅与当前棋局的状态 有关, 而你是基于最终收益(赢)作为动作 的策略依据。
2⃣️ 由(S, A, R, P)四个变量 描述
S: State 状态序列
A: Action 由状态 映射到 的动作序列
R:Reward 回报函数,立即回报
P:状态转移概率序列
3⃣️ 引入 值函数概率来衡量 当前状态的长期收益
3.1状态值函数:
γ 为 折扣因子:用来 加权 与当前状态 时间 最接近的 动作影响力 越大。
γ=0时,相当于只考虑立即不考虑长期回报,
γ=1时,将长期回报和立即回报看得同等重要。
3.2 加入(状态,动作)转移概率后
3.3 MDP的最优策略
即 能够使得Vπ(s)在任意 状态s下 均能 获得最大值 的策略 π
那么 怎么样 进行求解呢?
获得最优策略的三种方法:
动态规划法(dynamic programming methods)
蒙特卡罗方法(Monte Carlo methods)
时间差分法(temporal difference)
3.4 动态规划法(贝尔曼方程)
3.5 Q函数-(引入了动作的值函数)
1⃣️ 定义动作值函数(action value function Q函数)如下:
2⃣️ 给定当前状态s和当前动作a,在未来遵循策略π,那么系统将以概率p(s'|s,a)转向下个状态s',上式可以重写为:
3⃣️ 值迭代:
Q(s,a) = r + γ * max{ Q(基于s'下 任意a' ) }