Курс машинного обучения Эндрю Упражнения могут работать локально, но не подать? - PullRequest
0 голосов
/ 28 сентября 2018

Я изучаю курс машинного обучения на курсах и занимаюсь нейронными сетями.Мой код может работать локально и возвращать правильный ответ, но он отображается неправильно, когда я отправляю его в октаве.enter image description here

На рисунке показано, что значения затрат верны.но когда я отправляю его, ответ выглядит так:

enter image description here

это означает, что y выходит за рамки, и в моем сценарии yэто метка 5000 сэмплов, она должна иметь 5000 строк, и то, что случилось с y, и почему не произошло при локальном запуске.

файлы находятся здесь: ex4 , nncostfunction

1 Ответ

0 голосов
/ 01 октября 2018

Хотя само упражнение предполагает 5000 наблюдений, для оценки кода для отправки используется гораздо меньшее количество наблюдений.

Вы жестко закодировали число 5000 в своем коде, а не использовали переменную, которая захватывает числонаблюдений (предположительно m в коде).Поэтому в цикле for после того, как вы превысили 16, что, по-видимому, является числом наблюдений, используемых в контексте передачи, октава жалуется, что вы пытаетесь получить доступ к индексу, который не определен для этого конкретного массива.

Короче говоря, вы должны были использовать for i = 1:m вместо for i = 1:5000, чтобы ваш код обобщался до размеров выборки, отличных от 5000.

...