Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.encog.util.normalize.output.multiplicative
Class OutputFieldMultiplicative

    java.lang.Object
      org.encog.util.normalize.output.BasicOutputField
          org.encog.util.normalize.output.OutputFieldGrouped
              org.encog.util.normalize.output.multiplicative.OutputFieldMultiplicative

All Implemented Interfaces:
  Serializable, OutputField

    public class OutputFieldMultiplicative

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. The multiplicative normalization is more simple than Z-Axis normalization. Almost always Z=Axis normalization is a better choice. 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. Multiplicative normalization works by calculating the vector length of the input fields and dividing each by that value. This also presents a problem, as the magnitude of the original fields is not used. For example, multiplicative normalization would not distinguish between (-2,1,3) and (-10,5,15). Both would result in the same output.

Author:
  jheaton
See Also:
  Serialized Form

Constructor Summary
`OutputFieldMultiplicative()` The default constructor.
`OutputFieldMultiplicative(OutputFieldGroup group, InputField field)` Construct a multiplicative output field.

Method Summary
`double` | `calculate(int subfield)` Calculate the value for this output 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

### OutputFieldMultiplicative

    public OutputFieldMultiplicative()

  The default constructor. Used for reflection.

### OutputFieldMultiplicative

    public OutputFieldMultiplicative(OutputFieldGroup group,
                                     InputField field)

  Construct a multiplicative output field.

  Parameters:
    `group` - The group this field belongs to.
    `field` - The input field that this field is based on.

Method Detail

### calculate

    public double calculate(int subfield)

  Calculate the value for this output field.

  Parameters:
    `subfield` - The subfield is not used.
  Returns:
    The value for this field.

### getSubfieldCount

    public int getSubfieldCount()

  Returns:
    Always returns 1, subfields are not used for this field.

### rowInit

    public void rowInit()

  Not needed for this sort of output field.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2011. All Rights Reserved.