pymc.MeanField#

class pymc.MeanField(*args, **kwargs)[源代码]#

单组平均场近似

后验的平均场近似,其中球形高斯族被拟合以最小化与真实后验的KL散度。假设潜在空间变量是不相关的,这是该方法的主要缺点。

方法

MeanField.__init__(*args, **kwargs)

MeanField.collect(item)

MeanField.get_optimization_replacements(s, d)

Dev - 对 logP 的优化。

MeanField.make_size_and_deterministic_replacements(s, d)

Dev - 根据样本大小和确定性标志创建正确的替换

MeanField.rslice(name)

Dev - 为命名随机变量进行矢量化采样,无需调用 pytensor.scan

MeanField.sample([draws, random_seed, ...])

从变分后验中抽取样本。

MeanField.sample_node(node[, size, ...])

给定的节点或节点在共享的后验分布上采样

MeanField.set_size_and_deterministic(node, s, d)

Dev - 在通过 symbolic_sample_over_posterior()symbolic_single_sample() 对节点进行采样后,可以分配并应用新的随机生成器到节点

MeanField.symbolic_sample_over_posterior(node)

Dev - 每次从后验分布中独立采样,对节点进行采样。

MeanField.symbolic_single_sample(node[, ...])

Dev - 从后验分布中对节点应用单个样本进行采样。

MeanField.to_flat_input(node[, ...])

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)\)