Разработайте вероятностную нейронную сеть
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