learnpn

Нормированный perceptron вес и функция изучения смещения

Синтаксис

[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- матрица (или 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- градиент относительно производительности

gA

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

D

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

LP

Изучая параметры, ни один, LP = []

LS

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

и возвращается

dW

S- (или смещение) изменяют матрицу

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,[],[],[],[],[])

Ограничения

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

Алгоритмы

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

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