jax.random.dirichlet#

jax.random.dirichlet(key, alpha, shape=None, dtype=None)[源]#

使用给定的形状和浮点数类型(dtype)采样 Dirichlet 随机值。

这些值根据概率密度函数分布

\[f(\{x_i\}; \{\alpha_i\}) \propto \prod_{i=1}^k x_i^{\alpha_i - 1}\]

其中 \(k\) 是维度,并且 \(\{x_i\}\) 满足

\[\sum_{i=1}^k x_i = 1\]

且对于所有 \(x_i\) 均有 \(0 \le x_i \le 1\)

参数:
  • key (ArrayLike) – 用作随机密钥的 PRNG 密钥。

  • alpha (RealArray) – 一个形状为 (..., n) 的数组,用作随机变量的浓度参数。

  • shape (Shape | None) – 可选,一个非负整数的元组,指定结果的批处理形状(batch shape);即,结果形状的前缀,排除了最后一个值为 n 的元素。必须与 alpha.shape[:-1] 兼容(广播兼容)。默认值(None)产生一个形状等于 alpha.shape 的结果。

  • dtype (DTypeLikeFloat | None) – 可选,返回值的浮点数 dtype(如果 jax_enable_x64 为 true,则默认为 float64,否则为 float32)。

返回:

一个具有指定数据类型(dtype)和形状的随机数组,如果 shape 不是 None,则形状为 shape + (alpha.shape[-1],),否则为 alpha.shape

返回类型:

Array