1

我正在构建一个由 GA 优化的 rNN。这恰好是我在这个领域的第一个项目,所以我对某些事情感到困惑。如果有人能帮助我更好地理解他们,那就太好了。

首先,对于 ANN 和 rNN,训练和测试数据集看起来完全不同。例如,如果我在预测时间序列,我有一组 n 个观察值。我该如何使用它?我的意思是,我需要 n 个输入神经元还是 1 个输入神经元?如何计算错误?每一代还是每第k代?我是否必须对 k 进行平均(即适应度函数将是 k 代的均方误差)。

在 n 代之后,我到达了样本的末尾,是否需要多次复制它?在这种情况下,我用什么作为测试集,相同的样本还是不同的样本?

我知道这是很多问题,但如果有人可以帮助我解决其中的一些问题,我将不胜感激。

4

2 回答 2

2

我假设当您说您正在尝试预测时间序列时,您的意思是您拥有一系列数据并且您正在尝试预测下一个值。如果是这种情况,您只需要一个输入节点,因为您一次只有一个数据可以作为预测的基础(如果我做出不正确的假设并且您实际上是在尝试基于一个分类关闭整个时间序列,那么您将需要 n 个输入节点)。

如果您在遗传算法的意义上使用术语“世代”,我真的看不出有一种方法可以避免每一代都计算误差,因为您需要评估每一代人口中所有成员的适应度为了产生下一代。但是,因为您谈论的是在一定数量的世代之后到达样本的末尾,所以听起来您实际上可能是在谈论在时间序列中的连续点上运行神经网络。看起来您确实需要某种错误度量来考虑时间序列中每个点的错误。最简单的事情可能就是在你去的时候总结它们。

如果到目前为止我对您的问题的理解是正确的,那么您基本上是通过运行整个时间序列数据并跟踪错误来评估人口中每个候选神经网络的适应度。由于整个事情就是你的适应度函数,你需要为每一代的每个候选结构运行它。因此,这个样本可以被解释为你的训练集。为了更普遍地评估成功,您需要使用不同的时间序列作为测试集。

希望有帮助!如果我误解了您的问题,或者其中任何部分不清楚,请告诉我。

于 2013-06-13T07:48:04.573 回答
0

ANN 的工作描述: 在此处输入图像描述

您的输入数据(X1,X2,...)进入框并使用选择的 w 进行计算,然后框将输出显示为我们的类。在这种情况下,您只有二进制数据,但如果您想设置其他数据,例如 2,3,... 和其他数据,您必须使用此公式将输出范围设置在 0 和 1 之间:

在此处输入图像描述

初始化权重 (w0, w1, ..., wk) 然后调整权重,使 ANN 的输出与训练样例的类标签一致: 在此处输入图像描述

找到最小化上述目标函数的权重 wi

因此您可以将 ANN 用于许多数据。

例如数据的结果可以是这样的(以百分比显示): 在此处输入图像描述

于 2013-05-30T20:16:30.333 回答