Algorithm 马尔可夫强化学习的拟合值迭代算法

Algorithm 马尔可夫强化学习的拟合值迭代算法,algorithm,machine-learning,reinforcement-learning,model-fitting,Algorithm,Machine Learning,Reinforcement Learning,Model Fitting,在Andrew Ng的拟合值迭代算法中,我给出了如下详细步骤,它将尝试在步骤3中找到一个状态s(I)的最佳动作。当代理在s(i)中时,我们执行可能的动作a(1),并转换到s(i)“ 我的问题是,我们如何再次回到s(i)并执行第二个可能的操作a(2)?假设我们用这种算法来控制直升机,我认为我们不能轻易地恢复状态 算法 请注意,第4.2.2节中描述的您所参考的算法是第4.2节“父”部分的一部分。值函数逼近。第一节是4.2.1,使用模型或模拟 在第一节中,我们可以阅读: 为了开发值函数近似算法,我们将

在Andrew Ng的拟合值迭代算法中,我给出了如下详细步骤,它将尝试在步骤3中找到一个状态s(I)的最佳动作。当代理在s(i)中时,我们执行可能的动作a(1),并转换到s(i)“

我的问题是,我们如何再次回到s(i)并执行第二个可能的操作a(2)?假设我们用这种算法来控制直升机,我认为我们不能轻易地恢复状态

算法
请注意,第4.2.2节中描述的您所参考的算法是第4.2节“父”部分的一部分。值函数逼近。第一节是4.2.1,使用模型或模拟

在第一节中,我们可以阅读:

为了开发值函数近似算法,我们将假设 我们有一个用于MDP的模型,或模拟器。非正式地说,是一个模拟器 是一个黑匣子,它将任何(连续值)状态
s\t
作为输入,并且 动作
a_t
,并输出根据状态采样的下一个状态
s_{t+1}
转移概率
P{s\u t,a\u t}


因此,该算法假设您可以使用de-model/simulator来模拟将所有可能的操作应用于相同的状态。正如您所注意到的,如果您有一个真实的环境(即,不是模型或模拟器),如直升机,则不可能对同一状态应用多个动作,因为在应用动作后,状态会发生变化。

Hi@J0hnnyJiang,您能提供一个参考(一篇论文或类似的东西)吗关于你所说的算法?@PabloEM这是一篇论文,第4.2.2节提到了算法。假设我们控制一架直升机,其状态因风速等因素而随机变化。在步骤3中,对于每个动作循环,我们如何恢复到相同的s(i)状态并执行不同的动作。感谢您的回答,这真的很有帮助。因此,该算法不能在真实环境下工作。
1. Randomly sample m states s(1), s(2), . . . s(m) ∈ S.
2. Initialize θ := 0.
3. Repeat {
    For i = 1, . . . , m {
        For each action a ∈ A {
            Sample s′ 1, . . . , s′ k ∼ Ps(i)a (using a model of the MDP).
            Set q(a) = k1 Pk j=1 R(s(i)) + γV (s′ j)
            // Hence, q(a) is an estimate of R(s(i))+γEs′∼P
            s(i)a[V (s′)].
        }
        Set y(i) = maxa q(a).
        // Hence, y(i) is an estimate of R(s(i))+γ maxa Es′∼P
        s(i)a[V (s′)].
   }
   // In the original value iteration algorithm (over discrete states)
   // we updated the value function according to V (s(i)) := y(i).
   // In this algorithm, we want V (s(i)) ≈ y(i), which we’ll achieve
   // using supervised learning (linear regression).
   Set θ := arg minθ 1 2 Pm i=1 θT φ(s(i)) − y(i)2
}