Спроектируйте вероятностную нейронную сеть
net = newpnn(P,T,spread)
Вероятностные нейронные сети (PNN) являются своего рода радиальной базисной сетью, подходящей для проблем классификации.
net = newpnn(P,T,spread)
берет два или три аргумента,
P |
|
T |
|
spread | Распространение радиальных основных функций (значение по умолчанию = 0.1) |
и возвращает новую вероятностную нейронную сеть.
Если spread
близкий нуль, сетевые действия как самый близкий соседний классификатор. Как spread
становится больше, спроектированная сеть учитывает несколько соседних векторов проекта.
Здесь задача классификации описана с набором входных параметров P
и индексы класса Tc
.
P = [1 2 3 4 5 6 7]; Tc = [1 2 3 2 2 3 1];
Индексы класса преобразованы, чтобы предназначаться для векторов, и PNN спроектирован и протестирован.
T = ind2vec(Tc) net = newpnn(P,T); Y = sim(net,P) Yc = vec2ind(Y)
newpnn
создает сеть 2D слоя. Первый слой имеет radbas
нейроны, и вычисляют его взвешенные входные параметры с dist
и его сетевой вход с netprod
. Второй слой имеет compet
нейроны, и вычисляют его взвешенный вход с dotprod
и его сетевые входные параметры с netsum
. Только первый слой имеет смещения.
newpnn
устанавливает веса первого слоя на P'
, и смещения первого слоя все установлены в 0.8326/spread
, получившийся в радиальных основных функциях, которые пересекаются 0.5 во взвешенных входных параметрах +/– spread
. Веса второго слоя W2
установлены в T
.
Вассерман, P.D., Передовые методы в Нейронном Вычислении, Нью-Йорк, Ван Нострэнде Райнхольде, 1993, стр 35–55