我对任何机器学习方法都很陌生,我想我会尝试尝试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
,那是什么! R矩阵是静态的。
答案 0 :(得分: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)。它有两种可能的操作:转到状态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矩阵。