Почему не работает, если мы вычисляем ошибку NN как target - output? - PullRequest
0 голосов
/ 29 августа 2018

У меня есть нейронная сеть, где я вычисляю дельту выходного слоя, как:

delta_L = Output(i) - L;

И это хорошо работает. Но если я изменю это, на:

delta_L = L - Output(i);

Тогда это не работает. (Несмотря на то, что курс Эндрю Нг рекомендует второй)

Почему?

1 Ответ

0 голосов
/ 29 августа 2018

Давайте возьмем 3-слойный nn с 2 скрытыми слоями, со стандартными обозначениями nn показан ниже:

enter image description here

с и функцией стоимости как сумма (или средняя) квадратичных потерь по набору обучающих данных (для регрессии с непрерывным выходным значением)

enter image description here

с выражениями обратного распространения:

enter image description here

Как вы можете видеть, delta_L - это output[i] - L в вашей записи, предполагая, что L=y - это ваше действительное значение выходной переменной, а a=output[i] - это предсказание nn, это выражение совпадает с выражением Эндрю Нга конечно, обратитесь к этой статье для более подробной информации. Мы можем показать то же самое для классификации / потери при перекрестной энтропии.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...