View source on GitHub
  
 | 
Compute exponentially weighted moving {mean,variance} of a streaming value.
tf.contrib.distributions.assign_moving_mean_variance(
    mean_var, variance_var, value, decay, name=None
)
The value updated exponentially weighted moving mean_var and
variance_var are given by the following recurrence relations:
variance_var = decay * (variance_var + (1-decay) * (value - mean_var)**2)
mean_var     = decay * mean_var + (1 - decay) * value
For derivation justification, see [Finch (2009; Eq. 143)][1].
Args | |
|---|---|
mean_var
 | 
float-like Variable representing the exponentially weighted
moving mean. Same shape as variance_var and value.
 | 
variance_var
 | 
float-like Variable representing the
exponentially weighted moving variance. Same shape as mean_var and
value.
 | 
value
 | 
float-like Tensor. Same shape as mean_var and variance_var.
 | 
decay
 | 
A float-like Tensor. The moving mean decay. Typically close to
1., e.g., 0.999.
 | 
name
 | 
Optional name of the returned operation. | 
Returns | |
|---|---|
mean_var
 | 
Variable representing the value-updated exponentially weighted
moving mean.
 | 
variance_var
 | 
Variable representing the value-updated
exponentially weighted moving variance.
 | 
Raises | |
|---|---|
TypeError
 | 
if mean_var does not have float type dtype.
 | 
TypeError
 | 
if mean_var, variance_var, value, decay have different
base_dtype.
 | 
References
[1]: Tony Finch. Incremental calculation of weighted mean and variance. Technical Report, 2009. http://people.ds.cam.ac.uk/fanf2/hermes/doc/antiforgery/stats.pdf
    View source on GitHub