【发布时间】:2018-05-10 17:58:24
【问题描述】:
我正在研究并尝试实施一个 Q-Learning 示例。到目前为止,我已经能够通过将代码分解并弄清楚它是如何工作的来慢慢地遵循代码,但是我偶然发现了一个小小的 sn-p,我无法弄清楚它为什么存在......
action = np.argmax(q_learning_table[state,:] + np.random.randn(1, 4))
据我所知,无论state 是什么值,都从 Q-Learning 表中选择了一个动作,但仅从矩阵中的特定行中选择。我不明白为什么需要np.random.randn(1, 4)。
在本地,我做了以下尝试来理解它:
A = np.matrix([[0, 0, 5, 0], [4, 0, 0, 0], [0, 0, 0, 9])
a = np.argmax(A[2,:] + 100)
print(a)
我的理解是我应该看到结果103 而不是3(9 的位置)。那么,为什么我仍然看到3。加100的目的是什么?
【问题讨论】:
-
如果将 same 值添加到每个元素,则不会改变最大值的位置,但
randn(1, 4)不只是一个值。
标签: python numpy artificial-intelligence reinforcement-learning