我对神经网络的世界还很陌生,所以请您谅解。我正在生成一些测试数据,因此我有一个关于参数 size
和 decay
的问题。我使用 caret
包和方法 nnet
。以下是示例数据集:
require(mlbench)
require(caret)
require (nnet)
data(Sonar)
mydata=Sonar[,1:12]
set.seed(54878)
ctrl = trainControl(method="cv", number=10,returnResamp = "all")
for_train= createDataPartition(mydata$V12, p=.70, list=FALSE)
my_train=mydata[for_train,]
my_test=mydata[-for_train,]
t.grid=expand.grid(size=5,decay=0.2)
mymodel = train(V12~ .,data=my_train,method="nnet",metric="Rsquared",trControl=ctrl,tuneGrid=t.grid)
那么,我有两个问题。首先,使用caret方法是最好的使用nnet方法的方式吗?其次,我已经了解了大小和衰减(例如:在R中nnet函数的衰减参数的目的?),但我不知道如何在这里实际使用它们。 有人能帮忙吗?
nnet_grid <- expand.grid(.decay = c(0.5, 0.1, 1e-2, 1e-3, 1e-4, 1e-5, 1e-6, 1e-7), .size = c(3, 5, 10, 20))
,然后可以根据结果尝试其他参数。在0.1到0.5之间选择decay的范围相当小。 - marbel