关于算法:R语言深度学习Keras循环神经网络RNN模型预测多输出变量时间序列

47次阅读

共计 1678 个字符,预计需要花费 5 分钟才能阅读完成。

原文链接:http://tecdat.cn/?p=23902

递归神经网络被用来剖析序列数据。它在暗藏单元之间建设递归连贯,并在学习序列后预测输入。
在本教程中,咱们将简要地学习如何用 R 中的 Keras RNN 模型来拟合和预测多输入的序列数据,你也能够对工夫序列数据利用同样的办法。咱们将应用 Keras R 接口在 R 中实现神经网络:
 

  1. 筹备数据
  2. 定义模型
  3. 预测和可视化后果

咱们将从加载 R 的必要包开始。

library(keras)

筹备数据

首先,咱们将为本教程创立一个多输入数据集。它是随机产生的数据,上面有一些规定。在这个数据集中有三个输出变量和两个输入变量。咱们将绘制生成的数据,以直观地查看它。

plot(s, df$y1, ylim = c(min(df), max(df)), type = "l")
lines(s, df$y2, type = "l")
lines(s, df$x1, type = "l")
lines(s, df$x2, type = "l")
lines(s, df$x3, type = "l")

接下来,咱们将把数据分成训练和测试两局部。最初的 50 个元素将是测试数据。
 

train = df\[1:(n-tsize), \]
test = df\[(n-tsize+1):n, \]

咱们将创立 x 输出和 y 输入数据来训练模型,并将它们转换成矩阵类型。
 

xtrain = as.matrix(data.frame(train$x1, train$x2, train$x3))
ytrain = as.matrix(data.frame(train$y1, train$y2))

接下来,咱们将通过给定的步长值对输出和输入值进行切分来筹备数据。在这个例子中,步长值是 2,咱们将把 x 的第一和第二行以及 y 的第二行作为一个标签值。下一个元素成为 x 的第二和第三行以及 y 的第三行,这个序列始终继续到完结。下表解释了如何创立 x 和 y 数据的序列。
 

如果步长值为 3,咱们将取 3 行 x 数据,第三行 y 数据成为输入。
 

dim(trains$x)
\[1\] 798   3   2
dim(trains$y)
\[1\] 798   2

定义模型

 咱们将通过增加简略的 RNN 层、用于输入的 Dense 层和带有 MSE 损失函数的 Adam 优化器来定义序列模型。咱们将在模型的第一层设置输出维度,在最初一层设置输入维度。

model %>% summary()

咱们将用训练数据来拟合这个模型。
 

fit(trains$x, trains$y)

并查看训练的准确性。
 

evaluate(trains$x, trains$y, verbose = 0)
print(scores)

预测和可视化的后果

最初,咱们将预测测试数据,用 RMSE 指标查看 y1 和 y2 的准确性。
 

 
cat("y1 RMSE:", RMSE(tests$y\[, 1\], ypred\[, 1\]))

   

``````
cat("y2 RMSE:", RMSE(tests$y\[, 2\], ypred\[, 2\]))

 咱们能够在图中直观地查看后果。``````
plot(x_axes, tests$y\[, 1\], ylim = c(min(tests$y), max(tests$y))type = "l", lwd = 2,

   在本教程中,咱们曾经简略理解了如何用 R 中的 Keras rnn 模型来拟合和预测多输入的程序数据。
 


 

最受欢迎的见解

1.r 语言用神经网络改良 nelson-siegel 模型拟合收益率曲线剖析

2.r 语言实现拟合神经网络预测和后果可视化

3.python 用遗传算法 - 神经网络 - 含糊逻辑控制算法对乐透剖析

4. 用于 nlp 的 python:应用 keras 的多标签文本 lstm 神经网络分类

5. 用 r 语言实现神经网络预测股票实例

6.R 语言基于 Keras 的小数据集深度学习图像分类

7. 用于 NLP 的 seq2seq 模型实例用 Keras 实现神经机器翻译

8.python 中基于网格搜索算法优化的深度学习模型剖析糖

9.matlab 应用贝叶斯优化的深度学习

正文完
 0