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:
- java.io.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.- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor and Description OutputFieldMultiplicative()The default constructor.OutputFieldMultiplicative(OutputFieldGroup group, InputField field)Construct a multiplicative output field.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method and Description doublecalculate(int subfield)Calculate the value for this output field.intgetSubfieldCount()voidrowInit()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
-
-
-
-
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.
-
-
DMelt 3.0 © DataMelt by jWork.ORG