-1

我正在处理一个在 R 中使用 LSTM 预测电力输出的问题。我在这里找到了一个非常适合我的数据的代码。但问题是我不明白是什么意思

  1. 单位
  2. 输入形状
  3. layer_dropout
  4. layer_dropout
  5. 失利
  6. 亚当

下面是我提到我的问题列表的代码。

    model %>%
  layer_lstm(units = 100,
             input_shape = c(datalags, 2),
             batch_size = batch.size,
             return_sequences = TRUE,
             stateful = TRUE) %>%
  layer_dropout(rate = 0.5) %>%
  layer_lstm(units = 50,
             return_sequences = FALSE,
             stateful = TRUE) %>%
  layer_dropout(rate = 0.5) %>%
  layer_dense(units = 1)

model %>%
  compile(loss = 'mae', optimizer = 'adam')
4

1 回答 1

0

这些参数在此处的参考文档中定义:

https://keras.rstudio.com/reference/layer_lstm.html

参数 object 模型或层对象

units 正整数,输出空间的维度。

激活要使用的激活函数。默认值:双曲正切 (tanh)。如果传递 NULL,则不应用激活(即“线性”激活:a(x) = x)。

recurrent_activation 用于循环步骤的激活函数。

use_bias 布尔值,层是否使用偏置向量。

return_sequences 布尔值。是返回输出序列中的最后一个输出,还是返回完整序列。

return_state 布尔值(默认为 FALSE)。是否返回除了输出之外的最后一个状态。

go_backwards 布尔值(默认为 FALSE)。如果为 TRUE,则反向处理输入序列并返回反向序列。

有状态的布尔值(默认为 FALSE)。如果为 TRUE,则批次中索引 i 处的每个样本的最后状态将用作下一批中索引 i 的样本的初始状态。

展开布尔值(默认为 FALSE)。如果为 TRUE,则网络将展开,否则将使用符号循环。展开可以加速 RNN,尽管它往往更占用内存。展开仅适用于短序列。

kernel_initializer 内核权重矩阵的初始化器,用于输入的线性变换。

循环内核权重矩阵的初始化器,用于循环状态的线性变换。

bias_initializer 偏置向量的初始化器。

unit_forget_bias 布尔值。如果为 TRUE,则在初始化时将遗忘门的偏差加 1。将其设置为 true 也会强制bias_initializer="zeros"。这是 Jozefowicz 等人推荐的。

kernel_regularizer 应用于核权重矩阵的正则化函数。

应用于recurrent_kernel 权重矩阵的recurrent_regularizer 正则化函数。

应用于偏置向量的正则化函数bias_regularizer。

activity_regularizer 正则化函数应用于层的输出(它的“激活”)..

kernel_constraint 应用于核权重矩阵的约束函数。

reverse_constraint 应用于recurrent_kernel 权重矩阵的约束函数。

bias_constraint 应用于偏置向量的约束函数。

dropout 介于 0 和 1 之间的浮点数。为输入的线性变换而丢弃的单位的分数。

recurrent_dropout 介于 0 和 1 之间的浮点数。对于循环状态的线性变换,要丢弃的单位的分数。

input_shape 输入(整数)的维度,不包括样本轴。将此层用作模型中的第一层时需要此参数。

batch_input_shape 形状,包括批量大小。例如,batch_input_shape=c(10, 32) 表示预期输入将是 10 个 32 维向量的批次。batch_input_shape=list(NULL, 32) 表示任意数量的 32 维向量的批次。

batch_size 层的固定批量大小

dtype 输入期望的数据类型,作为字符串(float32、float64、int32...)

name 图层的可选名称字符串。在模型中应该是唯一的(不要重复使用相同的名称两次)。如果未提供,它将自动生成。

trainable 训练期间是否会更新层权重。

weights 层的初始权重。

于 2021-04-21T20:14:00.893 回答