我正在尝试制作一个神经网络来逼近一些未知函数(对于我的神经网络课程)。问题是这个函数有很多变量,但其中许多并不重要(例如在 [f(x,y,z) = x+y] z 中并不重要)。我如何为这类问题设计(和学习)网络?
更具体地说,该功能是一些具有未知规则的棋盘游戏的评估功能,我需要通过代理的经验以某种方式学习这些规则。每次移动后,都会将分数提供给代理,因此实际上它需要找到如何获得最高分数。
我试图将代理的邻域传递给网络,但有太多变量对分数并不重要,代理正在寻找非常本地的解决方案。
我正在尝试制作一个神经网络来逼近一些未知函数(对于我的神经网络课程)。问题是这个函数有很多变量,但其中许多并不重要(例如在 [f(x,y,z) = x+y] z 中并不重要)。我如何为这类问题设计(和学习)网络?
更具体地说,该功能是一些具有未知规则的棋盘游戏的评估功能,我需要通过代理的经验以某种方式学习这些规则。每次移动后,都会将分数提供给代理,因此实际上它需要找到如何获得最高分数。
我试图将代理的邻域传递给网络,但有太多变量对分数并不重要,代理正在寻找非常本地的解决方案。
如果您有足够的数据量,您的 ANN 应该能够忽略噪声输入。您可能还想尝试其他学习方法,例如缩放共轭梯度或简单的启发式方法,例如动量或提前停止,这样您的 ANN 就不会过度学习训练数据。
如果您认为可能有多个本地解决方案,并且您认为可以获得足够的训练数据,那么您可以尝试“混合专家”方法。如果您与专家混合使用,您应该使用太“小”的人工神经网络来解决整个问题,以迫使它使用多个专家。
那么,你得到了一组状态和动作,而你的目标值是动作应用于状态后的分数?如果这个问题变得更棘手,它听起来就像一个强化学习问题。
这个游戏有离散动作吗?它有离散的状态空间吗?如果是这样,也许决策树值得尝试?