MDP:
Monte-Carlo learning
蒙特卡洛学习。是通过样本来判断整体的情况,没有MDP中的P和R,直接从episodes(需要有terminate state)中获得return value,计算mean作为这个state的value。没有bootstrapping,通过采样进一步获取别的metric,而是直接使用episode。MC可以用在episodic MDP(所有的episodes必须终止)
MC的目标就是在某个policy下估计value function,value的计算是使用所有的episodes的平均return award,而不是expected return reward。
First-Visit MC Policy Evaluation
为了估计状态s的value,在计算value的时候,只把开始状态从在state s的这个episode计算到最终需要估计的结果value里面。每有一个这样一个计数器N+1,total reward加上这个episode的return reward。那么最终这个state的value就是V(s) = S(s)/N(s),当N趋向于无穷的时候,那么这个值接近于真是的expected value。在这里,你会发现,所谓的MC就是随机采样的意思,在机器学习领域,使用MC可以在概率图模型里面,根据概率生成随机样本来估计最终的joint probability。
Every-Visit MC Policy Evaluation
为了估计state s的value,把每个有经过这个state的episode的return value加上去,对应的counter也要加一。然后再取平均的return reward作为最终的state value。
在slide中提出了一个increment mean的东西,就是计算mean的时候不需要每次把所有的都计算一遍,只需要把新加入的元素加进去,大大减少了计算量。
把上面的东西加到MCL里面,可以得到:
在遇到non-stationary问题的时候,可以忽略原episode的参数:
Temporal-Difference Learning
时序差分学习。和MCL有不少相同点,不同点在于TD从不完整的episode中可以学习,通过bootstrapping。通过猜想来更新猜想。
具体的MCL和TD在公式上的差别如下:
所以从公式上可以看出,TD不需要使用有terminate state的episode,所以在进行每一步之后可以进行一次迭代学习,所以可以进行online learning。MCL必须在整个episode到terminate之后才能学习,所以是off-line的。TD可以用于连续空间,MC只能用于episodic environment。
TD对初始值更敏感,low viriance,some bias,比MCL更高效;MC的variance 更大,zero bias,对初始值更不敏感。TD在expolit Markov特性,MC不依赖于这点,可以在non-Markov environment中比较高效。
对于bootstrapping和sampling的区别:
TD(lambda)
根据计算return award的step的不同,可以看出MC与TD的差别:
以下是一种新的TD的方法,就是改变了
Gλt
对TD(
λ
)的总结:
Useful Links:
【1】Model-free Slide: http://www0.cs.ucl.ac.uk/staff/d.silver/web/Teaching_files/MC-TD.pdf
【2】Bootstrapping: https://en.wikipedia.org/wiki/Bootstrapping_(statistics)