安德鲁锻炼的机器学习课程可以在本地运行,但无法提交?

时间:2018-09-28 13:58:24

标签: machine-learning octave

我正在Coursera学习机器学习课程,并正在做神经网络的练习。我的代码可以在本地运行并返回正确的答案,但是当我以八度提交时,它显示错误。 enter image description here

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

enter image description here

这意味着y越界,在我的脚本中y是5000个样本的标签,它应该有5000行,y发生了什么,为什么在本地运行时未发生。

文件在这里: ex4nncostfunction

1 个答案:

答案 0 :(得分:1)

虽然练习本身假设有5000个观察值,但是使用较少的观察值来评估要提交的代码。

您在代码中对数字5000进行了硬编码,而不是使用捕获观测值数量的变量(可能在代码中为m)。因此,在for循环中,一旦超过16(大概是提交上下文中使用的观察值的数量),octave就会抱怨您正在尝试访问对该特定数组未定义的索引。

长话短说,您应该使用for i = 1:m而不是for i = 1:5000来使您的代码泛化为不超过5000的样本大小。