我正在研究一种算法,在那里我得到了一些输入并为它们提供了输出,并给出了 3 个月的输出(给予或接受)我需要一种方法来查找/计算可能是未来的输出。
现在,给出的这个问题可能与证券交易所有关,我们被赋予了一定的约束和一定的结果,我们需要找到下一个。
我偶然发现了神经网络股票市场预测,你可以用谷歌搜索,或者你可以在这里、这里和这里阅读。
要开始制作算法,我无法弄清楚层的结构应该是什么。
给定的约束是:
- 输出总是整数。
- 输出总是在 1 到 100 之间。
- 说没有确切的输入,就像股票市场一样,我们只知道股票价格会在 1 和 100 之间波动,所以我们可能(或不?)认为这是唯一的输入。
- 我们有过去 3 个月(或更多)的记录。
现在,我的第一个问题是,我需要多少个节点作为输入?
输出只有一个,很好。但正如我所说,我是否应该为输入层使用 100 个节点(假设股票价格总是整数并且总是 btw 1 和 100?)
隐藏层呢?有多少个节点?比如说,如果我在那里也有 100 个节点,我认为这不会对网络进行太多训练,因为我认为对于每个输入,我们还需要考虑所有先前的输入。
假设我们正在计算第 4 个月的第 1 天的输出,我们应该在隐藏/中间层有 90 个节点(为简单起见,假设每个月为 30 天)。现在有两种情况
- 我们的预测是正确的,结果和我们预测的一样。
- 我们的预测失败了,结果与我们预测的不同。
无论如何,现在当我们计算第 4 个月的第二天的输出时,我们不仅需要这 90 个输入,还需要最后一个结果(而不是预测,同样的!),所以我们现在在我们的中间/隐藏层中有 91 个节点。
依此类推,它将每天不断增加节点数量,AFAICT。
所以,我的另一个问题是如何定义/设置隐藏/中间层中的节点数,如果它是动态变化的。
我的最后一个问题是,是否还有其他我不知道的特定算法(对于这种事情/东西)?我应该使用而不是搞乱这些神经网络的东西吗?
最后,有什么我可能遗漏的东西可能会导致我(而不是我正在制作的算法)预测输出,我的意思是任何警告,或者任何可能导致我可能遗漏的错误?