RL强化学习总结(三)——Q-Learning算法

Q-Learning

举例子

在这里插入图片描述

问题描述

如上图所示,有0、1、2、3、4、5总共6个状态。规定5状态为咋们的目标状态(到达5状态表示胜利)
可以画状态转移图,如右侧图片所示,表明了其他每个状态到达5状态的路径!!!

设置奖励值

为了更好的到达5状态,我们可以通过设置不同路径的奖励值,“鼓励”agent从其他状态更好的到达5状态
也就是,能到达5状态的路径(可以将路径理解为行为),我们设置高的奖励值。不能到达5状态的路径(行为)设置较低的奖励值!

绘制奖励矩阵

在这里插入图片描述
其中行数代表:State,列数代表:Action,其实这里列数可以理解为下一个状态。
如果能从现在状态转移到下一个状态,在对应行列位置填上转移的奖励。以第一行举例:0状态可以到达4状态,上面规定的奖励值为0,所以将0值填入0行4列。0状态转移不到0、1、2、3、5状态,所以对应的0行0、1、2、3、5列填入-1即可,-1表示没有办法转到。

Q-Learning算法

在这里插入图片描述

根据Q-Learning算法执行计算

Step 1

折扣因子定为0.8
R价值矩阵如下图
在这里插入图片描述

Step 2

在这里插入图片描述

Step 3

3.1 选定初始状态为S1
3.2
(1)和(2)下一个状态为5状态
在这里插入图片描述
(3)和(4)
在这里插入图片描述
因为已经到了状态5,到达了最终的状态,所以一个episode完成了。

利用Q-Learning不断计算

这次我们选定状态3为初始状态
在这里插入图片描述
这次episode之后,可以填充Q矩阵的一个位置。之后我们不断使用Q-Learning算法,完善整个Q矩阵。
在这里插入图片描述
经过不断训练之后,Q矩阵收敛,如上图所示。因为左边的Q矩阵里面数值太大也参差不齐,所以我们使用归一化,将左侧Q矩阵中的数值范围归一化为右侧Q矩阵。

根据最终的Q矩阵,我们绘制状态转移图,如下图所示。
在这里插入图片描述
假设起点为2,终点为5。
我们根据最终的Q矩阵,我们可以确定最佳路线为(2->3->1>5)

Q-Learning算法总结

个人总结:
(1)首先确定折扣因子和R矩阵。
(2)初始化Q矩阵为0矩阵
(3)根据下面方程:在这里插入图片描述
不断选定状态,完成每个episode之后,去填充Q矩阵。然后对Q矩阵进行归一化处理,确定最终的Q矩阵!
Q矩阵是整个算法的核心!!!!
(4)面对问题,根据Q矩阵,绘制状态转移图,确定最佳的方案(保证Q值最大)
Q值可以理解成考试分数!!!

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值