exponenta event banner

learnpn

Нормализованная функция обучения весу перцептрона и смещению

Синтаксис

[dW,LS] = learnpn(W,P,Z,N,A,T,E,gW,gA,D,LP,LS)
info = learnpn('code')

Описание

learnpn является функцией обучения весу и смещению. Это может привести к более быстрому обучению, чем learnp когда входные векторы имеют широко изменяющиеся величины.

[dW,LS] = learnpn(W,P,Z,N,A,T,E,gW,gA,D,LP,LS) принимает несколько входов,

W

Sоколо-R весовая матрица (или Sоколо-1 вектор смещения)

P

Rоколо-Q входные векторы (или ones(1,Q))

Z

Sоколо-Q взвешенные входные векторы

N

Sоколо-Q чистые входные векторы

A

Sоколо-Q выходные векторы

T

Sоколо-Q целевые векторы слоев

E

Sоколо-Q векторы ошибок слоев

gW

Sоколо-R градиент веса в зависимости от производительности

gA

Sоколо-Q выходной градиент по производительности

D

Sоколо-S расстояния нейронов

LP

Параметры обучения, нет, LP = []

LS

Состояние обучения, первоначально должно быть = []

и возвращает

dW

Sоколо-R матрица изменения веса (или смещения)

LS

Новое состояние обучения

info = learnpn('code') возвращает полезную информацию для каждого code символьный вектор:

'pnames'

Названия параметров обучения

'pdefaults'

Параметры обучения по умолчанию

'needg'

Возвращает 1, если эта функция используется gW или gA

Примеры

Здесь определяется случайный ввод P и ошибка E для слоя с двухэлементным входом и тремя нейронами.

p = rand(2,1);
e = rand(3,1);

Поскольку learnpn только эти значения необходимы для вычисления изменения веса (см. «Алгоритм» ниже), используйте их для этого.

dW = learnpn([],p,[],[],[],[],e,[],[],[],[],[])

Ограничения

Перцептроны действительно имеют одно реальное ограничение. Для нахождения решения набор входных векторов должен быть линейно разделяемым. То есть, если входные векторы с целями 1 не могут быть отделены линией или гиперплоскостью от входных векторов, связанных со значениями 0, перцептрон никогда не сможет правильно их классифицировать.

Алгоритмы

learnpn вычисляет изменение веса dW для данного нейрона из входа нейрона P и ошибка E согласно нормированному правилу обучения перцептрону:

pn = p / sqrt(1 + p(1)^2 + p(2)^2) + ... + p(R)^2)
dw = 0,  if e = 0
     = pn', if e = 1
     = -pn', if e = -1

Выражение для dW можно суммировать как

dw = e*pn'

См. также

| |

Представлен до R2006a