summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRémi Flamary <remi.flamary@gmail.com>2018-05-31 13:03:40 +0200
committerRémi Flamary <remi.flamary@gmail.com>2018-05-31 13:03:40 +0200
commited0d4171c6291a15360bdb8a955b0783585da749 (patch)
treebc9e63e628ce3138d3ad8547115559ab7b1496a2
parent10f9b0d1b02c2b5f4c4eeac0c1f803657c89764b (diff)
update readme
-rw-r--r--README.md3
-rw-r--r--examples/plot_OT_1D_smooth.py6
-rw-r--r--ot/smooth.py9
3 files changed, 15 insertions, 3 deletions
diff --git a/README.md b/README.md
index 466c09c..b3068ee 100644
--- a/README.md
+++ b/README.md
@@ -15,6 +15,7 @@ It provides the following solvers:
* OT Network Flow solver for the linear program/ Earth Movers Distance [1].
* Entropic regularization OT solver with Sinkhorn Knopp Algorithm [2] and stabilized version [9][10] with optional GPU implementation (requires cudamat).
+* Smooth optimal transport solvers (dual and semi-dual) for KL and squared L2 regularization [17].
* Non regularized Wasserstein barycenters [16] with LP solver.
* Bregman projections for Wasserstein barycenter [3] and unmixing [4].
* Optimal transport for domain adaptation with group lasso regularization [5]
@@ -213,3 +214,5 @@ You can also post bug reports and feature requests in Github issues. Make sure t
[15] Peyré, G., & Cuturi, M. (2018). [Computational Optimal Transport](https://arxiv.org/pdf/1803.00567.pdf) .
[16] Agueh, M., & Carlier, G. (2011). [Barycenters in the Wasserstein space](https://hal.archives-ouvertes.fr/hal-00637399/document). SIAM Journal on Mathematical Analysis, 43(2), 904-924.
+
+[17] Blondel, M., Seguy, V., & Rolet, A. (2018). [Smooth and Sparse Optimal Transport](https://arxiv.org/abs/1710.06276). Proceedings of the Twenty-First International Conference on Artificial Intelligence and Statistics (AISTATS).
diff --git a/examples/plot_OT_1D_smooth.py b/examples/plot_OT_1D_smooth.py
index 4927617..dec84db 100644
--- a/examples/plot_OT_1D_smooth.py
+++ b/examples/plot_OT_1D_smooth.py
@@ -1,8 +1,8 @@
# -*- coding: utf-8 -*-
"""
-====================
-1D optimal transport
-====================
+===========================
+1D smooth optimal transport
+===========================
This example illustrates the computation of EMD, Sinkhorn and smooth OT plans
and their visualization.
diff --git a/ot/smooth.py b/ot/smooth.py
index 1a9972b..b3649e9 100644
--- a/ot/smooth.py
+++ b/ot/smooth.py
@@ -22,6 +22,7 @@
#OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
#THE POSSIBILITY OF SUCH DAMAGE.
+
# Author: Mathieu Blondel
# Remi Flamary <remi.flamary@unice.fr>
@@ -31,6 +32,13 @@ Smooth and Sparse Optimal Transport.
Mathieu Blondel, Vivien Seguy, Antoine Rolet.
In Proc. of AISTATS 2018.
https://arxiv.org/abs/1710.06276
+
+[17] Blondel, M., Seguy, V., & Rolet, A. (2018). Smooth and Sparse Optimal
+Transport. Proceedings of the Twenty-First International Conference on
+Artificial Intelligence and Statistics (AISTATS).
+
+Original code from https://github.com/mblondel/smooth-ot/
+
"""
import numpy as np
@@ -402,6 +410,7 @@ def get_plan_from_semi_dual(alpha, b, C, regul):
def smooth_ot_dual(a, b, M, reg, reg_type='l2', method="L-BFGS-B", stopThr=1e-9,
numItermax=500, log=False):
+
if reg_type.lower() in ['l2', 'squaredl2']:
regul = SquaredL2(gamma=reg)