ot.gmm

高斯混合的最优传输

函数

ot.gmm.dist_bures_squared(m_s, m_t, C_s, C_t)[源]

计算两个高斯混合模型(GMMs)之间组成部分的平方Bures距离的矩阵。用于计算GMM最优传输距离 [69]。

Parameters:
  • m_s (数组类型, 形状 (k_s, d)) – 源GMM的均值向量。

  • m_t (类数组, 形状 (k_t, d)) – 目标GMM的均值向量。

  • C_s (类数组, 形状 (k_s, d, d)) – 源GMM的协方差矩阵。

  • C_t (类数组, 形状 (k_t, d, d)) – 目标GMM的协方差矩阵。

Returns:

dist – 源GMM和目标GMM组件之间的平方Bures距离矩阵。

Return type:

类似数组,形状为 (k_s, k_t)

参考文献

ot.gmm.gaussian_pdf(x, m, C)[源]

计算多元高斯分布的概率密度函数。

Parameters:
  • x (类似数组, 形状 (..., d)) – 输入样本。

  • m (类数组, 形状 (d,)) – 高斯分布的均值向量。

  • C (类数组, 形状 (d, d)) – 高斯分布的协方差矩阵。

Returns:

pdf – 在每个样本处评估的概率密度函数。

Return type:

类似数组,形状 (…)

ot.gmm.gmm_ot_apply_map(x, m_s, m_t, C_s, C_t, w_s, w_t, plan=None, method='bary', seed=None)[源]

应用高斯混合模型 (GMM) 最优传输 (OT) 映射到输入数据。‘重心’映射对应于 GMM-OT 计划的重心投影,被称为 T_bary 在 [69] 中。‘随机’映射为每个输入点选择一对 GMM 的成分 (i,j) 的随机组合并应用高斯映射,它被称为 T_rand 在 [69] 中。

Parameters:
  • x (类数组, 形状 (样本数, 特征数)) – 输入数据点。

  • m_s (类似数组, 形状 (k_s, d)) – 源GMM组件的均值向量。

  • m_t (类数组, 形状 (k_t, d)) – 目标GMM组件的均值向量。

  • C_s (阵列像, 形状 (k_s, d, d)) – 源GMM组件的协方差矩阵。

  • C_t (类数组, 形状 (k_t, d, d)) – 目标 GMM 组件的协方差矩阵。

  • w_s (类数组, 形状 (k_s,)) – 源GMM成分的权重。

  • w_t (类数组, 形状 (k_t,)) – 目标GMM组件的权重。

  • plan (array-like, shape (k_s, k_t), optional) – 源和目标 GMM 组件之间的最优运输计划。如果未提供,将在内部计算。

  • 方法 ({'bary', 'rand'}, 可选) – 用于应用 GMM OT 映射的方法。‘bary’ 使用重心映射,而 ‘rand’ 使用随机抽样。默认值为 ‘bary’。

  • seed (int, 可选) – 随机数生成器的种子。仅在method='rand'时使用。

Returns:

out – 应用 GMM OT 映射后的输出数据点。

Return type:

类数组,形状 (n_samples, d)

参考文献

使用 ot.gmm.gmm_ot_apply_map 的示例

GMM计划1D

GMM 计划 1D
ot.gmm.gmm_ot_loss(m_s, m_t, C_s, C_t, w_s, w_t, log=False)[源]

计算在[69]中引入的两个高斯混合模型(GMM)之间的最优传输距离。

Parameters:
  • m_s (数组类型, 形状 (k_s, d)) – 源GMM的均值向量。

  • m_t (类数组, 形状 (k_t, d)) – 目标GMM的均值向量。

  • C_s (类数组, 形状 (k_s, d, d)) – 源GMM的协方差矩阵。

  • C_t (类数组, 形状 (k_t, d, d)) – 目标GMM的协方差矩阵。

  • w_s (类数组, 形状 (k_s,)) – 源GMM成分的权重。

  • w_t (类数组, 形状 (k_t,)) – 目标GMM组件的权重。

  • log (bool, 可选 (默认=False)) – 如果为True,返回一个包含成本和对偶变量的字典。 否则仅返回GMM最优运输成本。

