tfp.stats.log_soomean_exp

View source on GitHub

Computes the log-swap-one-out-mean of exp(logx).

tfp.stats.log_soomean_exp(
    logx,
    axis,
    keepdims=False,
    name=None
)

The swapped out element logx[i] is replaced with the log-leave-i-out geometric mean of logx.

Args:

  • logx: Floating-type Tensor representing log(x) where x is some positive value.
  • axis: The dimensions to sum across. If None (the default), reduces all dimensions. Must be in the range [-rank(logx), rank(logx)]. Default value: None (i.e., reduce over all dims).
  • keepdims: If true, retains reduced dimensions with length 1. Default value: False (i.e., keep all dims in log_mean_x).
  • name: Python str name prefixed to Ops created by this function. Default value: None (i.e., "log_soomean_exp").

Returns:

  • log_soomean_x: Tensor` with same shape and dtype as `logx` representing the natural-log of the average of `x except that the element logx[i] is replaced with the log of the leave-i-out Geometric-average. The mean of the gradient of log_soomean_x is 1. Mathematically log_soomean_x is,
log_soomean_x[i] = log(Avg{h[j ; i] : j=0, ..., m-1})
h[j ; i] = { u[j]                              j!=i
           { GeometricAverage{u[k] : k != i}   j==i
  • log_mean_x: logx.dtype Tensor corresponding to the natural-log of the average of x. The sum of the gradient of log_mean_x is 1. Has reduced shape of logx (per axis and keepdims).