weka.classifiers.neural.multilayerperceptron.algorithm
Class BackPropagationAlgorithm

java.lang.Object
  extended by weka.classifiers.neural.common.CommonNeuralAlgorithmAncestor
      extended by weka.classifiers.neural.multilayerperceptron.algorithm.BackPropagationAlgorithm
All Implemented Interfaces:
java.io.Serializable, BatchTrainableNeuralModel, NeuralModel
Direct Known Subclasses:
BoldDriverBackPropagationAlgorithm

public class BackPropagationAlgorithm
extends CommonNeuralAlgorithmAncestor
implements BatchTrainableNeuralModel

Date: 31/05/2004 File: BackPropagationAlgorithm.java

Author:
Jason Brownlee
See Also:
Serialized Form

Constructor Summary
BackPropagationAlgorithm(TransferFunction aTransferFunction, RandomWrapper aRand, LearningRateKernel aLearningRateKernel, double aMomentum, double aWeightDecay, double aBiasValue, int[] aHiddenLayersTopology, weka.core.Instances aTrainingInstances)
           
 
Method Summary
 void applyWeightDeltas(double aLearningRate)
           
 void calculateWeightErrors(weka.core.Instance instance, double aLearningRate)
           
 void finishedEpoch(weka.core.Instances instances, double aLearningRate)
           
 double[] getAllWeights()
           
 double getLearningRate(int epochNumber)
           
 java.lang.String getModelInformation()
           
 double[] getNetworkOutputs(weka.core.Instance instance)
           
 int getNumOutputNeurons()
           
 void startingEpoch()
           
 void updateModel(weka.core.Instance instance, double aLearningRate)
           
 
Methods inherited from class weka.classifiers.neural.common.CommonNeuralAlgorithmAncestor
getDistributionForInstance
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BackPropagationAlgorithm

public BackPropagationAlgorithm(TransferFunction aTransferFunction,
                                RandomWrapper aRand,
                                LearningRateKernel aLearningRateKernel,
                                double aMomentum,
                                double aWeightDecay,
                                double aBiasValue,
                                int[] aHiddenLayersTopology,
                                weka.core.Instances aTrainingInstances)
Method Detail

getAllWeights

public double[] getAllWeights()
Specified by:
getAllWeights in interface NeuralModel

updateModel

public void updateModel(weka.core.Instance instance,
                        double aLearningRate)
Specified by:
updateModel in interface NeuralModel

getNumOutputNeurons

public int getNumOutputNeurons()
Specified by:
getNumOutputNeurons in interface NeuralModel

calculateWeightErrors

public void calculateWeightErrors(weka.core.Instance instance,
                                  double aLearningRate)
Specified by:
calculateWeightErrors in interface BatchTrainableNeuralModel

applyWeightDeltas

public void applyWeightDeltas(double aLearningRate)
Specified by:
applyWeightDeltas in interface BatchTrainableNeuralModel

getLearningRate

public double getLearningRate(int epochNumber)
Specified by:
getLearningRate in interface NeuralModel

startingEpoch

public void startingEpoch()
Specified by:
startingEpoch in interface NeuralModel

finishedEpoch

public void finishedEpoch(weka.core.Instances instances,
                          double aLearningRate)
Specified by:
finishedEpoch in interface NeuralModel

getNetworkOutputs

public double[] getNetworkOutputs(weka.core.Instance instance)
Specified by:
getNetworkOutputs in interface NeuralModel

getModelInformation

public java.lang.String getModelInformation()
Specified by:
getModelInformation in interface NeuralModel