Returns:

  • loss (浮动或类似数组) – GMM-OT 损失。

  • log (字典,可选) – 如果输入日志为真,将包含成本和对偶变量以及退出状态的字典

参考文献

使用 ot.gmm.gmm_ot_loss 的示例

GMM流程

GMM流程
ot.gmm.gmm_ot_plan(m_s, m_t, C_s, C_t, w_s, w_t, log=False)[源]

计算两个在[69]中介绍的高斯混合模型(GMM)之间的最优传输计划。

Parameters:
  • m_s (数组类型, 形状 (k_s, d)) – 源GMM的均值向量。

  • m_t (类数组, 形状 (k_t, d)) – 目标GMM的均值向量。

  • C_s (类数组, 形状 (k_s, d, d)) – 源GMM的协方差矩阵。

  • C_t (类数组, 形状 (k_t, d, d)) – 目标GMM的协方差矩阵。

  • w_s (类数组, 形状 (k_s,)) – 源GMM成分的权重。

  • w_t (类数组, 形状 (k_t,)) – 目标GMM组件的权重。

  • log (bool, 可选的 (默认=False)) – 如果为真,返回一个包含成本和对偶变量的字典。 否则仅返回GMM最优运输矩阵。

Returns:

  • plan (数组类型,形状 (k_s, k_t)) – GMM-OT 计划。

  • log (字典,可选) – 如果输入日志为真,返回一个包含成本、对偶变量和退出状态的字典

参考文献

ot.gmm.gmm_ot_plan_density(x, y, m_s, m_t, C_s, C_t, w_s, w_t, plan=None, atol=0.01)[源]

计算高斯混合模型的密度 - 在给定点之间的最优传输耦合,如[69]中所介绍的。给定两个点数组 x 和 y,函数计算在产品空间中每个点 (x[i], y[i]) 的密度。

Parameters:
  • x (数组类似, 形状 (n, d)) – 源空间中用于密度计算的入口点。

  • y (类似数组, 形状 (m, d)) – 用于密度计算的目标空间中的入口点。

  • m_s (数组类型, 形状 (k_s, d)) – 源 GMM 组件的均值。

  • m_t (类数组, 形状 (k_t, d)) – 目标 GMM 组件的均值。

  • C_s (类数组, 形状 (k_s, d, d)) – 源GMM组件的协方差矩阵。

  • C_t (类似数组, 形状 (k_t, d, d)) – 目标GMM组件的协方差矩阵。

  • w_s (类似数组, 形状 (k_s,)) – 源GMM组件的权重。

  • w_t (类似数组, 形状 (k_t,)) – 目标 GMM 组件的权重。

  • 计划 (类数组, 形状 (k_s, k_t), 可选) – 源和目标 GMM 之间的最优运输计划。 如果未提供,将使用 gmm_ot_plan 进行计算。

  • atol (float, 可选) – 用于确定GMM-OT耦合支持的绝对容忍度。

Returns:

density – 两个GMM之间的GMM-OT耦合的密度。

Return type:

类数组,形状 (n, m)

参考文献

使用 ot.gmm.gmm_ot_plan_density 的示例

GMM计划1D

GMM 计划 1D
ot.gmm.gmm_pdf(x, m, C, w)[源]

计算给定点的高斯混合模型 (GMM) 的概率密度函数 (PDF)。

Parameters:
  • x (类似数组, 形状 (..., d)) – 输入样本。

  • m (类数组, 形状 (n_components, d)) – 高斯成分的均值。

  • C (类似数组, 形状 (n_components, d, d)) – 高斯成分的协方差矩阵。

  • w (array-like, shape (n_components,)) – 高斯分量的权重。

