Q-learning简化过程

Q learning里的核心思想是如下公式:

其中,第一个Q(S, A)是更新后的值,第二个 Q(S, A)是Q表中值,a是指学习效率,r是奖励值。\gamma是折扣因子。第三个Q是指要选取Q表中的最大值。最后一个表示Q表中值,与第二个Q一样。

现在通过书中的伪代码来展示Q-learning的过程:

1. 初始化Q-Table:Q-table|S|*|A|的矩阵。其中,|S|代表了所有的状态,|A|代表了所有的动作。矩阵中各个元素首先初始化为0。

2. 进入循环1

3. 进入循环2:

    3.1 带入当前状态。若为第一次循环,此处需随机选择一个状态作为初始状态;

    3.2 为该状态选择一个动作:需注意,此处有一个学习效率。选择动作的方法为:agent有1-a的概率,随机选择动作;有a的概率,选择对应Q值最大的动作;

    3.3 据当前状态S和当前动作A,得出下一个状态S‘和奖励R;

    3.4 通过上图公式更新Q-table;

    3.5 更新状态。

 

注意:循环1的结束可以为Q-table中的值收敛。也可以为一个固定值,例如整个程序运行1000次,停止。循环2的结束条件为到达最终状态。

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值