|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.joone.engine.ExtendedKalmanFilterFFN
public class ExtendedKalmanFilterFFN
Implements the extended Kalman filter (EKF) as described in "Using an extended Kalman filter learning algorithm for feed-forward neural networks to describe tracer correlations" by Lary and Mussa (2004) in order to train a feed-forward neural network. This requires some matrix algebra for which colt is utilised.
Field Summary | |
---|---|
protected double |
kalmanBoost
A boost factor used to dampen the Kalman gain |
protected java.util.List<NodesAndWeights.Node> |
nodes
The list of nodes we use in the filter |
protected NodesAndWeights |
nodesAndWeights
The network structure |
protected DoubleMatrix2D |
P
The P matrix |
protected double |
p0
The initial (diagonal) values to enter into the P matrix |
protected int |
patternCount
The current pattern count |
protected int |
processorCount
Number of processors to use, 2 or more indicates SMP |
protected DoubleMatrix2D |
Q
The Q matrix |
protected double |
qDecay
The Q decay factor |
protected DoubleMatrix2D |
R
The R matrix |
protected double |
rDecay
The R decay factor |
protected int |
verbose
Zero for no verbosity, otherwise the number of patterns after which we croak |
protected DoubleMatrix1D |
W
The weight estimate |
protected java.util.List<NodesAndWeights.Weight> |
weights
The list of weights that we use in the filter |
Constructor Summary | |
---|---|
ExtendedKalmanFilterFFN(NodesAndWeights nodesAndWeights,
double kalmanBoost,
int verbose)
Create a new instance of the filter |
|
ExtendedKalmanFilterFFN(NodesAndWeights nodesAndWeights,
double kalmanBoost,
int verbose,
int processorCount)
Create a new instance of the filter - use for SMP |
Method Summary | |
---|---|
protected void |
init()
Initialise the filter |
void |
update(double[] error)
Update the filter. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected NodesAndWeights nodesAndWeights
protected DoubleMatrix1D W
protected DoubleMatrix2D P
protected double p0
protected DoubleMatrix2D Q
protected double qDecay
protected DoubleMatrix2D R
protected double rDecay
protected int patternCount
protected double kalmanBoost
protected java.util.List<NodesAndWeights.Node> nodes
protected java.util.List<NodesAndWeights.Weight> weights
protected int verbose
protected int processorCount
Constructor Detail |
---|
public ExtendedKalmanFilterFFN(NodesAndWeights nodesAndWeights, double kalmanBoost, int verbose)
nodesAndWeights
- the network to be optimised's structurekalmanBoost
- the boost factor (multiplier) to useverbose
- zero for no verbosity or the number of patterns after which we croakpublic ExtendedKalmanFilterFFN(NodesAndWeights nodesAndWeights, double kalmanBoost, int verbose, int processorCount)
nodesAndWeights
- the network to be optimised's structurekalmanBoost
- the boost factor (multiplier) to useverbose
- zero for no verbosity or the number of patterns after which we croakprocessorCount
- number of processors to useMethod Detail |
---|
protected void init()
public void update(double[] error)
error
- the most recently seen error pattern
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |