К какому весу добавляется коррекция в персептроне? - PullRequest
1 голос
/ 26 июня 2011

Я экспериментирую с однослойными персептронами и думаю, что понимаю (в основном) все. Однако я не понимаю, к каким весам следует добавить коррекцию (скорость обучения * ошибка). В примерах, которые я видел, это кажется произвольным.

Ответы [ 2 ]

1 голос
/ 30 июня 2011

Ну, похоже, вы половина ответили на свой вопрос: это правда, что вы исправляете все ненулевые веса, вы не исправляете все на одну и ту же сумму.

Вместо этого вы корректируете весовые коэффициенты пропорционально их входящей активации, поэтому, если блок X активировался действительно сильно, а блок Y активировал всего один бит, и была большая ошибка, тогда вес, переходящий от блока X к выходу, быть исправлено гораздо больше, чем веса единицы Y для вывода.

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

обсуждается аналогичный алгоритм обучения, называемый обратным распространением.
0 голосов
/ 26 июня 2011

Ответил на мой вопрос.

Согласно http://intsys.mgt.qub.ac.uk/notes/perceptr.html, «добавить эту поправку к любому весу, для которого был введен ввод». Другими словами, не добавляйте поправку к весам, чьи нейроны имели значение 0.

...