【问题标题】:Why does my h2o auto-encoder have so many input nodes?为什么我的 h2o 自动编码器有这么多输入节点?
【发布时间】:2020-07-23 19:41:02
【问题描述】:

我正在尝试使用 h2o 在 R 中训练一个自动编码器模型,以检测我的数据集中的异常情况:

这是我的代码:

df <- read.csv(file=inputFile) # extract dataframe

feature_names <- names(df)

train_df <- df # Use whole dataset for training for this example

# -- Now train auto-encoder model --
library(h2o)
localH2O = h2o.init()
h2o.removeAll() # Close clusters that were already running

train_h2o <- as.h2o(train_df) # Put data in h2o dataframe

# Create deep learning model
result_model = h2o.deeplearning(x = feature_names, training_frame = train_h2o,
                               autoencoder = TRUE,
                               hidden = c(6,5,6),
                               epochs = 50)

然后模型训练成功后,我输入result_model,得到:

  layer units      type dropout       l1       l2 mean_rate rate_rms momentum
1     1   798     Input  0.00 %       NA       NA        NA       NA       NA
2     2     6 Rectifier  0.00 % 0.000000 0.000000  0.018308 0.110107 0.000000
3     3     5 Rectifier  0.00 % 0.000000 0.000000  0.002325 0.001377 0.000000
4     4     6 Rectifier  0.00 % 0.000000 0.000000  0.001975 0.001191 0.000000
5     5   798 Rectifier      NA 0.000000 0.000000  0.010888 0.064831 0.000000

层单位是: 798, 6, 5, 6, 798,即使它应该有 7 个输入节点。

有人可以帮忙吗?将不胜感激。

【问题讨论】:

  • 输入变量看起来是分类的,这些需要转换成二进制矩阵。您可以使用model.matrix 查看获得的列数
  • 如何将它们变成二进制矩阵?
  • 好吧,我猜 h20 是在幕后执行此操作的(警告我从未使用过它),但这可以解释为什么您会获得如此多的列/输入。尝试运行ncol(model.matrix(~.-1, df)) 以获取粗略的列数(它会丢失一些)
  • 错误信息:contrasts&lt;-(*tmp*, value = contr.funs[1 + isOF[nn]]) 中的错误:对比只能应用于具有 2 个或更多级别的因子跨度>
  • 但是如果你问我的数据框有多少列,它大约是 730

标签: r h2o autoencoder


【解决方案1】:

DNN 中的第一层是输入层,即您在训练集中拥有的变量(或编码变量)的数量。

总结上面的 cmets,您的训练框架正在针对您拥有的任何分类列进行扩展(默认情况下,one-hot 编码)。鉴于您的数据集的屏幕截图,您似乎几乎拥有所有分类列(并且它们的类别总数必须约为 798)。所以你看到的是合理的。由于它是一个自动编码器,因此输出层与输入层大小相同,这就是为什么最后一层也是 798 个单元的原因。

【讨论】:

    猜你喜欢
    • 2018-11-18
    • 1970-01-01
    • 1970-01-01
    • 2021-04-21
    • 1970-01-01
    • 2021-11-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多