我试图在r中使用nnet首次运行神经网络模型。当我提供一系列值给予"尺寸"参数,我得到以下错误:
Error in nnet.default(x, y, w, entropy = TRUE, ...) :
initial value in 'vmmin' is not finite
然而,当我将单个值传递给" size"参数,该功能没有任何问题。为什么会出现此错误,如何解决此问题?
这是一个可重复的例子:
Var1 <- rnorm(100, 1, 2)
Var2 <- rnorm(100, 1, 2)
Var3 <- rnorm(100, 1, 2)
Var4 <- rnorm(100, 1, 2)
Var5 <- as.factor(runif(100)<=.50)
outcome <- as.factor(runif(100)<=.90)
data <- data.frame(outcome, Var1, Var2, Var3, Var4, Var5)
neural_net <- nnet(outcome ~ ., data = data, decay=5e-4, maxit=200, size = seq(from = 2, to = 30, by = 1))
这是我的R版本信息:
> version
_
platform x86_64-w64-mingw32
arch x86_64
os mingw32
system x86_64, mingw32
status
major 3
minor 4.0
year 2017
month 04
day 21
svn rev 72570
language R
version.string R version 3.4.0 (2017-04-21)
nickname You Stupid Darkness
谢谢!
答案 0 :(得分:0)
[batch_size, input_size]
仅适用于单隐藏层神经网络,因此nnet
(隐藏层中的神经元数量)只能是标量。
nnet包现在已经过时了。它可以追溯到20世纪90年代,在所有当前深度学习的进展之前。如果您想了解R中的神经网络,请考虑使用更现代的包,例如RStudio的tensorflow或Microsoft R&#39; MicrosoftML。后者实际上是机器学习算法的工具包,包括随机森林,增强树和其他NN。