【问题标题】:Function fitting neural network in for loop in MATLABMATLAB中for循环中的函数拟合神经网络
【发布时间】:2015-07-11 04:20:03
【问题描述】:

我使用的是 MATLAB R2014a 版本。

我有十个集群的 Xy 数据。

我想通过在 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做什么?因为它没有做你认为它做的事情。它在 3D 图中设置了一个视点。 uk.mathworks.com/help/matlab/ref/view.html
  • 不要随意使用 Matlab 函数,期待他们做你想做的事!
  • 您介意显示您预设数据的实际状态吗?第一步,whos 命令输出可能会有所帮助,对这些值/类型的一些检查也会有所帮助。

标签: matlab data-structures machine-learning statistics neural-network


【解决方案1】:

与 cmets view() 中提到的不同,在此处选择正确的函数,因为它已被重载以显示神经网络的草图(请参阅此处:http://www.mathworks.com/help/nnet/ref/view.html)。 p>

所以,问题显然不是 view() 本身,而是你的 mdl 网络,这意味着你应该:

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

...和/或发布有关代码中发生的情况的更多信息。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-03-08
    • 1970-01-01
    • 1970-01-01
    • 2016-09-29
    • 2014-02-21
    • 2017-02-19
    相关资源
    最近更新 更多