学习编程教程:Q学习教程混淆(how to confuse machine learning)

我对任何机器学习方法都很新,我想我会尝试尝试 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)在教程中不断变化,从1000,然后又回到100,WHAT!R 矩阵是静态的。

enter image description here

2

我认为一个错误是在第二个方程中使用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)混淆。

Update

这里是教程的另一部分,我认为应该改变的清晰度和正确性,我认为它应该说,按顺序。

矩阵 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 矩阵。

本站系公益性非盈利分享网址,本文来自用户投稿,不代表边看边学立场,如若转载,请注明出处

(376)
都选c吉他教学:所有if语句都执行c++(c++ if statements)
上一篇
魔兽争霸地图无cd:在哪里了解敌人的游戏算法(如星际争霸/魔兽)
下一篇

相关推荐

发表评论

登录 后才能评论

评论列表(22条)