3

我刚开始研究“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)

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

4

1 回答 1

8

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

于 2015-01-16T21:23:48.763 回答