随机变量¶
随机变量¶
- 属性 RandomVariable(distribution)[源码]¶
基类:
pyro.contrib.randomvariable.random_variable.RVMagicOps
,pyro.contrib.randomvariable.random_variable.RVChainOps
围绕分布的实验性随机变量容器类
表示被解释为随机变量的分布。它允许对分布所代表的随机变量进行简单的算术变换,而不是通过对其应用逐点变换来直接操纵概率密度。为了获得更大的灵活性,请考虑使用 transform 方法。请注意,如果执行不可逆变换(例如 abs(X) 或 X**2),某些功能可能无法正常工作。
可以使用方便的 Distribution.rv 和 RandomVariable.dist 属性在 RandomVariable 和 Distribution 对象之间切换。
支持链式操作或算术运算符重载。
示例用法
# This should be equivalent to an Exponential distribution. RandomVariable(Uniform(0, 1)).log().neg().dist # These two distributions Y1, Y2 should be the same X = Uniform(0, 1).rv Y1 = X.mul(4).pow(0.5).sub(1).abs().neg().dist Y2 = (-abs((4*X)**(0.5) - 1)).dist
- 属性 dist¶
用于公开随机变量底层分布的便捷属性。
- 返回
随机变量底层的 Distribution 对象
- 返回类型
- transform(t: torch.distributions.transforms.Transform)[源码]¶
对随机变量底层的分布执行变换。
- 参数
t (Transform) – 要应用于分布的变换(或变换序列)。在 torch.distributions.transforms 和 pyro.distributions.transforms 中有许多示例,您也可以直接从 Transform 创建子类。
- 返回
变换后的 RandomVariable
- 返回类型