我不能理解Tensorflow-probability中的Bijectors。如何使用它们。
standard_gumbel = tfd.TransformedDistribution(
distribution=tfd.Exponential(rate=1.),
bijector=tfb.Chain([
tfb.Affine(
scale_identity_multiplier=-1.,
event_ndims=0),
tfb.Invert(tfb.Exp()),
]))发布于 2019-06-05 01:21:55
双射函数以概率密度封装change of variables。
粗略地说,当您(平滑且可逆地)将一个空间映射到另一个空间时,您还可以从初始空间上的概率密度导出到目标空间上的密度的映射。通常,这样的变换将初始空间中的长度/面积/体积(度量)扭曲到目标空间中的不同长度/面积/体积。由于密度包含了体积信息,因此我们需要跟踪这些翘曲,并在计算后一个空间中的概率密度时考虑它们。
通过实现正向和反向变换,以及对数雅可比行列式,双射函数为我们提供了变换随机样本和概率密度所需的所有信息。
https://stackoverflow.com/questions/56425301
复制相似问题