Wikiwand AI

Probabilistic neural network

Machine learning technique From Wikipedia, the free encyclopedia

A probabilistic neural network (PNN)[1] is a feedforward neural network, which is widely used in classification and pattern recognition problems. In the PNN algorithm, the parent probability distribution function (PDF) of each class is approximated by a Parzen window and a non-parametric function. Then, using PDF of each class, the class probability of a new input data is estimated and Bayes’ rule is then employed to allocate the class with highest posterior probability to new input data. By this method, the probability of mis-classification is minimized.[2] This type of artificial neural network (ANN) was derived from the Bayesian network[3] and a statistical algorithm called kernel Fisher discriminant analysis.[4] It was introduced by D.F. Specht in 1966.[5][6] In a PNN, the operations are organized into a multilayered feedforward network with four layers:

  • Input layer
  • Pattern layer
  • Summation layer
  • Output layer

Layers

Probabilistic neural networks are often used in classification problems.[7] When an input is present, the first layer computes the distance from the input vector to the training input vectors. The second layer sums the contribution for each class of inputs and produces its net output as a vector of probabilities. Finally, a compete transfer function on the output of the second layer picks the maximum of these probabilities, and produces a 1 (positive identification) for that class and a 0 (negative identification) for non-targeted classes.

Input layer

Each neuron in the input layer represents a predictor variable. In categorical variables, N-1 neurons are used when there are N number of categories. It standardizes the range of the values by subtracting the median and dividing by the interquartile range. Then the input neurons feed the values to each of the neurons in the hidden layer.

Pattern layer

This layer contains one neuron for each case in the training data set. It stores the values of the predictor variables for the case along with the target value. A hidden neuron computes the Euclidean distance of the test case from the neuron's center point and then applies the radial basis function kernel using the sigma values.

Summation layer

For PNNs, there is one pattern neuron for each category of the target variable. The actual target category of each training case is stored with each hidden neuron; the weighted value coming out of a hidden neuron is fed only to the pattern neuron that corresponds to the hidden neuron's category. The pattern neurons add the values for the class they represent.

Output layer

The output layer compares the weighted votes for each target category accumulated in the pattern layer and uses the largest vote to predict the target category.

Advantages

There are several advantages and disadvantages using PNN instead of multilayer perceptrons:[8]

  • PNNs are much faster than multilayer perceptron networks
  • PNNs can be more accurate than multilayer perceptron networks
  • PNNs are relatively insensitive to outliers
  • PNNs generate accurate predicted target probability scores
  • PNNs approach Bayes optimal classification

Disadvantages

  • PNNs are slower than multilayer perceptron networks at classifying new cases
  • PNNs require more memory space to store the model

Applications based on PNN

Applications of probabilistic neural network include:

References

Related Articles

Timelines

Top Qs

Fact Checks