我正在研究我的研究并且长时间坚持让权重在nnet包中收敛。我在天气数据上运行传播算法来预测温度。我之前使用过神经网络包,权重收敛得很好。我能够增加迭代次数以提高准确性。但是当我增加输入模式大小时,Neuralnet包非常慢。以下是有关数据的简要说明。
我从车站每1小时收集一次天气数据。我将每1小时的数据连续24小时填充。这形成了我的输入模式。 Neuralnet运行精美,汇聚了一个月的数据,大约有653种模式。现在,当我想用一年培训时。 Neuralnet似乎运行了很长时间。
因此我选择了nnet。 nnet非常快。但它不会收敛为神经网络。 以下是我使用的代码片段。
formula.in=V385+V386+....+V392~V1+V2+...+V382+V383+V384
net<-neuralnet(formula=formula.in,data=data,hidden=90,threshold=0.0001,act.fct="tanh",err.fct="sse", algorithm = "rprop+")
如您所见,我可以更改阈值以获得所需的收敛。 现在我的nnet片段(这是更快但不允许我更改收敛阈值的片段。
target<-as.matrix(data[,385:392]);
input<-as.matrix(data[,1:384]);
net<-nnet(input,target,size=2,maxit=15000)
非常感谢任何帮助。
非常感谢。
答案 0 :(得分:0)
我也在使用R作为神经网络。因为我是初学者所以请原谅我,如果我的观点听起来有点傻。正如你所说,你正在使用反向传播算法来训练网络,但据我所知,nnet只实现了与神经网络不同的单层前馈神经网络。
简而言之,我认为nnet不使用反向传播。如果我错了,请纠正我。