inv_smax: The inverse softmax function.

View source: R/utils.r

inv_smaxR Documentation

The inverse softmax function.

Description

The inverse softmax function: take a logarithm and center.

Usage

inv_smax(mu, g = NULL)

Arguments

mu

a vector of the probablities. Must be the same length as g if g is given. If mu and eta are both given, we ignore eta and use mu.

g

a vector giving the group indices. If NULL, then we assume only one group is in consideration.

Details

This is the inverse of the softmax function. Given vector \mu for a single group, finds vector \eta such that

\eta_i = \log{\mu_i} + c,

where c is chosen such that the \eta sum to zero:

c = \frac{-1}{n} \sum_i \log{\mu_i}.

Value

the centered log probabilities.

Note

This function can deal with overflow in a semi-coherent way.

Author(s)

Steven E. Pav shabbychef@gmail.com

See Also

smax

Examples

# we can deal with large values:
set.seed(2345)
eta <- rnorm(12,sd=1000)
mu <- smax(eta)
eta0 <- inv_smax(mu)

shabbychef/ohenery documentation built on Oct. 19, 2023, 12:08 p.m.