强化学习之有模型学习

在前面一篇简单介绍了强化学习的概念和模型,具体介绍了K-摇臂赌博机的原理并对比不同模型不同参数下的运行效果。可以参考前面一篇链接:强化学习之k-摇臂赌博机_易-的博客-CSDN博客

本次介绍有模型学习,有模型学习指的是马尔可夫决策过程的四元组E=<X、A、P、R>均为已知,即机器对环境进行了建模,能在内部模拟出与环境相同或相似的状况。此时任意状态x,x'和动作a,在x执行动作a转移到状态x'的概率P(x->x')是已知的,带来的奖赏R(x->x')也是已知的。

1.策略与估计

在模型已知时,对任意策略Π能估计出该策略带来的期望奖赏。另函数VΠ(x)代表从状态x出发,使用策略Π带来的奖赏;函数QΠ(x,a)表示从状态x出发,执行动作a后再使用策略Π带来的累积奖赏。这里V(·)称为“状态值函数”,Q(·)称为“状态-动作值函数”,分别表示“状态”以及“状态-动作”的累积奖赏。

根据前面累积奖赏的定义,有状态值函数:

                        (式1.1)

令x0表示起始状态,a0表示起始状态采取的第一个动作,则有状态-动作值函数:

                    (式1.2)

根据马尔可夫的一个性质:下一状态仅由当前状态决定,不依赖于以往任何状态,故值函数可以写成递归的形式。以T步累积奖赏为例,有:

                               (式1.3)

         可以推导出:(式1.4)

  根据全概率公式:可展开上式得到:

                              (式1.5)

全概率公式中,Bi理解为动作a。                                                                                           在带入全概率公式可以理解为:T步的累积奖赏=(A:选择动作a的概率)*(B:在选择动作a的前提下得到的累积奖赏;由于在状态x下有很多个动作,故对其求和计算所有可能的动作a)。

A、选择动作a的概率:Π(x,a)

​​B、在选择动作a的前提下得到的累积奖赏:(选择了动作a)*(选择a后的累积奖赏)                                                                         有:(状态转移概率:P(x->x'))*(累积奖赏)

      这里的累积奖赏(后面递归的部分):初始状态的奖赏r1+动作a后的T-1步的累积奖赏

                                   初始状态的奖赏r1:x状态转移后状态x'所对应的奖赏,R(x->x')

整理可以得到递归式:(式1.6)

同理,对γ折扣累积奖赏有:(式1.7)

但是,使用全概率公式展开的前提是已知P和R。

从上面的递归式可以看出,从初始值 V0出发,能迭代计算T步后的累积奖赏,算法如下:

有了状态值函数V后,可以直接计算出状态-动作值函数:

                 (式1.8)

2.策略改进

对某个策略的累积奖赏进行评估以后,若发现它并不是最优策略,需要对其进行改进。理想的策略是能最大化累积奖赏:

                        (式2.1)

一个强化学习可能有多个最优策略,其对应的值函数V*称为最优值函数,即:

                    (式2.2)

但是式2.2达到最大的前提是策略空间无约束,即所有的动作a均可被执行,不会违背约束。

由于最优值函数累积奖赏值达到最大,因此可以对式1.6和1.7作改动,即对动作的求和改为最优:

                     (式2.3)

            即:(式2.4)

代入式1.8可得到最优状态-动作值函数:

                  (式2.5)

关于最优值函数的等式,称为最优Bellman等式,其唯一解是最优值函数。

此时,上式揭示了非最优策略的改进方式:将策略选择的动作改变为当前最优。但是,在采用该算法之前,需证明对于策略的每一点改进是单调递增的,以γ折扣累积奖赏为例:

        (式2.6)

上式推导使用了改变动作条件:(式2.7)

和状态-动作值函数:(式2.8)

至此,对于当前策略Π,可以将其改为:

                                  (式2.9)

 直到Π'与Π一致、不再发生变化,即找到了最优策略。

3.策略迭代与值迭代

由前两小节我们知道了如何评估一个策略的值函数,以及在策略评估后如何改进至最优策略。显然可以得到一个求解最优解的方法:从一个初始策略出发,先进行策略评估,然后改进策略,评估改进的策略,....不断地进行迭代。下图给出了基于T步累积奖赏策略的迭代算法:

           

算法中 t=T+1指累积奖赏不再发生变化,则可以退出。

由式2.6可知,策略改进与值函数的改进是一致的,因此可将策略改进视为值函数的改善,式2.3可得:

           (式3.1)

于是得到值迭代的算法:

          

从算法可以看出,在模型已知时强化学习任务能归结为基于动态规划的寻优问题。

将在后面一篇文章中,介绍免模型学习:https://blog.csdn.net/weixin_43797015/article/details/121588382

参考资料:《机器学习》周志华著,清华大学出版社

                   《机器学习公式详解》(南瓜书)谢文睿、秦州编著,人民邮电出版社

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

易-

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值