【问题标题】:Octave/Matlab ErrorOctave/Matlab 错误
【发布时间】:2023-03-25 15:14:01
【问题描述】:

我正在尝试实现一个具有 3 个隐藏神经元的神经网络,

给我带来麻烦的代码是:

  bias = [-1 -1 -1];

  % Output layer
  x3_1 = bias(1,4)*weights(4,1) + x2(1)*weights(4,2) + x2(2)*weights(4,3) + x2(3)*weights(4,4);
  out(j) = sigmoid(x3_1);

我收到错误:

A(I,J):列索引越界;值 4 超出范围 3 错误:从文件 /home/8.m 中第 45 行第 12 列附近的“/home/8.m”调用

【问题讨论】:

  • 错误已明确说明。当您只有 3 列时,您正在尝试访问第 4 列。
  • @excaza 我有 weights = one(4,4);怎么可能?
  • @ferrer:只需启用调试:debug_on_error(1),然后重新运行脚本并等待它停止,然后评估您的变量
  • @Andy 谢谢。命令到底是什么?
  • "debug_on_error (1)" 正如我已经写过的......

标签: matlab error-handling neural-network octave


【解决方案1】:

当偏差初始化为 [-1 -1 -1] 时,您正在尝试访问 bias(1,4)。看起来您缺少在每次迭代期间更新偏差值的步骤,因此它们始终为 [-1 -1 -1]。

【讨论】:

  • Nobias 实际上并没有更新,它的权重是更新的。
猜你喜欢
  • 1970-01-01
  • 2017-01-02
  • 1970-01-01
  • 2022-01-25
  • 2012-09-01
  • 2017-09-21
  • 1970-01-01
  • 1970-01-01
  • 2012-09-16
相关资源
最近更新 更多