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-by- R матрица веса (или S-by- 1 вектор смещения)

P

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

Z

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

N

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

A

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

T

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

E

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

gW

S-by- R градиент веса относительно эффективности

gA

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

D

S-by- S нейронные расстояния

LP

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

LS

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

и возвращает

dW

S-by- 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