Artificial intelligence 递归神经网络训练与测试集

Artificial intelligence 递归神经网络训练与测试集,artificial-intelligence,neural-network,genetic-algorithm,Artificial Intelligence,Neural Network,Genetic Algorithm,我正在构建一个由遗传算法优化的rNN。这恰好是我在这个领域的第一个项目,所以我对某些事情感到困惑。如果有人能帮助我更好地理解他们,那就太好了 首先,ANN和RNN的训练和测试数据集看起来非常不同。例如,如果我预测时间序列,我有一组n个观测值。我该如何使用它呢?我是说,我需要n个输入神经元还是1个输入神经元?如何计算错误?每一代还是每一代?我是否必须对k代进行平均(即适应度函数将是k代的均方误差) 在n代之后,我到达了样本的末尾,我是否需要重复多次?在这种情况下,我使用什么作为测试集,相同的样本还

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

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

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

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

ANN的工作描述:

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

初始化权重(w0,w1,…,wk),然后调整权重,使ANN的输出与训练示例的类标签一致:

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

因此,您可以对许多数据使用ANN

例如,数据的结果可以如下所示(以百分比表示):
我假设,当你说你试图预测一个时间序列时,你的意思是你有一系列数据,你试图预测下一个值。如果是这种情况,您只需要一个输入节点,因为您一次只能有一个数据段作为预测的基础(如果我的假设不正确,而您实际上试图根据整个时间序列进行一个分类,那么您需要n个输入节点)

如果你使用遗传算法意义上的术语“世代”,我真的看不到避免每一代计算错误的方法,因为你需要评估每一代人口中所有成员的适应度,以便生成下一代。然而,由于您谈到的是经过一定数量的世代后到达样本的末尾,因此听起来您可能实际上是在时间序列中的连续点上运行神经网络。看起来您确实需要某种误差度量,它考虑到时间序列中每个点的误差。最简单的方法可能是边走边总结。最后除以k得到一个平均值可能更直观(给定估计值的平均误差比求和误差更容易考虑),但因为k是一个常数,所以在你的适应度函数中使用哪一个并不重要,只要你是一致的

如果到目前为止我对你的问题的理解是正确的,你基本上是通过运行整个时间序列的数据并跟踪错误来评估你的群体中每个候选神经网络的适合度。因为整个过程就是你的适应度函数,你需要在每一代中为每个候选结构运行它。因此,此示例可以解释为您的培训集。为了更全面地评估成功,您需要使用不同的时间序列作为测试集


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

我不这么认为:RNN前馈过程与安的汉克斯不同,我已经掌握了大部分。我有一个输入x(t)和一个输出x(t+1)。现在我的问题是,如果我运行整个时间序列x来获得权重向量的误差值(GA中的物种),我应该使用什么作为测试集?完全相同的时间序列?或者我应该通过时间序列的某个子集(训练集)运行权重?我考虑的另一件事是延迟窗口,即馈送x(t),x(t+1),x(t+2),目标输出是x(t+3),这里延迟窗口是3。如果你只有一个时间序列,那么你需要指定它的一部分(80%是常规的)作为您的训练集,不使用其他20%来计算GA的适合度。然后您可以测试剩余的20%。如果你对这两个序列使用相同的数据,你就不知道你的算法是否真的学到了超出这个精确序列的东西。延迟窗口听起来很有趣。显然,你需要给神经网络一个与延迟窗口大小相等的输入节点数(加上一个偏差节点)。谢谢,这大概就是我的想法