R deepnet 包:如何向我的神经网络添加更多隐藏层?

R deepnet package: how to add more hidden layers to my neural network?

刚开始研究"deepnet"包: http://cran.r-project.org/web/packages/deepnet/index.html

是关于"deep leaning",所以是关于多层神经网络的用法。 我已经开始使用包中提供的 train() 函数, 但我真的不明白如何在 神经网络。 标准设置包括 2 个隐藏层,但我想添加更多,比如 5 个。 你们中有人有想法吗?

我正在使用 sae.dnn.train() 函数,但我不明白是哪一个 参数控制隐藏层的数量。 这是示例代码:

Var1 <- c(rnorm(50, 1, 0.5), rnorm(50, -0.6, 0.2))
Var2 <- c(rnorm(50, -0.8, 0.2), rnorm(50, 2, 1))
x <- matrix(c(Var1, Var2), nrow = 100, ncol = 2)
y <- c(rep(1, 50), rep(0, 50))
dnn <- sae.dnn.train(x, y, hidden = c(5, 5))
## predict by dnn
test_Var1 <- c(rnorm(50, 1, 0.5), rnorm(50, -0.6, 0.2))
test_Var2 <- c(rnorm(50, -0.8, 0.2), rnorm(50, 2, 1))
test_x <- matrix(c(test_Var1, test_Var2), nrow = 100, ncol = 2)
nn.test(dnn, test_x, y)

哪个参数设置了神经网络的隐藏层数? 如何添加更多隐藏层?

虽然我不熟悉 deepnet 包,但它的结构似乎与其他神经网络包相同。查看文档(?sae.dnn.train)后,您将看到:

hidden:    vector for number of units of hidden layers.Default is c(10).

现在这不是最清楚的描述,但我相信它应该与 neuralnet 包中的 neuralnet 函数相同。 ?neural::neuralnet

hidden:    a vector of integers specifying the number of hidden neurons 
           (vertices) in each layer.

这更清楚,您可以理解您正在创建一个向量,指定每个 .[=19 中的神经元(节点、顶点等)的数量=]

因此,总而言之,您使用 hidden = c(5, 5) 的示例是 两层,每层有 5 个神经元 。所以如果你想要 5 个隐藏层,每个隐藏层有 5 个神经元,你只需输入 hidden = c(5, 5, 5, 5, 5).