我正在coursera上学习机器学习类(class),并进行神经网络的练习。我的代码可以在本地运行并返回正确的答案,但是当我以 Octave 提交时它显示错误。
图片显示成本值是正确的。但当我提交时,答案是这样的:
这意味着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/