Esto se conoce como "normalización" o "estandarización" de los valores
- Code: Select all Expand view
- function Main()
local aValues := { 1, 2, 3 }
? SoftMax( aValues )
? aValues[ 1 ] + aValues[ 2 ] + aValues[ 3 ] // { 0.09, 0.24, 0.67 } --> 1
return nil
FUNCTION Softmax( aValues )
LOCAL n, nSum := 0
FOR n := 1 TO Len( aValues )
nSum += Exp( aValues[ n ] )
NEXT
FOR n := 1 TO Len( aValues )
aValues[ n ] := Exp( aValues[ n ] ) / nSum
NEXT
RETURN aValues