class CooCoo::ActivationFunctions::SoftMax

Computes the Softmax function given a {Vector}:

y_i = e ** x_i / sum(e ** x)

@see deepnotes.io/softmax-crossentropy @see becominghuman.ai/back-propagation-is-very-simple-who-made-it-complicated-97b794c97e5c

Public Instance Methods

call(x) click to toggle source
# File lib/coo-coo/activation_functions.rb, line 215
def call(x)
  e = x.exp
  e / e.sum
end
derivative(x, y = nil) click to toggle source
# File lib/coo-coo/activation_functions.rb, line 220
def derivative(x, y = nil)
  y ||= call(x)
  s = x.exp.sum
  y * (s - x) / s
end