Exponential¶
指数分布
指数分布的概率密度满足一下公式:
\[f(x; \theta) = \theta e^{- \theta x }, (x \ge 0) $$\]
上面数学公式中:
\(rate=\theta\):表示率参数。
参数¶
rate (float|Tensor) - 率参数,该值必须大于零。
代码示例¶
>>> import paddle
>>> expon = paddle.distribution.Exponential(paddle.to_tensor([0.5]))
>>> print(expon.mean)
Tensor(shape=[1], dtype=float32, place=Place(gpu:0), stop_gradient=True,
[2.])
>>> print(expon.variance)
Tensor(shape=[1], dtype=float32, place=Place(gpu:0), stop_gradient=True,
[4.])
>>> print(expon.entropy())
Tensor(shape=[1], dtype=float32, place=Place(gpu:0), stop_gradient=True,
[1.69314718])
方法¶
prob(value)¶
指数分布的概率密度函数。
参数
value (float|Tensor) - 输入值。
数学公式: .. math:
f(x; \theta) = \theta e^{- \theta x }, (x \ge 0) $$
上面数学公式中:
\(rate=\theta\):表示率参数。
返回
Tensor - value 对应的概率密度。
cdf(k)¶
指数分布的累积分布函数。
参数
value (float|Tensor) - 输入值。
数学公式:
\[cdf(x; \theta) = 1 - e^{- \theta x }, (x \ge 0)\]
上面的数学公式中:
\(rate=\theta\):表示率参数。
返回
Tensor: value 对应的累积分布。
icdf(k)¶
指数分布的逆累积分布函数。
参数
value (float|Tensor) - 输入值。
数学公式:
\[icdf(x; \theta) = -\frac{ 1 }{ \theta } ln(1 + x), (x \ge 0)\]
上面的数学公式中:
\(rate=\theta\):表示率参数。
返回
Tensor: value 对应的逆累积分布。
kl_divergence(other)¶
两个指数分布之间的 KL 散度。
参数
other (Geometric) - Exponential 的实例。
返回
Tensor: 两个指数分布之间的 KL 散度。
sample(shape)¶
随机采样,生成指定维度的样本。
参数
shape (Sequence[int], optional) - 采样的样本维度。
返回
Tensor - 指定维度的样本数据。数据类型为 float32。
rsample(shape)¶
重参数化采样,生成指定维度的样本。
参数
shape (Sequence[int], optional) - 重参数化采样的样本维度。
返回
Tensor - 指定维度的样本数据。数据类型为 float32。