代码之家  ›  专栏  ›  技术社区  ›  bbartling

python binning数据开放体育馆

  •  0
  • bbartling  · 技术社区  · 6 年前

    我正试图创建一个自定义的环境,以加强与OpenAI健身房的学习。我需要表示环境将在一个名为 observation_space . 代理有3个可能的操作可供调用 action_space

    更具体地说 观察空间 是一个温度传感器,可以看到50到150度的可能范围,我认为我可以通过以下方式表示所有这些:

    编辑,我把操作空间numpy数组搞错了

    import numpy as np
    action_space = np.array([ 0,  1,  2])
    observation_space = np.arange(50,150,1)
    

    有没有更好的方法 观察空间 我可以把数据放在哪里?也就是说,把20个箱子做成50-55、55-60、60-65等。

    我想我有的东西会有用,但看起来有点麻烦…我相信有一个更好的实践,因为我在这个问题上没有太多的智慧。这将打印出一个Q表:

    action_size = action_space.shape[0]
    state_size = observation_space.shape[0]
    
    qtable = np.zeros((state_size, action_size))
    print(qtable)
    
    1 回复  |  直到 6 年前
        1
  •  0
  •   Simon    6 年前

    这与编程没有真正的关系,所以可能是 stats.stackexchange 你可能会得到更好的答案。不管怎样,这取决于你想要的准确度。我猜你想根据传感器读数改变温度(增加,减少,不要改变)。在50和51之间(在最佳行动方面)有什么不同吗?如果不是,则可以每2度离散状态空间。等等。

    更一般地说,这样做是使用RL中的所谓“特性”。状态空间的一个区间上的离散化称为 tile coding 而且通常工作得很好。

    如果你是新来的,我真的建议你读 this book 或者至少是第1章、第3章、第4章,与你正在做的事情有关。