繁体   English   中英

强化学习 - 动作数量

[英]reinforcement learning - number of actions

阅读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是代理可用的操作数吗? 因此,如果代理正在学习踢足球并且可用的动作是 {kick, don't kick} n_actions = 2

你是对的。 通常,您定义一个字典,其中包含整数和您的代理可以执行的每个操作之间的映射。 您可以看到,当您没有选择最佳操作索引时,函数 n_actions 正好用于对随机操作索引进行采样。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM