R深度学习,多输出

时间:2015-04-13 10:55:41

标签: r deep-learning h2o

是否有可能创建一个提供多个输出的深度学习网络? 这样做的原因还在于尝试捕获输出之间的关系。 在给出的示例中,我只能创建一个输出。

library(h2o)
localH2O = h2o.init()
irisPath = system.file("extdata", "iris.csv", package = "h2o")
iris.hex = h2o.importFile(localH2O, path = irisPath)
h2o.deeplearning(x = 1:4, y = 5, data = iris.hex, activation = "Tanh", 
             hidden = c(10, 10), epochs = 5)

1 个答案:

答案 0 :(得分:2)

H2O目前不支持多个响应列(H2O FAQH2O Google Group topic)。他们的建议是为每个回应培训一个新模型。

(荒谬)示例:

library(h2o)
localH2O <- h2o.init()
irisPath <- system.file("extdata", "iris.csv", package = "h2o")
iris.hex <- h2o.importFile(localH2O, path = irisPath)

m1 <- h2o.deeplearning(x = 1:2, y = 3, data = iris.hex, activation = "Tanh", 
         hidden = c(10, 10), epochs = 5, classification = FALSE)
m2 <- h2o.deeplearning(x = 1:2, y = 4, data = iris.hex, activation = "Tanh", 
         hidden = c(10, 10), epochs = 5, classification = FALSE)

但是,似乎可以通过deepnet包提供多个回复(请检查library(sos); findFn("deep learning"))。

library(deepnet)
x <- as.matrix(iris[,1:2])
y <- as.matrix(iris[,3:4])
m3 <- dbn.dnn.train(x = x, y = y, hidden = c(5,5))