machine-learning - 安德鲁练习的机器学习类(class)可以在本地运行但无法提交?

标签 machine-learning octave

我正在coursera上学习机器学习类(class),并进行神经网络的练习。我的代码可以在本地运行并返回正确的答案,但是当我以 Octave 提交时它显示错误。 enter image description here

图片显示成本值是正确的。但当我提交时,答案是这样的:

enter image description here

这意味着y超出范围,在我的脚本中y是5000个样本的标签,它应该有5000行,发生了什么y,以及为什么在本地运行时不会发生。

文件在这里: ex4 , nncostfunction

最佳答案

虽然练习本身假设有 5000 个观察结果,但用于评估您提交的代码的观察数量要少得多。

您在代码中硬编码了数字 5000,而不是使用捕获观察数的变量(大概是代码中的 m)。因此,在 for 循环中,一旦超过 16(大概是提交上下文中使用的观察数),octave 就会提示您正在尝试访问该特定数组 undefined index 。

长话短说,您应该使用 for i = 1:m 而不是 for i = 1:5000,以使您的代码泛化到不同于 5000 的样本大小.

关于machine-learning - 安德鲁练习的机器学习类(class)可以在本地运行但无法提交?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52556988/

相关文章:

R - 如何创建堆叠器整体?

python - 如何在 AutoKeras 1.0 中保存/加载模型

Octave: 看图

python - 使用掩蔽数组的一行计算数组行的平均值

matlab - Octave信号包安装

octave - 如何在 Octave 中获取字符串的长度?

octave - 如何使用 Octave 更改极坐标图中的标记样式?

machine-learning - 为什么在目标检测中使用带有卷积神经网络的滑动窗口?

machine-learning - XGBoost 和 Sklearn 中的对数损失相同吗?

c++ - 线性回归的梯度下降不起作用