我使用的是MATLAB R2014a版本。
我有十组X
和y
数据的集群。
我想使用MATLAB中的神经网络工具来拟合这10组对应的数据模型,并希望将这10个不同的模型保存到某个地方。
对于每个集群,我需要设计一个实现来确定隐藏层的正确数量。我将每个模型保存到一个数组或类似的东西中,然后继续处理第二个集群。
为此,我开发了以下算法:
for q = 1:z % 集群数量
mdl = fitnet( 10 );
mdl = train( mdl, X( classes == q ), y( classes == q ) );
view( mdl );
yy = net( X( classes == q ) );
perf = perform( net, yy, y( classes == q ) );
model( q ).mdl = mdl;
clear mdl;
end
当我运行这段代码时,我得到了以下错误:
Error using view (line 67)
Invalid input arguments
Error in Main (line 97)
view(mdl);
我该如何解决这个问题?
谢谢,
回答:
正如评论中提到的,view()确实是这里正确的选择,因为它已经被重载以显示神经网络的草图(参见:http://www.mathworks.com/help/nnet/ref/view.html)。
因此,问题显然不在view()本身,而在于你的mdl网络,这意味着你应该:
- 使用调试器检查它是否真的是一个神经网络,并且是否包含值
- 检查这些值,因为X和y可能不是你想要的向量(你也应该检查这一点)
…和/或发布更多关于你的代码中发生的事情的信息。