概述
Q-Learning 自己思路详细讲解,运行原理(走迷宫)
网上太多翻译原文或者根据原文改进的思路写的文章,基本理论都一样的,没有说明核心理论是怎么样。我来讲解一下我对Q-Learning的理解,全部原创希望你们能读完,因为理解对写代码来说非常重要,所以我把代码附上不让你们白读,本文不太长。
最后附上C++可执行代码,直接复制到main即可运行,且代码清除明了。
本文:具体介绍了一下贪心系数的存在意义和Q-table为什么这样填充值和为什么使用随机action。
根据我的理解Q-learning是一个不断重复学习,后得到一个相对好的Q-table,然后agent会根据这个Q-table找到最好的解。
全代码核心思想:Q-table如何来的,为什么这样来的
我们用迷宫来讲解:其实每次更新Q-table的值的时候就代表agent就已经开始走迷宫了,在最初的时候agent是乱走的,然后开始根据奖励的程度来走。
2.为什么agent会乱走?
因为Q-table里面没有任何的值指引agent该如何走,那么agent就会乱走。
3.那agent怎么样乱走的呢?
这个时候我们通过赋值随机值给action让agent可以随机走一个地方,同时并记录这一步可以获得的奖励。比如这一次游戏你走了右边,那么你要在当前点记录走右边会获得多少奖励。当你开始第二轮游戏又来到这个点的时候你就可以找出4或8个方向哪个点的奖励最大,然后走啊走最后走到终点,就代表完成了一次游戏。那么这个时候Q-table就会有相对的值在里面。值如何来的
最后
以上就是眯眯眼老虎为你收集整理的Q-Learning 自己思路详细讲解,运行原理(走迷宫)附上代码的全部内容,希望文章能够帮你解决Q-Learning 自己思路详细讲解,运行原理(走迷宫)附上代码所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复