Расчетная вероятностная нейронная сеть
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 создает двухуровневую сеть. Первый слой имеет radbas нейронов и вычисляет его взвешенные входы с помощью dist и его чистый вход с netprod. Второй слой имеет compet нейронов и вычисляет его взвешенный вход с помощью dotprod и его чистые входные данные с netsum. Только первый слой имеет смещения.
newpnn устанавливает веса первого слоя как P', и все смещения первого уровня установлены в 0.8326/spread, что приводит к радиальным базисным функциям, пересекающим 0,5 на взвешенных входах +/- spread. Веса второго слоя W2 имеют значение T.
Вассерман, P.D., Передовые методы нейронных вычислений, Нью-Йорк, Ван Ностранд Райнхольд, 1993, стр. 35-55