Class SigmoidNormalizer

java.lang.Object
org.tribuo.math.util.SigmoidNormalizer
All Implemented Interfaces:
Serializable, VectorNormalizer, ProtoSerializable<org.tribuo.math.protos.NormalizerProto>

public class SigmoidNormalizer extends Object implements VectorNormalizer, Serializable
Normalizes the input by applying a logistic sigmoid to each element. Used when the input is independent dimensions of log space.
See Also:
  • Field Details

    • CURRENT_VERSION

      public static final int CURRENT_VERSION
      Protobuf serialization version.
      See Also:
  • Constructor Details

    • SigmoidNormalizer

      public SigmoidNormalizer()
      Constructs a Normalizer.
  • Method Details

    • deserializeFromProto

      public static SigmoidNormalizer deserializeFromProto(int version, String className, com.google.protobuf.Any message)
      Deserialization factory.
      Parameters:
      version - The serialized object version.
      className - The class name.
      message - The serialized data.
      Returns:
      The deserialized object.
    • serialize

      public org.tribuo.math.protos.NormalizerProto serialize()
      Description copied from interface: ProtoSerializable
      Serializes this object to a protobuf.
      Specified by:
      serialize in interface ProtoSerializable<org.tribuo.math.protos.NormalizerProto>
      Returns:
      The protobuf.
    • sigmoid

      public static double sigmoid(double input)
      A logistic sigmoid function.
      Parameters:
      input - The input to sigmoid.
      Returns:
      The logistic function applied to the input.
    • normalize

      public double[] normalize(double[] input)
      Description copied from interface: VectorNormalizer
      Normalizes the input array in some fashion specified by the class.
      Specified by:
      normalize in interface VectorNormalizer
      Parameters:
      input - The input to normalize.
      Returns:
      The normalized array.
    • normalizeInPlace

      public void normalizeInPlace(double[] input)
      Description copied from interface: VectorNormalizer
      In place normalization of the array.

      Note: This default implementation performs a copy by calling the standard normalize method.

      Specified by:
      normalizeInPlace in interface VectorNormalizer
      Parameters:
      input - The input to normalize.
    • exportNormalizer

      public ONNXNode exportNormalizer(ONNXNode input)
      Returns the ONNX sigmoid node, operating independently over each element.
      Specified by:
      exportNormalizer in interface VectorNormalizer
      Parameters:
      input - The node to be normalized according to this implementation.
      Returns:
      the sigmoid node applied to input.
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object