org.encog.neural.pnn
Class BasicPNN

java.lang.Object
  extended by org.encog.ml.BasicML
      extended by org.encog.neural.pnn.AbstractPNN
          extended by org.encog.neural.pnn.BasicPNN
All Implemented Interfaces:
Serializable, MLClassification, MLError, MLInput, MLInputOutput, MLMethod, MLOutput, MLProperties, MLRegression

public class BasicPNN
extends AbstractPNN
implements MLRegression, MLError, MLClassification

This class implements either a: Probabilistic Neural Network (PNN) General Regression Neural Network (GRNN) To use a PNN specify an output mode of classification, to make use of a GRNN specify either an output mode of regression or un-supervised autoassociation. The PNN/GRNN networks are potentially very useful. They share some similarities with RBF-neural networks and also the Support Vector Machine (SVM). These network types directly support the use of classification. The following book was very helpful in implementing PNN/GRNN's in Encog. Advanced Algorithms for Neural Networks: A C++ Sourcebook by Timothy Masters, PhD (http://www.timothymasters.info/) John Wiley & Sons Inc (Computers); April 3, 1995, ISBN: 0471105880

See Also:
Serialized Form

Constructor Summary
BasicPNN(PNNKernelType kernel, PNNOutputMode outmodel, int inputCount, int outputCount)
          Construct a BasicPNN network.
 
Method Summary
 double calculateError(MLDataSet data)
          Calculate the error of the ML method, given a dataset.
 int classify(MLData input)
          Classify the input into a group.
 MLData compute(MLData input)
          Compute the output from this network.
 int[] getCountPer()
           
 double[] getPriors()
           
 BasicMLDataSet getSamples()
           
 double[] getSigma()
           
 void setSamples(BasicMLDataSet samples)
           
 void updateProperties()
          Update any objeccts when a property changes.
 
Methods inherited from class org.encog.neural.pnn.AbstractPNN
getDeriv, getDeriv2, getError, getExclude, getInputCount, getKernel, getOutputCount, getOutputMode, isSeparateClass, isTrained, resetConfusion, setError, setExclude, setSeparateClass, setTrained
 
Methods inherited from class org.encog.ml.BasicML
getProperties, getPropertyDouble, getPropertyLong, getPropertyString, setProperty, setProperty, setProperty
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.encog.ml.MLInput
getInputCount
 
Methods inherited from interface org.encog.ml.MLOutput
getOutputCount
 

Constructor Detail

BasicPNN

public BasicPNN(PNNKernelType kernel,
                PNNOutputMode outmodel,
                int inputCount,
                int outputCount)
Construct a BasicPNN network.

Parameters:
kernel - The kernel to use.
outmodel - The output model for this network.
inputCount - The number of inputs in this network.
outputCount - The number of outputs in this network.
Method Detail

compute

public MLData compute(MLData input)
Compute the output from this network.

Specified by:
compute in interface MLRegression
Specified by:
compute in class AbstractPNN
Parameters:
input - The input to the network.
Returns:
The output from the network.

getCountPer

public int[] getCountPer()
Returns:
the countPer

getPriors

public double[] getPriors()
Returns:
the priors

getSamples

public BasicMLDataSet getSamples()
Returns:
the samples

getSigma

public double[] getSigma()
Returns:
the sigma

setSamples

public void setSamples(BasicMLDataSet samples)
Parameters:
samples - the samples to set

updateProperties

public void updateProperties()
Update any objeccts when a property changes.

Specified by:
updateProperties in interface MLProperties
Specified by:
updateProperties in class BasicML

calculateError

public double calculateError(MLDataSet data)
Calculate the error of the ML method, given a dataset.

Specified by:
calculateError in interface MLError
Parameters:
data - The dataset.
Returns:
The error.

classify

public int classify(MLData input)
Classify the input into a group.

Specified by:
classify in interface MLClassification
Parameters:
input - The input data to classify.
Returns:
The group that the data was classified into.


Copyright © 2014. All Rights Reserved.