我正在尝试找出网络中隐藏神经元的最佳数量。我正在用不同数量的隐藏神经元循环训练网络,并为每次迭代存储NMSE和Rsq的值。
我的ip数据库大小为20 x 714,op数据库为3 x714。我将数据集划分为70%训练和15%分别用于验证和测试。
我以通常的方式计算了NMSE和Rsq,
MSE00 = mean(var(trnopdb',1))
NMSE = mse(trnopdb'-net(trnipdb'))/MSE00
Rsq = 1 - NMSE
但是Rsq的值为负。它不在0到1之间。我在做什么错了?
此外,matlab nnfit显示Rtraining,Rvalidation,Rtesting和Rall。那么Rsq和R值之间是什么关系?
是否可以从网络信息中提取R值?另外,我应该考虑将Rtesting作为网络性能标准还是其他R值?
任何帮助都会很棒。预先感谢。