Laplace

class paddle.distribution. Laplace ( loc, scale ) [源代码]

拉普拉斯分布

数学公式:

pdf(x;μ,σ)=12σe|xμ|σ

上面的数学公式中:

loc=μ:拉普拉斯分布位置参数。

scale=σ:拉普拉斯分布尺度参数。

参数

  • loc (int|float|Tensor) - 拉普拉斯分布位置参数。数据类型为 int、float 或 Tensor。

  • scale (int|float|Tensor) - 拉普拉斯分布尺度参数。数据类型为 int、float 或 Tensor。

代码示例

>>> import paddle
>>> paddle.seed(2023)
>>> m = paddle.distribution.Laplace(paddle.to_tensor(0.0), paddle.to_tensor(1.0))
>>> m.sample()  # Laplace distributed with loc=0, scale=1
Tensor(shape=[], dtype=float32, place=Place(cpu), stop_gradient=True,
    1.31554604)

属性

mean

均值

variance

方差

数学公式:

variance=2σ2

上面的数学公式中:

scale=σ:拉普拉斯分布尺度参数。

stddev

标准差

数学公式:

stddev=2σ

上面的数学公式中:

scale=σ:拉普拉斯分布尺度参数。

方法

cdf(value)

累积分布函数

参数

  • value (Tensor) - 输入 Tensor。

数学公式:

cdf(value)=0.50.5sign(valueμ)e|(μσ)|σ

上面的数学公式中:

loc=μ:拉普拉斯分布位置参数。

scale=σ:拉普拉斯分布尺度参数。

返回

  • Tensor: value 对应 Laplace 累积分布函数下的值。

icdf(value)

逆累积分布函数

参数

  • value (Tensor) - 输入 Tensor。

数学公式:

cdf1(value)=μσsign(value0.5)ln(12|value0.5|)

上面的数学公式中:

loc=μ:拉普拉斯分布位置参数。

scale=σ:拉普拉斯分布尺度参数。

返回

  • Tensor: value 对应 Laplace 逆累积分布函数下的值。

sample(shape)

生成指定维度的样本。

参数

  • shape (tuple[int]) - 1 维元组,指定生成样本的维度,默认为()。

返回

  • Tensor: 预先设计好维度的样本数据。

rsample(shape)

生成指定维度的样本(重参数采样)。

参数

  • shape (tuple[int]) - 1 维元组,指定生成样本的维度,默认为()。

返回

  • Tensor: 预先设计好维度的样本数据。

entropy()

信息熵

数学公式:

entropy()=1+log(2σ)

上面的数学公式中:

scale=σ:拉普拉斯分布尺度参数.

返回

  • Tensor: Laplace 分布的信息熵。

log_prob(value)

对数概率密度函数

参数

  • value (Tensor|Scalar) - 待计算值。

数学公式:

log_prob(value)=log(2σ)|valueμ|σ

上面的数学公式中:

loc=μ:拉普拉斯分布位置参数。

scale=σ:拉普拉斯分布尺度参数.

返回

  • Tensor: value 的对数概率。

prob(value)

概率密度函数

参数

  • value (Tensor|Scalar) - 待计算值。

数学公式:

prob(value)=elog(2σ)|valueμ|σ

上面的数学公式中:

loc=μ:拉普拉斯分布位置参数。

scale=σ:拉普拉斯分布尺度参数.

返回

  • Tensor: value 的概率。

kl_divergence(other)

两个 Laplace 分布之间的 KL 散度。

参数

  • other (Laplace) - Laplace 的实例。

数学公式:

KL_divergence(μ0,σ0;μ1,σ1)=0.5(ratio2+(diffσ1)212lnratio)
ratio=σ0σ1
diff=μ1μ0

上面的数学公式中:

loc=μ0:当前拉普拉斯分布的位置参数。

scale=σ0:当前拉普拉斯分布的尺度参数。

loc=μ1:另一个拉普拉斯分布的位置参数。

scale=σ1:另一个拉普拉斯分布的尺度参数.

ratio:两个尺度参数之间的比例。

diff:两个位置参数之间的差值。

返回

  • Tensor: 两个拉普拉斯分布之间的 KL 散度。