MATLAB中for循环中的函数拟合神经网络

Function fitting neural network in for loop in MATLAB

我使用的是 MATLAB R2014a 版本。

我有 10 个 X 集群,以及 y 数据。

我想用MATLAB中的神经网络工具拟合这10个对应的数据模型。我想在某个地方保存 10 个不同的模型。

对于每个集群,我需要设计一个实现来确定正确的隐藏层数。我会将每个模型保存到一个数组或类似的东西中。然后继续第二个集群。

为此,我开发了这个算法:

for q = 1:z                             % number of clusters
    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-network,这意味着你应该:

  • 带着调试器去那里检查它是否真的是一个神经网络以及它是否包含值
  • 检查这些值,因为 X 和 y 可能不是您想要的向量(您也应该检查)

...and/or post 有关代码中发生的事情的更多信息。