Design probabilistic neural network
net = newpnn(P,T,spread)
Probabilistic neural networks (PNN) are a kind of radial basis network suitable for classification problems.
net = newpnn(P,T,spread) takes two or three arguments,
Spread of radial basis functions (default = 0.1)
and returns a new probabilistic neural network.
spread is near zero, the network acts as a nearest neighbor
spread becomes larger, the designed network takes into account
several nearby design vectors.
Here a classification problem is defined with a set of inputs
P = [1 2 3 4 5 6 7]; Tc = [1 2 3 2 2 3 1];
The class indices are converted to target vectors, and a PNN is designed and tested.
T = ind2vec(Tc) net = newpnn(P,T); Y = sim(net,P) Yc = vec2ind(Y)
newpnn creates a two-layer network. The first layer has
radbas neurons, and calculates its weighted inputs with
dist and its net input with
netprod. The second layer has
compet neurons, and calculates its weighted input with
dotprod and its net inputs with
netsum. Only the first
layer has biases.
newpnn sets the first-layer weights to
P', and the
first-layer biases are all set to
0.8326/spread, resulting in radial basis
functions that cross 0.5 at weighted inputs of +/–
spread. The second-layer
W2 are set to
Wasserman, P.D., Advanced Methods in Neural Computing, New York, Van Nostrand Reinhold, 1993, pp. 35–55