【问题标题】:What is Bijectors in layman terms in tensorflow probability张量流概率中外行术语中的双射器是什么
【发布时间】:2019-06-03 10:19:09
【问题描述】:

我无法理解 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()),
]))

【问题讨论】:

    标签: tensorflow-probability


    【解决方案1】:

    Bijectors 封装change of variables 以获得概率密度。

    粗略地说,当您(平滑且可逆地)将一个空间映射到另一个空间时,您还会从初始空间上的概率密度到目标空间上的密度导出一个映射。一般来说,这种变换会将初始空间中的长度/面积/体积(度量)扭曲到目标空间中的不同长度/面积/体积。由于密度包含体积信息,我们需要跟踪这些扭曲并在计算后一个空间中的概率密度时考虑它们。

    通过实现正向和逆变换以及对数雅可比行列式,双射器为我们提供了转换随机样本和概率密度所需的所有信息。

    【讨论】:

    • @Chis 感谢您的直观回复。所以还有一个疑问,将一种分布转换为另一种分布的基本应用是什么?很少有例子会起作用
    • @AyushmanGupta 通常当参数受到约束(例如,标准偏差必须为正)但您想使用适用于无约束空间的方法(例如 HMC)来估计参数时,您可以使用双射器转换为不受约束的空间,然后在完成后返回受约束的空间
    • 回复晚了,不知道有没有找到答案。基本上,您可以使用双射器来创建归一化流模型,这些模型是显式学习数据概率分布的生成模型。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-13
    • 1970-01-01
    • 1970-01-01
    • 2023-03-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多