首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >加强Agent培训Q学习出租车V3

加强Agent培训Q学习出租车V3
EN

Stack Overflow用户
提问于 2022-08-26 10:18:23
回答 1查看 65关注 0票数 0
代码语言:javascript
复制
episode_number = 10000

for i in range(1,episode_number):
    

    state = env.reset()
    
    reward_count = 0
    dropouts = 0
    
    while True:
        
        if random.uniform(0,1) < epsilon:
            action = env.action_space.sample()
        else:
            action = np.argmax(q_table[state])

        next_state, reward, done, _ = env.step(action)
        
        
        old_value = q_table[state, action]  
        next_max = np.max(q_table[next_state]) 
        
        next_value = (1-alpha)*old_value + alpha*(reward + gamma*next_max) 

        q_table[state,action] = next_value
        

        state = next_state
        

        if reward == -10:
            dropouts += 1
            
        if done:
            break
        
        reward_count  += reward
    if i%10 == 0:
        
        dropout_list.append(dropouts)
        reward_list.append(reward_count)
        print("Episode: {}, reward {}, wrong dropout {}".format(i, reward_count,dropouts))

我被要求加强这个代码,以展示奖励和惩罚的比较。它是如何工作的,我必须通过使这个代码显示在培训代理之前和培训后获得的奖励的比较来增强它。所绘制的图表必须重叠才能显示比较,但我找不到办法。我已经尝试了好几天了,但是找不到我想要的解决方案。我希望有人能在这方面帮助我。

如果需要创建新代码或单独的代码,那么请将结果进行比较,请告诉我。谢谢。

EN

回答 1

Stack Overflow用户

发布于 2022-08-31 09:33:14

我认为在做作next_value中缺少一个术语,它应该是next_value = (1-alpha)old_value +alpha(奖励+伽马*next_max-q_table(状态,动作))。

对于你想要做的情节,你可以在强化学习后,与你的代理人所获得的奖励同时进行交互绘制,这些奖励是由采取随机行动的代理人获得的。

我似乎没有被理解,但是您显示的代码是代理的学习阶段。

运行它之后,q_table包含与当前状态相关的每个操作的质量。

然后,给出了代理进程的算法。

代码语言:javascript
复制
initialize environment 
done := false
while not done                      
    s:= current state                         
    a := argmax(q_table[s])                            
    update s and done by making the action a

我建议你检查一下本教程,其中涵盖了你所有的询问。

https://www.learnpythonwithrune.org/capstone-project-reinforcement-learning-from-scratch-with-python/

请随时查看帖子的评论部分,以了解有关情节的关切。

我希望我能帮上忙

祝你工作顺利!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73499472

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档