4

我对机器学习的背景知识很少,所以如果我的问题看起来很愚蠢,请原谅我。

根据我所读到的,迄今为止最好的无模型强化学习算法是 Q-Learning,其中代理世界中的每个状态、动作对都被赋予一个 q 值,并且在每个状态下具有最高的动作选择 q 值。然后 q 值更新如下:

Q(s,a) = (1-α)Q(s,a) + α(R(s,a,s') + (max_a' * Q(s',a'))) 其中 α 是学习速度。

显然,对于高维问题,状态的数量变得非常大,使得 q 值表存储不可行。

因此,Q-Learning 的实际实现需要通过状态泛化(即特征)来使用 Q 值近似。例如,如果代理是 Pacman,那么功能将是:

  • 到最近点的距离
  • 到最近鬼的距离
  • 吃豆子在隧道里吗?

然后,您只需要为每个单个特征提供 q 值,而不是每个状态的 q 值。

所以我的问题是:

强化学习代理是否可以创建或生成附加特征?

我做过的一些研究:

这篇文章提到了 Geramifard 的 iFDD 方法

这是“发现特征依赖关系”的一种方式,但我不确定这是否是特征生成,因为本文假设您从一组二进制特征开始。

我发现的另一篇论文是用深度强化学习玩 Atari,它“使用一系列神经网络架构提取高级特征”。

我已经阅读了这篇论文,但仍然需要充实/完全理解他们的算法。这就是我要找的吗?

谢谢

4

1 回答 1

4

看来您已经回答了自己的问题:)

特征生成不是 Q 学习(和 SARSA)算法的一部分。但是,在称为预处理的过程中,您可以使用多种算法(您展示了其中的一些)来从数据中生成/提取特征。结合不同的机器学习算法会产生混合架构,这是您在研究最适合您的问题时可能会考虑的术语。

这是一个在 SARSA 中使用特征的示例(与 Q-learning 非常相似)。您引用的论文是否对您的方案有帮助,您必须自己决定。与机器学习一样,您的方法高度依赖于问题。如果您从事机器人领域并且很难手动定义离散状态,那么神经网络可能会有所帮助。如果您可以自己考虑启发式方法(如 pacman 示例中的),那么您可能不需要它。

于 2014-12-09T13:13:11.040 回答