【发布时间】:2013-09-22 06:01:27
【问题描述】:
我正在尝试构建一个神经网络作为生成模型,以预测一系列向量之后的下一个向量(每个向量都是长度为n 的实数的分布)。
我的想法是采用 k 以前的序列并将它们连接起来以获得 kxn 输入向量。为了训练模型,我将序列中的下一个向量作为输出。由于我正在寻找非确定性输出,因此我打算使用具有低梯度的 sigmoid 激活函数。
这个程序看起来合理吗?
希望如此,我尝试在 R 中使用 nnet 和 neuralnet 库来实现它,但在我遇到的文档和示例中,输入和输出向量的长度似乎必须相同.在这两个模块中训练不同长度的输入/输出向量的语法是什么?
我的输入向量的样本是:
[,1]
[1,] 0
[2,] 0
[3,] 0.6
[4,] 0.4
[5,] 0
[6,] 0
[7,] 0.06666667
[8,] 0.6666667
[9,] 0
[10,] 0.2666667
[11,] 0
[12,] 0.4
[13,] 0
[14,] 0
[15,] 0.6
和输出向量:
[,1]
[1,] 0
[2,] 0
[3,] 0.8571429
[4,] 0
[5,] 0.1428571
注意上面的样本有n=5,k=3,虽然我的实际数据集有n~200。在这两种情况下,各个向量都被归一化为 1。
非常感谢任何帮助!
【问题讨论】:
-
您要求像金融领域那样进行多维回归?
-
从某种意义上说,是的。我正在寻找从以前的向量中看到(并学习)的下一个向量。我的数据不是财务数据,但也适用于此。
-
这本质上是一个有 15 个输入变量和 5 个输出变量的神经网络,对吧?
-
假设它是一种很好的序列数据建模方法,那么是的!
-
神经网络是否适合顺序数据可能是统计数据交换的问题,而不是这个网站(更适合编程问题)。
标签: r machine-learning neural-network nnet