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