WindTom 技术、生活

reinforcement learning

2018-05-16

MDP - Markov decision problem

###术语解释

state:系统的状态指的是能够描述系统的一个参数或者一组参数。比如一个机器人的地理坐标就是一个状态。状态随时间变化的系统叫做dynamic system。还有一个例子是超市的队伍,假设队伍的长度是一个状态,那么这个状态随时间改变,因此这是一个dynamic system。

需要注意的是MDP中状态之间的转移通常是随机的。

action: 通常,机器人的行动是可控制的,我们希望让机器人选择最优的行动。假设机器人行走的步数是离散的,那么机器人通过每一步的积累就可以向东西南北各个方向行走。东西南北四个选择就称作action或control。

对于前面说过的排队系统,当队伍长度超过一定值,比如10个人,就新开一个柜台。因此,这个系统就有两个action:开柜台,不开柜台。

transition probability:假设action a在状态i被选择,j是下一个状态。p(i,a,j)表示在a的影响下,系统从i过度到j的概率(称作transition probability)。如果一个MDP有3个状态,2个action,则每个action有9个transition probability. 如下图

Immediate Rewards

通常,系统从一个状态转移到另一个状态会立即得到一个reward(可能是正的,也可能是负的,即奖励或者惩罚)。用r(i,a,j)表示。

policy

policy决定了系统在每个状态上要如何采取action。注意有些状态下,没有action可供选择。decision-making states指的就是系统选择action的状态。本教程中所有的状态都是decision-making states。

performance metric

给定Policy,就得有performance metric去度量Policy的优劣。我们的目标是选择Performance metric最好的plicy。

比如,我们可以考虑选择average reward policy。

Time of transition

我们假设MDP的转化时间是均匀的,也即是状态之间的转换时间相同(数据库调优里面是否可以引入time of transition,表示重启数据库的代价?)。对于SMDP,转换时间则不是固定的。

average reward policy

现在,假设一个policy p, p(i)表示该policy在状态i选择的action。当Markov chain上发生jump,我们称一个transition发生了。注意,一个状态也有可能transition到自己。 Xs 表示第s次transition前的状态,注意,在infinite horizon problem中,s是有可能从1到infinity的。下面这个公式表示系统从状态i开始的average reward:

average reward表示immediate reward之和除以jump(transition)次数.E[.]表示方括号内数值的平均值。但是这里有个问题:除以k才是平均值,为什么又用E表示。

不难看到,如果满足一定条件(现实情况下这样的条件也能得到满足),(1)式对任何x1都成立。

average reward MDP的目标就是寻找到能够最大化performance metric(average reward)的plicy。

discounted reward

另外一个比较常用的performance metric是discounted reward。policy p 的 total discounted reward如下:

这里,¡为discount factor,0 < ¡ <1。

SMDP - semi-Markov decision problem RL END 参考资料:

A Tutorial for Reinforcement Learning.Abhijit Gosavi.




Comments