jax.random.dirichlet#

jax.random.dirichlet(key, alpha, shape=None, dtype=<class 'float'>)[source]#

采样具有给定形状和浮点数据类型的狄利克雷随机值。

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

\[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 | None) – 可选,一个非负整数元组,用于指定结果批次形状;即,结果形状的前缀,不包括值为 n 的最后一个元素。必须与 alpha.shape[:-1] 广播兼容。默认值 (None) 生成的结果形状等于 alpha.shape

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

返回:

一个随机数组,其数据类型为指定的 dtype,形状由 shape + (alpha.shape[-1],) 给出(如果 shape 不为 None),否则由 alpha.shape 给出。

返回类型:

Array