我对任何机器学习方法都很新,我想我会尝试尝试 Q-Learning。所以我一直在阅读这篇文章:
http://mnemstudio.org/path-finding-q-learning-tutorial.htm让我困惑的是这个等式:
Q(1, 5) = R(1, 5) + 0.8 * Max[Q(5, 1), Q(5, 4), Q(5, 5)] = 100 + 0.8 * 0 = 100
这个R(1, 5)
在教程中不断变化,从100
到0
,然后又回到100
,WHAT!R 矩阵是静态的。
我认为一个错误是在第二个方程中使用R(1, 5)
。如果你阅读文本,你会发现你目前处于状态3
,你随机选择状态1
去:
对于下一集,我们从随机选择的初始状态开始。这次,我们将状态 3 作为我们的初始状态。
看矩阵 R 的第四行;它有 3 个可能的动作:转到状态 1 、 2 或 4。通过随机选择,我们选择转到状态 1 作为我们的动作。
R(3, 1)
是0
,文章后面更新的Q
矩阵也有Q(3, 1)
填写的值。
那么,公式应该是:
Q(3, 1) = R(3, 1) + 0.8 * Max[Q(1, 3), Q(1, 5)] = 0 + 0.8 * 100 = 80
(1, 2)
是-1
,所以我认为使用它是一个错误。
现在我们想象我们处于状态 1,看看奖励矩阵 R 的第二行(即状态 1),它有 2 个可能的动作:转到状态 3 或状态 5
所以R(1, 5)
不会改变:它总是100
。有时它只是与R(3, 1)
混淆。
这里是教程的另一部分,我认为应该改变的清晰度和正确性,我认为它应该说,按顺序。
矩阵 Q,Q (5,1),Q (5,4),Q (5,5) 的更新项均为零。由于来自 R (5,1) 的即时回报,Q (1,5) 的计算结果为 100。该结果不改变 Q 矩阵。
更改为:
矩阵 Q,Q(5,1),Q(5,4),Q(5,5)的更新条目(,如先前的操作更新)均为零。由于来自R(1,5)的即时奖励,因此对 Q(1,5)的计算结果为 100。此结果不会更改 Q 矩阵。
本站系公益性非盈利分享网址,本文来自用户投稿,不代表边看边学立场,如若转载,请注明出处
评论列表(22条)