强化学习-行动次数

时间:2020-03-14 11:20:51

标签: python reinforcement-learning

阅读https://towardsdatascience.com/reinforcement-learning-temporal-difference-sarsa-q-learning-expected-sarsa-on-python-9fecfda7467e epsilon_greedy的定义为:

def epsilon_greedy(Q, epsilon, n_actions, s, train=False):
    """
    @param Q Q values state x action -> value
    @param epsilon for exploration
    @param s number of states
    @param train if true then no random actions selected
    """
    if train or np.random.rand() < epsilon:
        action = np.argmax(Q[s, :])
    else:
        action = np.random.randint(0, n_actions)
    return action

参数n_actions是否可用于代理程序?因此,如果特工正在学习踢足球,并且可用的动作是{踢,不要踢} n_actions = 2

1 个答案:

答案 0 :(得分:2)

是的,您是正确的。通常,您定义一个字典,其中包含整数与代理可以执行的每个操作之间的映射。您可以看到,在未选择最佳索引的情况下,函数n_actions恰好用于对随机索引进行采样。