2017-10-14 52 views
2

最近我强迫我的神经网络学习异或函数,但现在我想预测给定日期的货币汇率。对于XOR函数来说很容易,因为输入和输出落在[0; 1)之间。外汇汇率预测

汇率: 应该对输入和输出进行归一化处理吗?如果是的话如何?网络应该有多少层?有多少输入 - 我在考虑1个输入(时间或某种表示)。

我打算使用:多层网络,sigmoid函数,带有nesterov动量的梯度下降。

+0

对不起,但这不是一个编程问题。 –

+0

不要对不起,机器学习是关于编程:) – Macko

+0

不,不是真的。 –

回答

0

如果您使用公开可用的数据,则您的预测在实际情况下注定会失败。它通常与试图在观看后视镜时驾驶汽车相比。一个好的模型可以让你比“天真”的拍摄有轻微的优势,即第二天的汇率将与前一天相同。关于你提到的几件提示:

  • sigmoid几乎总是一个错误的选择,它只适用于输出层,这就是当你有一个二进制分类器。你显然不是。
  • 多层:是的,否则为什么要打扰ANN?对于初学者,您可以使用LSTM,GRU和1-CNN的组合,这取决于您拥有多少处理能力。
  • 正常化:有争议,我会说“不”,但这样做不会是一个杀手。汇率不是有限的,也不是正态分布的,但它们也很难快速达到一些极端值。如果他们这样做,无论如何你都会被搞砸,这可能是你的系统无法预测的。我会选择标准化。更重要的是,我将批处理标准化层置于其间。

关于如何设计它和层数的问题是一些大型文章和书籍的主题,几乎没有问题。一旦你有了你的设计和结果,我肯定社区会乐于提出一些改进并指出问题。

+1

为什么预测注定要失败?这只是一个尝试使用神经网络尝试更先进的东西的实验。我想知道如何执行标准化?所以我已经下载了给定期间的汇率,主要是二维数据:x系列是日期,y是比率,例如样本输入是[2017-05-12; 4.12。那么这个样本如何转换为ANN的输入呢? – Macko