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

时间:2015-01-16 18:59:59

标签: r neural-network deep-learning r-package

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

关于"深度倾斜",关于多层神经网络的使用。 我已经开始使用包中提供的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)

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

1 个答案:

答案 0 :(得分:7)

虽然我不熟悉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.

您可以更清楚地了解到您正在创建一个向量,指定每个图层中的神经元数量(节点,顶点等)。

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