上一次我分享了强化学习相关基础概念,推导了Bellman方程。这次我们来学习求解强化学习模型的2种思路——值迭代与策略迭代
动态规划
这里面我要简单介绍一下动态规划,因为严格来说,值迭代与策略迭代是用来解决动态规划问题的两种规划方法。而强化学习又有另外一个昵称——就是拟动态规划。说白了强化学习就是模拟动态规划算法。
用一句话来总结动态规划就是,对一个复杂问题给出一个一般性的解决办法。它主要由两个性质:
- 最优子结构:最优解法能被分解到多个子问题中
- 重叠子问题:子问题能重复多次且解法能被重复利用
马尔科夫决策过程(MDP)满足以上两个性质,所以任何MDP都可以用动态规划来解。动态规划与强化学习的区别就是动态规划假设MDP模型是全知的(即参数可知) 而 强化学习可以使MDP未知。
MDP需要解决的问题有两种,第一种是prediction,它已知MDP的S,A,P,R,γ以及policy,目标是算出在每个状态下的value function(值函数其实就是问题的目标,一般都是跟reward有关的函数,例如Atari小游戏,一般值函数就是累计的得分的期望。目标一般就是最大化这个值函数。而第二种是control,它已知MDP的S,A,P,R,