首页 > 解决方案 > 使用 rnn 函数时出现以下错误: x %*% model$time_synapse[[i]] 中的错误:需要数字/复数矩阵/向量参数

问题描述

我正在尝试使用包“rnn”在 R 上训练递归神经网络。我试图实现一个如下:

Y <- matrix(df_train$Y, nrow=48)
X <- matrix(df_train$insolvency, nrow=48)

它工作得很好。但是,当我尝试使用 X 作为组合 2 个变量的数组来实现网络时:

X <- array(c(df_train$insolvency, df_train$comportement), dim=c(48, 44,2))

我收到以下错误:

Error in x %*% model$time_synapse[[i]] :    requires numeric/complex matrix/vector arguments

然而,我的变量insolvency 和comportement 都是数字的,没有NA...你知道它可能来自哪里吗?我读过当您有字符变量时会弹出此错误消息。这里不是这样...

数据示例:

insolvency  comportement  Y
  0.0019    0.000000e+00  2
  0.0015    0.000000e+00  2
  0.0015    0.000000e+00  0
  0.0016    0.000000e+00  0
  0.0016    0.000000e+00  0
  0.0016    2.981289e-02  0
  0.0016    2.279081e-03  0
  0.0016    5.357894e-03  0 
  0.0016    4.559373e-01  0
  0.0019    3.636734e-01  0
  0.0019    3.728338e-01  0
  0.0049    4.239274e-01  0
  0.0025    4.581197e-01  0
  0.0049    1.072687e-01  0
  0.0049    2.978970e-03  0
  0.0037    0.000000e+00  0
  0.0049    1.122552e-01  0
  0.0049    1.257744e-01  0
  0.0031    3.107757e-02  0
  0.0031    3.312815e-02  0
  0.0031    0.000000e+00  0
  0.0025    6.843268e-02  0
  0.0025    1.151147e-01  0
  0.0025    1.329283e-01  0
  0.0025    7.341950e-02  0
  0.0031    0.000000e+00  0
  0.0031    0.000000e+00  0
  0.0031    8.637882e-02  0
  0.0031    0.000000e+00  0
  0.0025    0.000000e+00  0

这是我编写的尝试实现 rnn 时失败的代码:

nnet <- trainr(Y=Y, X=X, learningrate=0.05, hidden_dim = 16, numepochs = 250)

标签: arraysrrnn

解决方案


推荐阅读