Returns:

out – 在给定点上的PDF值。

Return type:

类似数组,形状 (…)

使用 ot.gmm.gmm_pdf

GMM计划1D

GMM 计划 1D
ot.gmm.dist_bures_squared(m_s, m_t, C_s, C_t)[源]

计算两个高斯混合模型(GMMs)之间组成部分的平方Bures距离的矩阵。用于计算GMM最优传输距离 [69]。

Parameters:
  • m_s (数组类型, 形状 (k_s, d)) – 源GMM的均值向量。

  • m_t (类数组, 形状 (k_t, d)) – 目标GMM的均值向量。

  • C_s (类数组, 形状 (k_s, d, d)) – 源GMM的协方差矩阵。

  • C_t (类数组, 形状 (k_t, d, d)) – 目标GMM的协方差矩阵。

Returns:

dist – 源GMM和目标GMM组件之间的平方Bures距离矩阵。

Return type:

类似数组,形状为 (k_s, k_t)

参考文献

ot.gmm.gaussian_pdf(x, m, C)[源]

计算多元高斯分布的概率密度函数。

Parameters:
  • x (类似数组, 形状 (..., d)) – 输入样本。

  • m (类数组, 形状 (d,)) – 高斯分布的均值向量。

  • C (类数组, 形状 (d, d)) – 高斯分布的协方差矩阵。

Returns:

pdf – 在每个样本处评估的概率密度函数。

Return type:

类似数组,形状 (…)

ot.gmm.gmm_ot_apply_map(x, m_s, m_t, C_s, C_t, w_s, w_t, plan=None, method='bary', seed=None)[源]

应用高斯混合模型 (GMM) 最优传输 (OT) 映射到输入数据。‘重心’映射对应于 GMM-OT 计划的重心投影,被称为 T_bary 在 [69] 中。‘随机’映射为每个输入点选择一对 GMM 的成分 (i,j) 的随机组合并应用高斯映射,它被称为 T_rand 在 [69] 中。

Parameters:
  • x (类数组, 形状 (样本数, 特征数)) – 输入数据点。

  • m_s (类似数组, 形状 (k_s, d)) – 源GMM组件的均值向量。

  • m_t (类数组, 形状 (k_t, d)) – 目标GMM组件的均值向量。

  • C_s (阵列像, 形状 (k_s, d, d)) – 源GMM组件的协方差矩阵。

  • C_t (类数组, 形状 (k_t, d, d)) – 目标 GMM 组件的协方差矩阵。

  • w_s (类数组, 形状 (k_s,)) – 源GMM成分的权重。

  • w_t (类数组, 形状 (k_t,)) – 目标GMM组件的权重。

  • plan (array-like, shape (k_s, k_t), optional) – 源和目标 GMM 组件之间的最优运输计划。如果未提供,将在内部计算。

  • 方法 ({'bary', 'rand'}, 可选) – 用于应用 GMM OT 映射的方法。‘bary’ 使用重心映射,而 ‘rand’ 使用随机抽样。默认值为 ‘bary’。

  • seed (int, 可选) – 随机数生成器的种子。仅在method='rand'时使用。

Returns:

out – 应用 GMM OT 映射后的输出数据点。

Return type:

类数组,形状 (n_samples, d)

参考文献

ot.gmm.gmm_ot_loss(m_s, m_t, C_s, C_t, w_s, w_t, log=False)[源]

计算在[69]中引入的两个高斯混合模型(GMM)之间的最优传输距离。

Parameters:
  • m_s (数组类型, 形状 (k_s, d)) – 源GMM的均值向量。

  • m_t (类数组, 形状 (k_t, d)) – 目标GMM的均值向量。

  • C_s (类数组, 形状 (k_s, d, d)) – 源GMM的协方差矩阵。

  • C_t (类数组, 形状 (k_t, d, d)) – 目标GMM的协方差矩阵。

  • w_s (类数组, 形状 (k_s,)) – 源GMM成分的权重。

  • w_t (类数组, 形状 (k_t,)) – 目标GMM组件的权重。

  • log (bool, 可选 (默认=False)) – 如果为True,返回一个包含成本和对偶变量的字典。 否则仅返回GMM最优运输成本。

