我无法理解 Tensorflow 概率中的双射器。 如何使用它们。
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()),
]))
最佳答案
双射器封装了 change of variables对于概率密度。
粗略地说,当您(平滑地和可逆地)将一个空间映射到另一个空间时,您还推导了从初始空间上的概率密度到目标空间上的密度的映射。通常,此类变换将初始空间中的长度/面积/体积(度量)扭曲为目标空间中的不同长度/面积/体积。由于密度包含体积信息,我们需要跟踪这些扭曲,并在计算后一个空间的概率密度时考虑到它们。
通过实现正向和反向变换以及对数雅可比行列式,双射函数为我们提供了变换随机样本和概率密度所需的所有信息。
关于tensorflow-probability - tensorflow 概率中外行术语中的双射是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56425301/