pymc.FullRank#
- class pymc.FullRank(*args, **kwargs)[源代码]#
单组满秩近似
全秩近似于后验分布,其中多元高斯族被拟合以最小化与真实后验的KL散度。与MeanField方法相比,考虑了变量之间的相关性。该方法的主要缺点是计算成本。
方法
FullRank.__init__
(*args, **kwargs)FullRank.collect
(item)Dev - 对 logP 的优化。
Dev - 根据样本大小和确定性标志创建正确的替换
FullRank.rslice
(name)Dev - 为命名随机变量进行矢量化采样,无需调用 pytensor.scan。
FullRank.sample
([draws, random_seed, ...])从变分后验中抽取样本。
FullRank.sample_node
(node[, size, ...])给定的节点或节点在共享的后验分布上采样
FullRank.set_size_and_deterministic
(node, s, d)Dev - 在通过
symbolic_sample_over_posterior()
或symbolic_single_sample()
对节点进行采样后,可以分配并应用新的随机生成器到节点Dev - 每次从后验分布中独立采样,对节点进行采样。
FullRank.symbolic_single_sample
(node[, ...])Dev - 从后验分布中对节点应用单个样本进行采样。
FullRank.to_flat_input
(node[, more_replacements])Dev - 用存储在 self.inputs 中的扁平视图替换变量
属性
all_histograms
any_histograms
datalogp
Dev - 通过 pytensor.scan 计算模型中的 \(E_{q}(data term)\),该计算可以在之后进行优化
datalogp_norm
开发 - 标准化 \(E_{q}(数据项)\)
ddim
has_logq
inputs
joint_histogram
logp
开发 - 通过 pytensor.scan 从模型中计算 \(E_{q}(logP)\),该计算可以在之后进行优化
logp_norm
Dev - 归一化的 \(E_{q}(logP)\)
logq
开发 - 收集所有组的 logQ
logq_norm
开发 - 收集所有组的 logQ 并对其进行归一化
ndim
params
replacements
Dev - 从组中替换 PyMC 随机变量为近似的所有替换
sample_dict_fn
scale_cost_to_minibatch
Dev - 控制缩放成本到小批量的属性
single_symbolic_datalogp
开发 - 对于单个 MC 样本估计 \(E_{q}(数据项)\),不需要 pytensor.scan,代码可以优化
single_symbolic_logp
Dev - 对于单个MC样本估计 \(E_{q}(logP)\),不需要 pytensor.scan,代码可以优化
single_symbolic_varlogp
Dev - 对于单个MC样本估计 \(E_{q}(prior term)\) ,不需要使用 pytensor.scan ,代码可以优化
sized_symbolic_datalogp
Dev - 通过 pytensor.scan 从模型中计算采样数据项
sized_symbolic_logp
Dev - 通过 pytensor.scan 从模型计算采样的 logP
sized_symbolic_varlogp
Dev - 通过 pytensor.scan 计算模型中的采样先验项
symbolic_logq
开发 - 收集所有组的 symbolic_logq
symbolic_normalizing_constant
Dev - 用于 self.logq 的归一化常数,将其缩放到 minibatch_size 而不是 total_size。
symbolic_random
symbolic_randoms
varlogp
Dev - 通过 pytensor.scan 计算模型中的 \(E_{q}(prior term)\),该计算可以在之后进行优化
varlogp_norm
Dev - 标准化 \(E_{q}(prior term)\)