- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在查看样本考试,有一个关于 Q-learning 的问题,我已将其包含在下面。在第三步中,为什么采取的 Action 是“正确”而不是“向上”(回到A2)。返回到 A2 的 Q 值似乎为 0.18,向右的 Q 值为 0.09。那么为什么代理不返回 A2 而是前往 B3 呢?
编辑:另外,为什么 2,C 对于“正确” Action 的奖励值为 2,即使那里有一堵墙并且不可能向右走?我们是否只是假设这不是一个可能的举动并忽略它的 Q 值?
Edit2:然后在步骤 6 中,在状态 1,C 处“向下”和“向右”的 Q 值相等。那么代理会随机选择吗?那么对于这个问题我只会选择最好的举动,因为代理可能会选择它?
Edit3:说特工不会返回到他之前的状态是真的吗?代理是否会多次探索同一状态(不包括启动迷宫的新实例)?
最佳答案
您似乎假设您应该在下一个时间步中查看状态的值。这是不正确的。 Q 函数回答了这个问题:
If I'm in state
x
, which action should I take?
在非确定性环境中,您甚至不知道下一个状态是什么,因此不可能确定在您的解释中采取哪个操作。
Q-learning 的学习部分确实作用于两个后续时间步,但在它们已知之后,它们用于更新 Q 函数的值。这与如何收集这些样本(状态、 Action 、强化、下一个状态)无关。在这种情况下,样本是由与环境交互的代理收集的。在 Q 学习设置中,代理根据策略与环境进行交互,该策略基于此处 Q 函数的当前值。从概念上讲,政策的作用是回答我上面引用的问题。
<小时/>在步骤 1 和 2 中,仅针对状态 1,A
和 2,A
修改 Q 函数。在第 3 步中,代理处于状态 3,A
,因此这是 Q 函数中唯一相关的部分。
In the 3rd step, how come the action taken is 'right' rather than 'up' (back to A2).
在状态 3,A
中,具有最高 Q 值的 Action 是“正确”(0.2
)。所有其他操作的值为 0.0
。
Also, how come 2,C has a reward value of 2 for action 'right' even though there's a wall there and not possible to go right? Do we just assume thats not a possible move and ignore its Q value?
据我所知,2,C
右侧没有墙。然而,Q 函数是给定的,并且在该任务中是否可以使用 Q 学习达到这样的 Q 函数并不相关。无论如何,您始终可以从任意 Q 函数开始 Q 学习。
在 Q 学习中,你唯一的知识是 Q 函数,因此你对“墙”和其他事物一无所知 - 你根据 Q 函数行事,这就是该算法的全部优点。
Then in step 6, the Q values for going 'down' and 'right' at state 1,C are equal. At that point does the agent just pick randomly? So then for this question I would just pick the best move since it's possible the agent would pick it?
同样,您应该查看代理当前所处状态的值,因此对于 1,B
“正确”是最佳的 - 它有 0.1
和其他操作为 0.0
。
回答最后一个问题,尽管它在这里无关紧要:是的,如果代理采取贪婪步骤并且多个操作似乎是最优的,它会在最常见的策略中随机选择一个。
Would it be true to say the agent doesn't return to the state he previously came from? Will an agent ever explore the same state more than once (not including starting a new instance of the maze)?
没有。正如我上面所说 - 在纯 Q 学习中使用的唯一指导代理是 Q 函数。它不知道自己之前曾处于特定状态。
关于machine-learning - Q-Learning:你能倒退吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22572624/
例子一 function first(a, b) { return a + b; } function second() { return Math.floor(Math.sqrt(a
我想证明或证伪forall (P Q : Prop), (P -> Q) -> (Q -> P) -> P = Q.在柯克。这是我的方法。 Inductive True2 : Prop := | O
程序提取数字,我希望它继续循环,直到用户键入“Q”/“q”键。例如,当用户按下“O”键时,程序应打印他们输入的数字的个位数,对于用户输入的任何 3 位数字,依此类推。当我现在运行代码时,没有输出,但也
我收到以下代码的警告,我不明白为什么。 类似于这个问题:Unhandled rejection reasons (should be empty) 但是…… 我很确定我正在处理所有错误,那么为什么会出
我正在使用 Express 构建一个博客站点,并且是第一次使用 Q,我希望能够利用资深 Q 用户的知识。 我向我的数据库发出一个请求以加载帖子数据,另一个请求命中 Instagram API(除非它已
我刚刚找到有关 apache solr 的信息,并且在我成功安装了带有 Tomcat 的 apache Solr 之后。然后我开始使用 Apache Solr 进行搜索。 但我对 Apache Sol
我在 Stack Overflow post 上看到了下图 但是,我对“p OR q”、“p AND q”的结果感到困惑,其中“p”等于“false”,“q”等于“unknown”。 在图中,“p O
有人向我提出了这个问题。 n = 77 n = p*q p and q is a prime number 用蛮力找到p和q。 到目前为止我的代码: public class If { pub
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎与 help center 中定义的范围内的编程无关。 . 关闭 4 年前。 Improve
我注意到如果 .then()回调由于任何错误(例如对 undefined variable 的操作)而失败,并且没有 .catch()相关联,该错误将被静默忽略。 这在开发过程中很不舒服。 例如,此代
以下示例打印“SAME”: if (q/\\a/ eq q/\a/) { print "SAME\n"; } else { print "DIFFERENT\n"; } 我理解这与 d
我画了 qq 图多元回归,得到了下面的图。谁能告诉我为什么红线下面有两个点?这些点对我的模型有影响吗? 我使用下面的代码来绘制图表。 from sklearn.linear_model import
我确定 int q[6][4] 中的 q 的类型为 (**q)[4],即, 指向大小为 4 的整数数组的指针。但是我的书(我发现它很可疑!!)说函数定义中的 int q[][4] 部分 void fo
我试图用 tatics [intros]、[apply]、[assumption]、[destruct]、[left]、[right]、[split] 来证明这个引理,但失败了。谁能教教我怎么证明?
使用 q.all 时,我的数组中的立即函数似乎没有执行。每个函数都应该创建一个已解决的 promise ,将其打印到控制台,然后返回它。我没有看到控制台输出,但 Q.all 似乎很满意,并用 2 个空
我想在 OpenAI 的 Bipedal Walker v2 中实现 Q 学习,但在寻找教程后,它们似乎总是有限环境,这使得 Q 矩阵和奖励矩阵易于初始化。 例如:http://mnemstudio.
已关闭。此问题需要 debugging details 。目前不接受答案。 编辑问题以包含 desired behavior, a specific problem or error, and the
我正在创建一个基于 AngularJS、Breeze 和 RequireJS 的单页应用程序。在使用 requirejs 设置 AMD 以使用 Angular 和 Breeze 时,我遇到了 Bree
这个问题在这里已经有了答案: Difference between defer().promise and Promise (1 个回答) 关闭 6 年前。 在 Angular 中,以下代码片段似乎
我写了一个 tcp 服务器和一个 tcp 客户端,客户端只向服务器发送数据并打印它写入了多少字节,服务器只接受连接,然后我使用 netstat 显示套接字的 Recv-Q 和 Send-问,我发现 R
我是一名优秀的程序员,十分优秀!