繁体   English   中英

强化学习中如何计算价值函数

[英]How to calculate the value function in reinforcement learning

任何人都可以帮助解释如何生成值函数,将问题和解决方案附加在一起,我只是不知道解决方案是如何生成的。 谢谢! 问题

解

仍然需要帮助!!!

由于没有其他人对此表示怀疑,因此,我将介绍我对该问题的理解(免责声明:我不是强化学习的专家,我将其发布为答案,因为它太长了,无法发表评论)

这样想:在例如从节点d开始时,随机游走者有50%的机会跳到节点e或节点a。 每次这样的跳跃都会使乘数y(图片中的伽马)减小奖励(r)。 您继续跳来跳去,直到到达目标节点(在本例中为f),之后您便获得了奖励r。

如果我理解正确,则从每个节点开始时,两个较小的3x2正方形表示期望的奖励值。 现在,很明显为什么在第一个3x2正方形中每个节点的值都是100:因为y = 1,所以奖励永远不会减少。 您可以一直跳来跳去,直到最终到达奖励节点,并收集r = 100的奖励。

但是,在第二个3x2正方形中,每跳一次,奖励就会以0.9的乘数降低。 因此,要获得从平方c开始的奖励期望值,请将通过不同途径获得的奖励相加,并乘以它们的概率。 从c到f的几率是50%,它跳了1次,所以您得到r = 0.5 * 0.9 ^ 0 * 100 =50。然后是路径cbef:0.5 *(1/3)*(1/3) * 0.9 ^ 2 * 100 = 4.5。 然后是cbcf:0.9 ^ 2 * 0.5 ^ 2 *(1/3)^ 1 * 100 = 6.75。 您将一直按照这种方式进行操作,直到所检查路径的收益很小,然后将所有路径的收益汇总在一起。 这应该为您提供相应节点的结果,即50 + 6.75 + 4.5 + ... = 76。

我猜想这样做的编程方式是使用修改的dfs / bfs探索长度为N或更短的所有路径,并将这些路径的收益加在一起(选择N使得0.9 ^ N小)。

再加上一点盐。 我不是强化学习专家。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM