Monte Carlo learning简称 MC,是model-free算法,也就是不基于模型的算法,Today5发布的value iteration and Policy iteration algorithm是model-based算法,是基于模型的算法,也就是说,没有模型的构建,需要数据的支撑,MC包括三个算法,分别是MC Basic 、MC Exploring Starts 和这三个算法,下面依次来介绍。
①MC-based(效率低)
其实此算法和policy iteration很像,就是将policy iteration基于模型的部分换为基于数据的部分。
policy iteration可以在此博客查看:强化学习(Value iteration and Policy iteration Algorithms)-Today5-CSDN博客
MC-based也是从策略开始,在第k次迭代下分为以下两个步骤:
(1)Policy evaluation:
一个关于走迷宫的例子:在初始位置出发,每一个位置就相当于state,走的方向相当于action,不同到达终点的路径在每个(state,action)有相应的reward,整个路径的reward之和是,走每一个路径会得到每一个不同的,进行多次试验走多次迷宫,得到的数据。
(2)Policy improvement
将得到的数据进行比较,找到最大的,选出最大的,即:
但是由于要进行多次试验,因此效率较低。
②MC Exploring Statrs(实现困难)
探索(s,a)也就是要从每一个state和action都要开始一遍,也就是假如有5个state和9个action,那么需要45个数据,以保证exploring每一个state和action。
下面介绍first-visit method 和every-visit method 的区别:
first-visit method:比如一个为初始时多次出现,那么只采样第一次出现的数据。
every-visit method:若多次出现,选择所有的。
因此,此算法使用first-visit method显然效率更高,也是分为两个步骤:
(1) Policy evaluation
假设迷宫走向的一个策略为如图所示,从(s1,a1)刀(s2,a2)到(s3,a1)再到(s4,a1)等等,那么我们可以使用 generalized policy iteration倒着来计算,先计算(s4,a1)的grade,那么求解(s3,a1)只需要使用便可以求解出(s3,a1)的grade,(g为从一个state 出发的return)依次递推算起来更加简便,如下:
dag//从一个state出发的所有路径的平均值。
(2)Policy improvment
③
此算法主要是使用了exploration and exploitation,也就是利用和探索,在其他两个算法中,我们都是使用了唯一policy,也就是只求出了一个最优策略,只使用了exploitation,而则是将一个最优的策略的利用最大化,而其他策略也进行部分探索,其实在计算方面和其他两个一样,也是使用了Policy evaluation 和Policy improvment,只不过其他两个的
等于1,而:
时,算法是greedy的,是more exploitation更多利用所采样的数据;
时,服从均匀分布,每个policy的概率相等,是more exploration,更多的探索。
还具有一致性,当使用较小的时,和greedy的optimistic是相似的,但是由于也采用了exploration,效果较好,因此使用使,可以将从大到小进行尝试,可以获得较好策略。
标签:Today6,Monte,MC,iteration,state,policy,算法,learning,Policy From: https://blog.csdn.net/m0_52094641/article/details/140216823