Как работает функция кросс-энтропийной ошибки в обычном алгоритме обратного распространения? - PullRequest
3 голосов
/ 28 мая 2010

Я работаю в сети обратного распространения с обратной связью в C ++, но не могу заставить ее работать должным образом. Сеть, на которой я базируюсь, использует функцию кросс-энтропийной ошибки. Тем не менее, я не очень знаком с этим и, хотя я пытаюсь найти его, я все еще не уверен. Иногда это кажется легким, иногда трудным. Сеть решит проблему многочленной классификации, и, насколько я понимаю, функция кросс-энтропийной ошибки подходит для этих случаев. Кто-то, кто знает, как это работает?

1 Ответ

4 голосов
/ 01 июля 2011

Ах да, хорошее обратное распространение. Радость в том, что на самом деле не имеет значения (с точки зрения реализации), какую функцию ошибок вы используете, пока она дифференцируема. Когда вы знаете, как рассчитать перекрестную энтропию для каждой единицы вывода (см. вики-статью ), вы просто берете частную производную этой функции, чтобы найти веса для скрытого слоя, и еще раз для входных данных. слой.

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

Надеюсь, это поможет, дайте мне знать, если вам нужна другая информация; ваш вопрос был немного расплывчатым ...

...