h2o深度学习包在使用自动加载器时输出一个值

时间:2015-10-22 18:12:47

标签: r deep-learning h2o

更新: 我想出了问题,但没有找到解决方案。这是新Java版本的问题。我开始遇到这个问题一旦我更新到最新的Java。

我一直在使用h2o和深度学习软件包一段时间没有问题。今天我再次使用它,但是当我从deeplearning模型中提取特征时,我对特定列中的所有行保持相同的值。过去以前工作得很好。我尝试使用不起作用的不同数据集。所以我猜它是我的数据集(以前曾经工作过),或者更深层次的东西。

这是我的代码。任何帮助表示赞赏。

library(h2o)
localH20=h2o.init(nthreads = -1)
data=h2o.importFile(localH20, path="smsAllWords.csv", header=T)
model= h2o.deeplearning(x=1:107, training_frame = data, shuffle_training_data=TRUE, activation = "Tanh", hidden = c(100,75,50,25), epochs= 5,autoencoder = TRUE)
dl.data=h2o.deepfeatures(model,data,4)` 

这是数据和输出的样本: 仅供参考:矩阵其余部分的数据变化较高。

    data[1:10,1:10]
H2OFrame with 10 rows and 10 columns
         a1       a2       a3      a4       a5       a6       a7       a8       a9      a10
1  -0.31289 -0.10442 -0.14504 -0.1143 -0.11115 -0.12753 -0.10413 -0.28192 -0.13307 -0.27609
2  -0.31289 -0.10442 -0.14504 -0.1143 -0.11115 -0.12753 -0.10413  2.13240 -0.13307  1.80440
3  -0.31289 -0.10442 -0.14504 -0.1143 -0.11115 -0.12753  6.59090 -0.28192 -0.13307 -0.27609
4  -0.31289 -0.10442 -0.14504 -0.1143 -0.11115 -0.12753 -0.10413 -0.28192 -0.13307 -0.27609
5  -0.31289 -0.10442 -0.14504 -0.1143 -0.11115 -0.12753 -0.10413 -0.28192 -0.13307  4.40510
6  -0.31289 -0.10442 -0.14504 -0.1143 -0.11115 -0.12753 -0.10413 -0.28192 -0.13307 -0.27609
7  -0.31289 -0.10442 -0.14504 -0.1143 -0.11115 -0.12753 -0.10413 -0.28192 -0.13307 -0.27609
8  -0.31289 -0.10442 -0.14504 -0.1143 -0.11115 -0.12753 -0.10413 -0.28192 -0.13307 -0.27609
9  -0.31289 -0.10442 -0.14504 -0.1143 -0.11115 -0.12753 -0.10413 -0.28192 -0.13307 -0.27609
10 -0.31289  8.16410 -0.14504 -0.1143 -0.11115 -0.12753 -0.10413 -0.28192 -0.13307 -0.27609


dl.data[1:10,1:10]
H2OFrame with 10 rows and 10 columns
   DF.L4.C1 DF.L4.C2 DF.L4.C3 DF.L4.C4 DF.L4.C5 DF.L4.C6 DF.L4.C7 DF.L4.C8 DF.L4.C9 DF.L4.C10
1        -1       -1        1       -1        1        1        1        1       -1        -1
2        -1       -1        1       -1        1        1        1        1       -1        -1
3        -1       -1        1       -1        1        1        1        1       -1        -1
4        -1       -1        1       -1        1        1        1        1       -1        -1
5        -1       -1        1       -1        1        1        1        1       -1        -1
6        -1       -1        1       -1        1        1        1        1       -1        -1
7        -1       -1        1       -1        1        1        1        1       -1        -1
8        -1       -1        1       -1        1        1        1        1       -1        -1
9        -1       -1        1       -1        1        1        1        1       -1        -1
10       -1       -1        1       -1        1        1        1        1       -1        -1

编辑: 我多次运行相同的数据集和不同的数据集,我会得到不同的结果。我根本没有改变我的代码,但有时它会工作,有时它不会。我错过了一个可以控制它的参数吗?

更新: 我也在不同的机器上尝试了相同的数据集并且它正常工作。所以我几乎可以肯定它是另一台机器的问题。我尝试删除R并删除与之关联的所有内容然后重新安装,但这并没有解决问题。

1 个答案:

答案 0 :(得分:1)

如果它之前在相同版本的H2O上有效,那么它必然是一个收敛问题(找到了错误的局部最小值)。您可以尝试将隐藏图层的数量从hidden = c(100,75,50,25)减少到hidden=c(50),看看是否有效。否则,几乎可以肯定是数据问题。