Returns:

  • loss (浮动或类似数组) – GMM-OT 损失。

  • log (字典,可选) – 如果输入日志为真,将包含成本和对偶变量以及退出状态的字典

参考文献

ot.gmm.gmm_ot_plan(m_s, m_t, C_s, C_t, w_s, w_t, log=False)[源]

计算两个在[69]中介绍的高斯混合模型(GMM)之间的最优传输计划。

Parameters:
  • m_s (数组类型, 形状 (k_s, d)) – 源GMM的均值向量。

  • m_t (类数组, 形状 (k_t, d)) – 目标GMM的均值向量。

  • C_s (类数组, 形状 (k_s, d, d)) – 源GMM的协方差矩阵。

  • C_t (类数组, 形状 (k_t, d, d)) – 目标GMM的协方差矩阵。

  • w_s (类数组, 形状 (k_s,)) – 源GMM成分的权重。

  • w_t (类数组, 形状 (k_t,)) – 目标GMM组件的权重。

  • log (bool, 可选的 (默认=False)) – 如果为真,返回一个包含成本和对偶变量的字典。 否则仅返回GMM最优运输矩阵。

Returns:

  • plan (数组类型,形状 (k_s, k_t)) – GMM-OT 计划。

  • log (字典,可选) – 如果输入日志为真,返回一个包含成本、对偶变量和退出状态的字典

参考文献

ot.gmm.gmm_ot_plan_density(x, y, m_s, m_t, C_s, C_t, w_s, w_t, plan=None, atol=0.01)[源]

计算高斯混合模型的密度 - 在给定点之间的最优传输耦合,如[69]中所介绍的。给定两个点数组 x 和 y,函数计算在产品空间中每个点 (x[i], y[i]) 的密度。

Parameters:
  • x (数组类似, 形状 (n, d)) – 源空间中用于密度计算的入口点。

  • y (类似数组, 形状 (m, d)) – 用于密度计算的目标空间中的入口点。

  • m_s (数组类型, 形状 (k_s, d)) – 源 GMM 组件的均值。

  • m_t (类数组, 形状 (k_t, d)) – 目标 GMM 组件的均值。

  • C_s (类数组, 形状 (k_s, d, d)) – 源GMM组件的协方差矩阵。

  • C_t (类似数组, 形状 (k_t, d, d)) – 目标GMM组件的协方差矩阵。

  • w_s (类似数组, 形状 (k_s,)) – 源GMM组件的权重。

  • w_t (类似数组, 形状 (k_t,)) – 目标 GMM 组件的权重。

  • 计划 (类数组, 形状 (k_s, k_t), 可选) – 源和目标 GMM 之间的最优运输计划。 如果未提供,将使用 gmm_ot_plan 进行计算。

  • atol (float, 可选) – 用于确定GMM-OT耦合支持的绝对容忍度。

Returns:

density – 两个GMM之间的GMM-OT耦合的密度。

Return type:

类数组,形状 (n, m)

参考文献

ot.gmm.gmm_pdf(x, m, C, w)[源]

计算给定点的高斯混合模型 (GMM) 的概率密度函数 (PDF)。

Parameters:
  • x (类似数组, 形状 (..., d)) – 输入样本。

  • m (类数组, 形状 (n_components, d)) – 高斯成分的均值。

  • C (类似数组, 形状 (n_components, d, d)) – 高斯成分的协方差矩阵。

  • w (array-like, shape (n_components,)) – 高斯分量的权重。

Returns:

out – 在给定点上的PDF值。

Return type:

类似数组,形状 (…)