神经网络模型训练误差

时间:2014-04-09 11:38:09

标签: r machine-learning neural-network forecasting

我开始使用R,我真的很喜欢它,但最近我发现自己在一个角落里。我想建立预测热量消耗的神经网络模型。我有历史数据,包括以兆瓦为单位的外部气温(模型输入)和热需求值(模型输出)(过去4年的每小时数据)。我想根据气温天气预报(也提前24小时)使用我的模型预测24小时的热量需求。这是我的代码:

data <- read.delim("C:/.../data.csv", dec=",")
require(neuralnet)
trainset<-data[1:26208,]
testset<-data[26209:26232,]
net<-neuralnet(heat~temp,trainset,hidden=5,threshold=0.01)

..我得到的错误是&#39;算法没有收敛&#39;

这是我第一次尝试构建模型。这就是为什么我只想使用一个输入参数(气温),将来我想使用更多的输入,如风速,工作日和假期等信息。你知道我做错了什么吗?这是隐藏神经元或层数的问题吗?我还尝试使用其他参数值&#39; hidden&#39;我仍然有错误。

这是我的数据集:click

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

感谢您的评论。在阅读了随你提供的资料后,我想到了

我尝试了不同的神经网络配置和较小的数据集:

> trainset<-data[1:1000,]
> testset<-data[1001:1024,]
> net<-neuralnet(heat~temp,trainset,hidden=2,threshold=0.01)
> temp_test<-subset(testset,select=temp)
> net.results<-compute(net,temp_test)
> results<-data.frame(actual=testset$heat,prediction=net.results$net.result)
> View(results)

所以我假设我的收敛问题是由模型配置(隐藏神经元的数量)和训练数据集观察数量之间的关系引起的。