@@ -577,10 +577,10 @@ Unbalanced optimal transport
577577
578578Unbalanced OT is a relaxation of the entropy regularized OT problem where the violation of
579579the constraint on the marginals is added to the objective of the optimization
580- problem:
580+ problem. The unbalanced OT metric between two histograms a and b is defined as [ 25 ]_ [ 10 ]_ :
581581
582582.. math ::
583- \min _\gamma \quad \sum _{i,j}\gamma _{i,j}M_{i,j} + reg\cdot\Omega (\gamma ) + \alpha KL(\gamma 1 , a) + \alpha KL(\gamma ^T 1 , b)
583+ W_u(a, b) = \min _\gamma \quad \sum _{i,j}\gamma _{i,j}M_{i,j} + reg\cdot\Omega (\gamma ) + \alpha KL(\gamma 1 , a) + \alpha KL(\gamma ^T 1 , b)
584584
585585 s.t. \quad \gamma\geq 0
586586
@@ -596,26 +596,55 @@ that return respectively the OT matrix and the value of the
596596linear term. Note that the regularization parameter :math: `\alpha ` in the
597597equation above is given to those functions with the parameter :code: `reg_m `.
598598
599- Similarly, Unbalanced OT barycenters can be computed using :any: `ot.barycenter_unbalanced `.
600599
601600.. note ::
602- The main function to solve entropic regularized OT is :any: `ot.sinkhorn_unbalanced `.
601+ The main function to solve entropic regularized UOT is :any: `ot.sinkhorn_unbalanced `.
603602 This function is a wrapper and the parameter :code: `method ` help you select
604603 the actual algorithm used to solve the problem:
605604
606605 + :code: `method='sinkhorn' ` calls :any: `ot.unbalanced.sinkhorn_knopp_unbalanced `
607- the generalized Sinkhorn algorithm [10 ]_.
606+ the generalized Sinkhorn algorithm [25 ]_ [ 10 ]_.
608607 + :code: `method='sinkhorn_stabilized' ` calls :any: `ot.unbalanced.sinkhorn_stabilized_unbalanced `
609608 the log stabilized version of the algorithm [10 ]_.
610609
611610
612611.. hint ::
613612
614- Examples of the use of :any: `ot.sinkhorn_unbalanced ` and
615- :any: `ot.barycenter_unbalanced ` are available in :
613+ Examples of the use of :any: `ot.sinkhorn_unbalanced ` are available in :
616614
617615 - :any: `auto_examples/plot_UOT_1D `
618- - :any: `auto_examples/plot_UOT_barycenter_1D `
616+
617+
618+ Unbalanced Barycenters
619+ ^^^^^^^^^^^^^^^^^^^^^^
620+
621+ As with balanced distributions, we can define a barycenter of a set of
622+ histograms with different masses as a Fréchet Mean:
623+
624+ .. math ::
625+ \min _{\mu } \quad \sum _{k} w_kW_u(\mu ,\mu _k)
626+
627+ Where :math: `W_u` is the unbalanced Wasserstein metric defined above. This problem
628+ can also be solved using generalized version of Sinkhorn's algorithm and it is
629+ implemented the main function :any: `ot.barycenter_unbalanced `.
630+
631+
632+ .. note ::
633+ The main function to compute UOT barycenters is :any: `ot.barycenter_unbalanced `.
634+ This function is a wrapper and the parameter :code: `method ` help you select
635+ the actual algorithm used to solve the problem:
636+
637+ + :code: `method='sinkhorn' ` calls :any: `ot.unbalanced.barycenter_unbalanced_sinkhorn_unbalanced `
638+ the generalized Sinkhorn algorithm [10 ]_.
639+ + :code: `method='sinkhorn_stabilized' ` calls :any: `ot.unbalanced.barycenter_unbalanced_stabilized `
640+ the log stabilized version of the algorithm [10 ]_.
641+
642+
643+ .. hint ::
644+
645+ Examples of the use of :any: `ot.barycenter_unbalanced ` are available in :
646+
647+ - :any: `auto_examples/plot_UOT_barycenter_1D `
619648
620649
621650Gromov-Wasserstein
@@ -890,3 +919,7 @@ References
890919 (2019). `Optimal Transport for structured data with application on
891920 graphs <http://proceedings.mlr.press/v97/titouan19a.html> `__ Proceedings
892921 of the 36th International Conference on Machine Learning (ICML).
922+
923+ .. [25 ] Frogner C., Zhang C., Mobahi H., Araya-Polo M., Poggio T. :
924+ Learning with a Wasserstein Loss, Advances in Neural Information
925+ Processing Systems (NIPS) 2015
0 commit comments