Gamma

class paddle.distribution. Gamma ( concentration, rate )

伽马分布

伽马分布的概率密度满足一下公式:

\[ \begin{align}\begin{aligned}f(x; \alpha, \beta, x > 0) = \frac{\beta^{\alpha}}{\Gamma(\alpha)} x^{\alpha-1}e^{-\beta x}\\\Gamma(\alpha)=\int_{0}^{\infty} x^{\alpha-1} e^{-x} \mathrm{~d} x, (\alpha>0)\end{aligned}\end{align} \]

上面数学公式中:

\(concentration=\alpha\):表示集中参数。

\(rate=\beta\):表示率参数。

参数

  • concentration (float|Tensor) - 率参数,该值必须大于零。支持 Broadcast 语义。当参数类型为 Tensor 时,表示批量创建多个不同参数的分布,batch_shape (参考 Distribution 基类) 为参数。

  • rate (float|Tensor) - 率参数,该值必须大于零。支持 Broadcast 语义。当参数类型为 Tensor 时,表示批量创建多个不同参数的分布,batch_shape (参考 Distribution 基类) 为参数。

代码示例

COPY-FROM: paddle.distribution.Gamma

属性

mean

伽马分布的均值。

variance

伽马分布的方差。

方法

prob(value)

伽马分布的概率密度函数。

参数

  • value (float|Tensor) - 输入值。

返回

  • Tensor - value 对应的概率密度。

log_prob(value)

伽马分布的对数概率密度函数。

参数

  • value (float|Tensor) - 输入值。

返回

  • Tensor - value 对应的对数概率密度。

entropy()

伽马分布的信息熵。

返回

  • Tensor: 信息熵。

kl_divergence(other)

两个伽马分布之间的 KL 散度。

参数

  • other (Geometric) - Gamma 的实例。

返回

  • Tensor: 两个伽马分布之间的 KL 散度。

sample(shape=[])

随机采样,生成指定维度的样本。

参数

  • shape (Sequence[int],可选) - 采样的样本维度。

返回

  • Tensor - 指定维度的样本数据。数据类型为 float32。

rsample(shape=[])

重参数化采样,生成指定维度的样本。

参数

  • shape (Sequence[int],可选) - 重参数化采样的样本维度。

返回

  • Tensor - 指定维度的样本数据。数据类型为 float32。