当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python tf.compat.v1.distributions.Normal用法及代码示例


具有位置 locscale 参数的正态分布。

继承自:Distribution

用法

tf.compat.v1.distributions.Normal(
    loc, scale, validate_args=False, allow_nan_stats=True, name='Normal'
)

参数

  • loc 浮点张量;分布的手段。
  • scale 浮点张量;发行版的标准开发者。必须只包含正值。
  • validate_args Python bool ,默认 False 。尽管可能会降低运行时性能,但检查 True 分发参数的有效性时。当False 无效输入可能会默默呈现不正确的输出。
  • allow_nan_stats Python bool ,默认 True 。当 True 时,统计信息(例如,均值、众数、方差)使用值“NaN”来指示结果未定义。当 False 时,如果一个或多个统计数据的批处理成员未定义,则会引发异常。
  • name Python str 名称以此类创建的 Ops 为前缀。

抛出

  • TypeError 如果 locscale 有不同的 dtype

属性

  • allow_nan_stats Pythonbool说明未定义统计信息时的行为。

    统计数据在有意义时返回 +/- 无穷大。例如,柯西分布的方差是无穷大的。但是,有时统计数据是未定义的,例如,如果分布的 pdf 在分布的支持范围内没有达到最大值,则模式是未定义的。如果均值未定义,则根据定义,方差未定义。例如: df = 1 的 Student's T 的平均值是未定义的(没有明确的方式说它是 + 或 - 无穷大),因此方差 = E[(X - mean)**2] 也是未定义的。

  • batch_shape 来自单个事件索引的单个样本的形状作为TensorShape.

    可能部分定义或未知。

    批次维度是该分布的独立、不同参数化的索引。

  • dtype TensorDType 由此 Distribution 处理。
  • event_shape 单个批次的单个样品的形状作为TensorShape.

    可能部分定义或未知。

  • loc 均值的分布参数。
  • name Distribution 创建的所有操作前的名称。
  • parameters 用于实例化此 Distribution 的参数字典。
  • reparameterization_type 说明如何重新参数化分布中的样本。

    目前这是静态实例 distributions.FULLY_REPARAMETERIZEDdistributions.NOT_REPARAMETERIZED 之一。

  • scale 标准差的分布参数。
  • validate_args Python bool 表示启用了可能昂贵的检查。

数学细节

概率密度函数 (pdf) 是,

pdf(x; mu, sigma) = exp(-0.5 (x - mu)**2 / sigma**2) / Z
Z = (2 pi sigma**2)**0.5

其中loc = mu 是平均值,scale = sigma 是标准差。偏差,并且,Z 是归一化常数。

正态分布是 location-scale 系列的成员,即,它可以构造为,

X ~ Normal(loc=0, scale=1)
Y = loc + scale * X

例子

一个或一批分布的初始化示例。

import tensorflow_probability as tfp
tfd = tfp.distributions

# Define a single scalar Normal distribution.
dist = tfd.Normal(loc=0., scale=3.)

# Evaluate the cdf at 1, returning a scalar.
dist.cdf(1.)

# Define a batch of two scalar valued Normals.
# The first has mean 1 and standard deviation 11, the second 2 and 22.
dist = tfd.Normal(loc=[1, 2.], scale=[11, 22.])

# Evaluate the pdf of the first distribution on 0, and the second on 1.5,
# returning a length two tensor.
dist.prob([0, 1.5])

# Get 3 samples, returning a 3 x 2 tensor.
dist.sample([3])

尽可能广播参数。

# Define a batch of two scalar valued Normals.
# Both have mean 1, but different standard deviations.
dist = tfd.Normal(loc=1., scale=[11, 22.])

# Evaluate the pdf of both distributions on the same point, 3.0,
# returning a length 2 tensor.
dist.prob(3.0)

相关用法


注:本文由纯净天空筛选整理自tensorflow.org大神的英文原创作品 tf.compat.v1.distributions.Normal。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。