【问题标题】:Sequential Neural Network顺序神经网络
【发布时间】: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


【解决方案1】:

一般来说,这是一种非常简单和幼稚的方法,而且不会产生好的结果。您正在尝试执行从一组时间序列到时间序列的回归,将所有内容视为简单属性和简单模型。已经有数千篇关于时间序列预测、表示时间依赖性等的论文/研究。您在这里面临着一个困难的预测问题,找到好的解决方案需要大量的工作,而提出的模型运行良好的机会很小.

从你的文字中我推断,你实际上有一个时间序列序列,对于“时间窗口”[t-k,t-k+1,..,t-1],你想预测t 中的值(时间序列)。如果这是真的,那么这实际上是时间序列预测问题,其中每个属性都是它自己的时间序列,所有时间序列相关的技术都可以在这里使用,例如递归神经网络(如果你真的喜欢 NN)或条件 RBM(如果您真的想要一个非确定性的生成模型 - 因为它们近年来已成功应用于时间序列预测)。

现在还有几个疑问:

当我正在寻找非确定性输出时,我打算使用 sigmoid 激活函数

Sigmoid 激活函数不是非确定性的。如果您正在寻找非确定性模型,您应该考虑一些架构,例如 RBM,但正如 @Ben Allison 在评论中提到的,传统的神经网络也可以通过一些简单的修改以概率方式使用。

低梯度。

低梯度是什么意思?你的激活函数有一个小斜率吗?在简单的训练程序(如 BP 算法)的情况下,这将导致学习出现问题

[数据]

您的数据看起来像您对每个时间序列进行了归一化,因此它总和为 1,这在神经网络中不是流行的数据归一化方法(您更愿意按列对数据进行归一化,因此每个维度都是归一化的,而不是每个样本) .

标题

您的问题和模型不是“顺序的”,也不包括“可变矢量长度”,寻找有关此类现象的论文不会引导您回答您的问题。

【讨论】:

  • 非常感谢您的详细回答 - 我会研究时间 rbms。
  • 如果您将 sigmoid 函数的输出视为二项式的参数,或者在多个输出的情况下将 softmax 视为多项式的参数,则可以将神经网络视为概率模型。请参阅 David Mackay 的教科书以进一步阐述这一观点。
  • 我没有写不能通过一些额外的修改来作为概率模型,但是你说得对,应该换一种说法。
猜你喜欢
  • 2012-01-23
  • 2017-02-19
  • 2020-02-01
  • 2011-12-27
  • 2013-03-28
  • 1970-01-01
  • 2014-01-15
  • 1970-01-01
  • 2015-12-03
相关资源
最近更新 更多