ot.factored
分解OT求解器(低秩,成本或OT计划)
函数
- ot.factored.factored_optimal_transport(Xa, Xb, a=None, b=None, reg=0.0, r=100, X0=None, stopThr=1e-07, numItermax=100, verbose=False, log=False, **kwargs)[源]
解决分解的OT问题并返回OT计划和中间分配
此函数解决以下OT问题 [40]_
\[\mathop{\arg \min}_\mu \quad W_2^2(\mu_a,\mu)+ W_2^2(\mu,\mu_b)\]其中 :
\(\mu_a\) 和 \(\mu_b\) 是经验分布。
\(\mu\) 是一个具有 r 个样本的经验分布
并返回两个OT计划之间
注意
此函数与后端兼容,可用于所有兼容后端的数组。但该算法使用C++ CPU后端,这可能导致在GPU数组上产生复制开销。
使用条件梯度算法来解决在 [39]中提出的问题。
- Parameters:
- Returns:
Ga (数组类型,形状为 (ns, r)) – 源与中间分布之间的最优运输矩阵
Gb (数组类型,形状为 (r, nt)) – 中间与目标分布之间的最优运输矩阵
X (数组类型,形状为 (r, d)) – 中间分布的支持
log (字典,可选) – 如果输入日志为真,则返回包含成本和对偶变量及退出状态的字典
参考文献
另请参见
ot.bregman.sinkhorn熵正则化最优传输
ot.optim.cg通用正则化OT
- ot.factored.factored_optimal_transport(Xa, Xb, a=None, b=None, reg=0.0, r=100, X0=None, stopThr=1e-07, numItermax=100, verbose=False, log=False, **kwargs)[源]
解决分解的OT问题并返回OT计划和中间分配
此函数解决以下OT问题 [40]_
\[\mathop{\arg \min}_\mu \quad W_2^2(\mu_a,\mu)+ W_2^2(\mu,\mu_b)\]其中 :
\(\mu_a\) 和 \(\mu_b\) 是经验分布。
\(\mu\) 是一个具有 r 个样本的经验分布
并返回两个OT计划之间
注意
此函数与后端兼容,可用于所有兼容后端的数组。但该算法使用C++ CPU后端,这可能导致在GPU数组上产生复制开销。
使用条件梯度算法来解决在 [39]中提出的问题。
- Parameters:
- Returns:
Ga (数组类型,形状为 (ns, r)) – 源与中间分布之间的最优运输矩阵
Gb (数组类型,形状为 (r, nt)) – 中间与目标分布之间的最优运输矩阵
X (数组类型,形状为 (r, d)) – 中间分布的支持
log (字典,可选) – 如果输入日志为真,则返回包含成本和对偶变量及退出状态的字典
参考文献
[40] Forrow, A., Hütter, J. C., Nitzan, M., Rigollet, P., Schiebinger, G., & Weed, J. (2019年4月). 通过分解耦合进行统计最优传输. 在第22届国际人工智能与统计会议上 (pp. 2454-2465). PMLR.
另请参见
ot.bregman.sinkhorn熵正则化最优传输
ot.optim.cg通用正则化OT