@@ -577,10 +577,10 @@ Unbalanced optimal transport
577
577
578
578
Unbalanced OT is a relaxation of the entropy regularized OT problem where the violation of
579
579
the 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 ]_ :
581
581
582
582
.. 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)
584
584
585
585
s.t. \quad \gamma\geq 0
586
586
@@ -596,26 +596,55 @@ that return respectively the OT matrix and the value of the
596
596
linear term. Note that the regularization parameter :math: `\alpha ` in the
597
597
equation above is given to those functions with the parameter :code: `reg_m `.
598
598
599
- Similarly, Unbalanced OT barycenters can be computed using :any: `ot.barycenter_unbalanced `.
600
599
601
600
.. 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 `.
603
602
This function is a wrapper and the parameter :code: `method ` help you select
604
603
the actual algorithm used to solve the problem:
605
604
606
605
+ :code: `method='sinkhorn' ` calls :any: `ot.unbalanced.sinkhorn_knopp_unbalanced `
607
- the generalized Sinkhorn algorithm [10 ]_.
606
+ the generalized Sinkhorn algorithm [25 ]_ [ 10 ]_.
608
607
+ :code: `method='sinkhorn_stabilized' ` calls :any: `ot.unbalanced.sinkhorn_stabilized_unbalanced `
609
608
the log stabilized version of the algorithm [10 ]_.
610
609
611
610
612
611
.. hint ::
613
612
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 :
616
614
617
615
- :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 `
619
648
620
649
621
650
Gromov-Wasserstein
@@ -890,3 +919,7 @@ References
890
919
(2019). `Optimal Transport for structured data with application on
891
920
graphs <http://proceedings.mlr.press/v97/titouan19a.html> `__ Proceedings
892
921
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