我正在构建一个由GA优化的rNN。这恰好是我在这个领域的第一个项目,所以我对某些事情感到困惑。如果有人可以帮助我更好地理解它们,那将是很棒的。
首先,人工神经网络和rNN的训练和测试数据集看起来完全不同。例如,如果我预测时间序列,我有一组n个观察值。我该如何使用它?我的意思是,我需要有n个输入神经元或1个输入神经元吗?如何计算错误?每一代还是每一代?我是否必须平均超过k(即适应度函数将是k代的均方误差)。
经过n代,我到达样本的末尾,我需要多次复制吗?在这种情况下,我使用什么作为测试集,相同的样本或不同的样本?
我知道这是很多问题,但如果有人能帮我解决其中的一些问题,我将不胜感激。
答案 0 :(得分:2)
我认为,当你说你想要预测一个时间序列时,你的意思是你有一系列数据而你正试图预测下一个值。如果是这种情况,您只需要一个输入节点,因为您一次只有一个数据基于预测(如果我做出了不正确的假设,而您实际上是在尝试进行一个分类在整个时间序列中,你会想要n个输入节点)。
如果您在遗传算法意义上使用术语“生成”,我实际上并没有找到避免每一代计算错误的方法,因为您需要评估所有成员的适应性。每一代人都为了生成下一代。但是,因为你谈到在经过一定代数后到达样本的末尾,听起来你可能真的在谈论在时间序列中的连续点上运行神经网络。您似乎想要某种错误度量标准,该度量标准考虑了时间序列中每个点的错误。最容易做的事情可能就是在你走的时候总结一下。在结尾处用k除以得到平均值可能更直观(给定估计的平均误差是我们倾向于考虑的比求和误差更多的东西),但是因为k是常数,所以实际上并不重要只要你保持一致,你就可以用于健身功能。
如果到目前为止我对你的问题的理解是正确的,你基本上通过运行整个时间序列的数据并跟踪错误来评估你的人口中每个候选神经网络的适应性。由于整个事物都是你的健身功能,你需要为每一代的每个候选结构运行它。因此,此样本可以被解释为您的训练集。为了更一般地评估成功,您需要使用不同的时间序列作为测试集。
希望有所帮助!如果我误解了你的问题或者其中任何一部分是不清楚的,请告诉我。
答案 1 :(得分:0)
ANN工作描述:
你的输入数据(X1,X2,...)进入框并用选择的w计算,然后框显示输出为我们的类。在这种情况下,您只有二进制数据,但如果您想设置2,3,...等其他数据,则必须使用此公式将输出范围设置为0到1之间:
初始化权重(w0,w1,...,wk)然后调整权重,使ANN的输出与训练样例的类标签一致:
找出最小化上述目标函数的权重
因此您可以将ANN用于许多数据。
例如,数据的结果可以是这样的(以百分比显示):