原文链接:https://oneraynyday.github.io/ml/2018/05/06/Reinforcement-Learning-MDPs/,还看了一个视频,讲的挺好的,链接:https://www.youtube.com/watch?v=Oxqwwnm_x0s。
MDPs are non-deterministic search problems
与多臂老虎机不同的一点是给每个时刻增加context,即state
马尔可夫决策过程(Markov Decision Process,MDP)
视频里的一些笔记:
1. 像一个搜索树
蓝色小三角是state,绿色圆形是q-state,表示之前是s状态,然后执行action a,转移的状态也有几种可能。
2. 为什么加discount factor?
more is better,and now is better。我之前一直不理解为什么要加discount factor,原因应该就在此,希望越早获得越多的reward。values of rewards decay exponentially,指数级衰减。前面的rewards更有用,并且这样可以帮助算法收敛
3. 如果是无限的,怎么处理?
4. 迭代的一个例子:
学习第一个链接的一些笔记:
1. 形式化表示:
1)agent-environment interface:
agent是决策者,即decision maker。它与环境交互,environment给出reward。(Rt,St) t>=0 (reward,state)是一个马尔可夫链,一个马尔可夫链的定义如下:
一个有限的MDP为:
将Rt边缘化后:
Expected reward for a state-action pair can be defined as:
2)Returns and Episodes:
很多情况都是无限个时间点的,但是可以使用discounting的方法计算,当前一个时刻的rewards会比以后的rewards好,并且以后的rewards都接近0。就可以转换为有限步骤。
(这里很奇怪,因为Gt是以后时刻的reward累加,我查了下别的博客都是这样写的,比如Rt代表的是状态St-1转移到St的reward)
3) Policies and Value Functions:
A policy:从states映射到选择一个action的可能性,如果agent是依据策略π,那么它会根据执行的action a是根据π(a|s)
A value of a state s:在策略π下,如果采取建议的action,从state s开始的expected return,state-value function是希望在最后能最大化的。
这两个函数都有迭代关系:
这两个函数的关系:
2. Iterative Policy Evaluation
凸集的最大值总是大于或等于集合的任何元素的凸组合
(很多公式要仔细看,真的有难度,多看几遍吧)
策略更新的步骤: