MDP中的随机状态转换:Q-learning如何估计?

时间:2016-08-31 10:35:20

标签: machine-learning reinforcement-learning q-learning

我正在为网格世界实施Q-learning以寻找最佳策略。困扰我的一件事是状态转换是随机的。例如,如果我处于状态(3,2)并采取行动'北',我将以(3,1)概率为0.8,以(2,2)概率为0.1和(4) ,2)概率为0.1。如何在算法中包含此信息?正如我到目前为止所读到的,Q学习是一种“无模型”学习 - 它不需要知道状态转移概率。我不相信算法将如何在训练过程中自动找到这些转换概率。如果有人可以解决问题,我将不胜感激。

1 个答案:

答案 0 :(得分:4)

让我们看看Q-learning保证了解为什么它处理转换概率。

让我们调用q* 最佳动作值函数。这个函数返回在某个状态下执行某些操作的正确。状态 - 动作对的是采取操作的预期累积奖励,之后是最优策略。最优策略只是选择实现最大可能预期累积奖励的操作的一种方式。一旦我们q*,就很容易找到最优政策;来自您发现自己的每个州s,贪婪地选择最大化q*(s,a)的行动。 Q-learning会学习q* ,因为它会无限次地访问所有状态和操作

  

例如,如果我处于状态(3,2)并采取行动'北部'我将以(3,1)的概率以0.8的概率上升到(2,2) )概率为0.1,而(4,2)的概率为0.1。如何在算法中包含此信息?

因为算法无限次地访问所有状态和动作,平均q值,所以它学会了尝试向北的值的期望。我们向北走了很多次,这个值会收敛到每个可能结果的总和,加权的转移概率。假设我们知道gridworld上的所有值,除了从(3,2)向北的值,并假设从(3,2)的任何转换都没有奖励。在从(3,2)向北无数次采样后,算法收敛到值0.8 * q(3,1) + 0.1 * q(2,2) + 0.1 * q(4,2)。有了这个值,从(3,2)的贪婪行动选择现在将被正确地告知试图向北的真实期望值。转换概率直接融入价值!