softmax

object softmax extends UFunc

Computes the softmax (a.k.a. logSum) of an object. Softmax is defined as \log \sum_i \exp(x(i)), but implemented in a more numerically stable way. Softmax is so-called because it is a differentiable function that tends to look quite a lot like max. Consider log(exp(30) + exp(10)). That's basically 30. We use softmax a lot in machine learning.

trait UFunc
trait HasOps
class Object
trait Matchable
class Any
softmax.type

Type members

Classlikes

Inherited types

type Impl[V, VR] = UImpl[UFunc, V, VR]
Inherited from:
UFunc
type Impl2[V1, V2, VR] = UImpl2[UFunc, V1, V2, VR]
Inherited from:
UFunc
type Impl3[V1, V2, V3, VR] = UImpl3[UFunc, V1, V2, V3, VR]
Inherited from:
UFunc
type Impl4[V1, V2, V3, V4, VR] = UImpl4[UFunc, V1, V2, V3, V4, VR]
Inherited from:
UFunc
Inherited from:
UFunc
type InPlaceImpl2[V1, V2] = InPlaceImpl2[UFunc, V1, V2]
Inherited from:
UFunc
type InPlaceImpl3[V1, V2, V3] = InPlaceImpl3[UFunc, V1, V2, V3]
Inherited from:
UFunc
type SinkImpl[S, V] = SinkImpl[UFunc, S, V]
Inherited from:
UFunc
type SinkImpl2[S, V1, V2] = SinkImpl2[UFunc, S, V1, V2]
Inherited from:
UFunc
type SinkImpl3[S, V1, V2, V3] = SinkImpl3[UFunc, S, V1, V2, V3]
Inherited from:
UFunc

Value members

Concrete methods

def array(arr: Array[Double], length: Int): Double

Method for computing the max of the first length elements of an array. Arrays of size 0 give Double.NegativeInfinity

Method for computing the max of the first length elements of an array. Arrays of size 0 give Double.NegativeInfinity

Inherited methods

final def apply[V1, V2, V3, V4, VR](v1: V1, v2: V2, v3: V3, v4: V4)(implicit impl: Impl4[V1, V2, V3, V4, VR]): VR
Inherited from:
UFunc
final def apply[V1, @specialized(Int, Double, Float) V2, @specialized(Int, Double, Float) V3, @specialized(Int, Double, Float) VR](v1: V1, v2: V2, v3: V3)(implicit impl: Impl3[V1, V2, V3, VR]): VR
Inherited from:
UFunc
final def apply[@specialized(Int, Double, Float) V1, @specialized(Int, Double, Float) V2, @specialized(Int, Double, Float) VR](v1: V1, v2: V2)(implicit impl: Impl2[V1, V2, VR]): VR
Inherited from:
UFunc
final def apply[@specialized(Int, Double, Float) V, @specialized(Int, Double, Float) VR](v: V)(implicit impl: Impl[V, VR]): VR
Inherited from:
UFunc
final def inPlace[V, V2, V3](v: V, v2: V2, v3: V3)(implicit impl: InPlaceImpl3[softmax.type, V, V2, V3]): V
Inherited from:
UFunc
final def inPlace[V, V2](v: V, v2: V2)(implicit impl: InPlaceImpl2[softmax.type, V, V2]): V
Inherited from:
UFunc
final def inPlace[V](v: V)(implicit impl: InPlaceImpl[softmax.type, V]): V
Inherited from:
UFunc
final def withSink[S](s: S): WithSinkHelp[softmax.type, S]
Inherited from:
UFunc

Implicits

Implicits

implicit def reduceDouble[T](implicit iter: CanTraverseValues[T, Double], maxImpl: Impl[T, Double]): Impl[T, Double]
implicit def reduceFloat[T](implicit iter: CanTraverseValues[T, Float], maxImpl: Impl[T, Float]): Impl[T, Float]