何时选择SARSA与Q Learning
SARSA和Q Learning都是强化学习算法,它们以相似的方式工作。最显着的差异是SARSA处于策略状态,而Q Learning处于策略状态。更新规则如下: Q学习: Q(st,at)←Q(st,at)+α[rt+1+γmaxa′Q(st+1,a′)−Q(st,at)]Q(st,at)←Q(st,at)+α[rt+1+γmaxa′Q(st+1,a′)−Q(st,at)]Q(s_t,a_t)←Q(s_t,a_t)+α[r_{t+1}+γ\max_{a'}Q(s_{t+1},a')−Q(s_t,a_t)] SARSA: Q(st,at)←Q(st,at)+α[rt+1+γQ(st+1,at+1)−Q(st,at)]Q(st,at)←Q(st,at)+α[rt+1+γQ(st+1,at+1)−Q(st,at)]Q(s_t,a_t)←Q(s_t,a_t)+α[r_{t+1}+γQ(s_{t+1},a_{t+1})−Q(s_t,a_t)] 其中st,atst,ats_t,\,a_t和rtrtr_t是状态,在时间步ttt处的动作和奖励,而γγ\gamma是折扣因子。 它们的外观基本相同,只是在SARSA中我们采取实际行动,在Q Learning中我们采取最高奖励的行动。 在任何理论或实践环境中,一个都应该偏爱另一个吗?我可以看到,在Q Learning中获得最大收益可能会非常昂贵,甚至在连续的动作空间中甚至更多。但是还有别的吗?