org.encog.util.normalize.output.zaxis
Class OutputFieldZAxis

java.lang.Object
  extended by org.encog.util.normalize.output.BasicOutputField
      extended by org.encog.util.normalize.output.OutputFieldGrouped
          extended by org.encog.util.normalize.output.zaxis.OutputFieldZAxis
All Implemented Interfaces:
Serializable, OutputField

public class OutputFieldZAxis
extends OutputFieldGrouped

Both the multiplicative and z-axis normalization types allow a group of outputs to be adjusted so that the "vector length" is 1. Both go about it in different ways. Certain types of neural networks require a vector length of 1. Z-Axis normalization is usually a better choice than multiplicative. However, multiplicative can perform better than Z-Axis when all of the values are near zero most of the time. This can cause the "synthetic value" that z-axis uses to dominate and skew the answer. Z-Axis gets its name from 3D computer graphics, where there is a Z-Axis extending from the plane created by the X and Y axes. It has nothing to do with z-scores or the z-transform of signal theory. To implement Z-Axis normalization a scaling factor must be created to multiply each of the inputs against. Additionally, a synthetic field must be added. It is very important that this synthetic field be added to any z-axis group that you might use. The synthetic field is represented by the OutputFieldZAxisSynthetic class.

Author:
jheaton
See Also:
Serialized Form

Constructor Summary
OutputFieldZAxis(OutputFieldGroup group, InputField field)
          Construct a ZAxis output field.
 
Method Summary
 double calculate(int subfield)
          Calculate the current value for this field.
 int getSubfieldCount()
           
 void rowInit()
          Not needed for this sort of output field.
 
Methods inherited from class org.encog.util.normalize.output.OutputFieldGrouped
getGroup, getSourceField
 
Methods inherited from class org.encog.util.normalize.output.BasicOutputField
isIdeal, setIdeal
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

OutputFieldZAxis

public OutputFieldZAxis(OutputFieldGroup group,
                        InputField field)
Construct a ZAxis output field.

Parameters:
group - The group this field belongs to.
field - The input field this is based on.
Method Detail

calculate

public double calculate(int subfield)
Calculate the current value for this field.

Parameters:
subfield - Ignored, this field type does not have subfields.
Returns:
The current value for this field.

getSubfieldCount

public int getSubfieldCount()
Returns:
The subfield count, which is one, as this field type does not have subfields.

rowInit

public void rowInit()
Not needed for this sort of output field.



Copyright © 2014. All Rights Reserved.