org.encog.util.normalize.output.zaxis

## Class OutputFieldZAxis

- java.lang.Object
- - org.encog.util.normalize.output.BasicOutputField
  - - org.encog.util.normalize.output.OutputFieldGrouped
    - - 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

    Constructors
    Constructor and Description
    `OutputFieldZAxis(OutputFieldGroup group, InputField field)` Construct a ZAxis output field.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `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.