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

Ограничения

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