【问题标题】:Bayesian network error in MATLABMATLAB 中的贝叶斯网络错误
【发布时间】:2017-05-08 23:16:34
【问题描述】:

我尝试运行以下代码来训练我的贝叶斯网络。

p = [-1:.05:1];
t = sin(2*pi*p)+0.1*randn(size(p));
net = feedforwardnet(2,'trainbr');
net = train(net,p,t);
a = net(p);

并收到如下错误;

Default value is not a member of type "nntype.training_fcn".
Error using nnetParamInfo (line 28)
FCN does not return an info object.

Error in feedforwardnet>get_info (line 87)
    nnetParamInfo('trainFcn','Training 
Function','nntype.training_fcn','trainlm',...

Error in feedforwardnet (line 39)
  if isempty(INFO), INFO = get_info; end

Error in backpropag_no_noise (line 29)
net1=feedforwardnet(20,'trainbr');

我使用了 MATLAB 文档中给出的相同示例。它有时可以使用相同的代码,并且在大多数情况下只会给我一个错误。我按照文档中的建议传递了网络和参数。任何帮助。

【问题讨论】:

  • 你的 Matlab 版本是多少?我检查了你的代码,它工作正常!
  • 我使用的是 2017a 版本。是的,就是这样,如果我将相同的代码放在在线 matlab 版本中,它就可以工作。我很困惑,已经过去 2 天解决了这个问题。
  • 我已经听说v 2017变化很大,可能只是新版本的一个bug!试试旧版本的脚本,看看有没有用,我没有 2017 版本可以检查,抱歉

标签: matlab machine-learning neural-network bayesian backpropagation


【解决方案1】:

您的代码可以在我的 Matlab 上运行, 尝试通过以下代码分别定义网络训练功能,也许它可以工作。括号内也包括网络层的神经元个数。

net = feedforwardnet([2],'trainbr'); net = train(net,p,t); net.trainFcn='trainbr';

【讨论】:

  • 我很抱歉它不起作用并给我同样的错误。错误消息无法解释,仍在尝试弄清楚。
  • 这很奇怪!您的脚本中是否还有其他内容而不是上面的代码,它们可能会导致此错误。添加“清除所有”功能以清除您的工作空间,您是否尝试过其他学习算法,例如“traingdm”或“trainlm”?
猜你喜欢
  • 2013-04-08
  • 2013-07-29
  • 2011-01-09
  • 2012-07-14
  • 2013-05-11
  • 2013-07-19
  • 2019-11-05
  • 1970-01-01
相关资源
最近更新 更多