模糊Q学习收敛

时间:2018-11-08 20:12:42

标签: fuzzy-logic q-learning convergence

我在FQL(模糊Q学习)方面遇到了一些麻烦。我已经在Matlab上实现了我的算法。编码FQL实际上非常简单。一个人只需要遍历从模糊化到去模糊化的不同步骤(层),然后进行更新即可。

但是,我的FQL代码未收敛。实际上,我是在复制其他人的工作,这些人汇聚得很好。

我将总结我的模型和以下步骤:

  • 我的状态向量包含4个值s(C,B,R,P)
  • 我将上述向量s映射到其对应的模糊向量sbar
  • 我有4个语言变量,每个变量在一个集合中定义如下:C = {Off,idle,LM,H},B = {VL,L,M,H,VH},R = {L,M, H}和P = {L,M,H}。
  • 我计算每个组合(节点)的真值。这里我有4x5x3x3 = 180个节点,这不过是每个节点四个成员资格值的乘积。
  • 对于每个节点,我选择一个操作(基于epsilon-greedy算法)。然后,我为每个节点计算加权操作和加权q值。
  • 去模糊化:我通过对加权操作求和来计算操作A。类似于Q值。
  • 我更新我的q值。

在我阅读的所有参考书中,这些都是自然的步骤。并且已经证明该系统将收敛。但是,我的不是。

我了解到,在计算未来q值时,我必须首先采取从上述反模糊化步骤计算出的操作A。然后使用它移动到新状态。之后,我重复并找到模糊节点的权重。然后,对于每个节点,我都会找到最佳q值,以最终获得下一个状态Q值。

我缺少什么吗?我想不出它为什么不收敛的原因。

如果需要,我可以进一步扩大平面图。

非常感谢。

0 个答案:

没有答案