Reinforcement Learning:Model-Free Prediction 笔记

来源:互联网 发布:mac散热口在哪 编辑:程序博客网 时间:2024/06/06 15:00

  • Monte-Carlo learning
      • First-Visit MC Policy Evaluation
      • Every-Visit MC Policy Evaluation
  • Temporal-Difference Learning
  • TDlambda

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)

阅读全文
0 0
原创粉丝点击