diff options
author | Rémi Flamary <remi.flamary@gmail.com> | 2017-08-30 17:01:01 +0200 |
---|---|---|
committer | Rémi Flamary <remi.flamary@gmail.com> | 2017-08-30 17:01:01 +0200 |
commit | dc8737a30cb6d9f1305173eb8d16fe6716fd1231 (patch) | |
tree | 1f03384de2af88ed07a1e850e0871db826ed53e7 /docs/source/auto_examples/plot_optim_OTreg.rst | |
parent | c2a7a1f3ab4ba5c4f5adeca0fa22d8d6b4fc079d (diff) |
wroking make!
Diffstat (limited to 'docs/source/auto_examples/plot_optim_OTreg.rst')
-rw-r--r-- | docs/source/auto_examples/plot_optim_OTreg.rst | 76 |
1 files changed, 47 insertions, 29 deletions
diff --git a/docs/source/auto_examples/plot_optim_OTreg.rst b/docs/source/auto_examples/plot_optim_OTreg.rst index 70cd26c..f417158 100644 --- a/docs/source/auto_examples/plot_optim_OTreg.rst +++ b/docs/source/auto_examples/plot_optim_OTreg.rst @@ -503,67 +503,85 @@ Regularized OT with generic solver import ot - #%% parameters - n=100 # nb bins + n = 100 # nb bins # bin positions - x=np.arange(n,dtype=np.float64) + x = np.arange(n, dtype=np.float64) # Gaussian distributions - a=ot.datasets.get_1D_gauss(n,m=20,s=5) # m= mean, s= std - b=ot.datasets.get_1D_gauss(n,m=60,s=10) + a = ot.datasets.get_1D_gauss(n, m=20, s=5) # m= mean, s= std + b = ot.datasets.get_1D_gauss(n, m=60, s=10) # loss matrix - M=ot.dist(x.reshape((n,1)),x.reshape((n,1))) - M/=M.max() + M = ot.dist(x.reshape((n, 1)), x.reshape((n, 1))) + M /= M.max() #%% EMD - G0=ot.emd(a,b,M) + G0 = ot.emd(a, b, M) - pl.figure(3) - ot.plot.plot1D_mat(a,b,G0,'OT matrix G0') + pl.figure(3, figsize=(5, 5)) + ot.plot.plot1D_mat(a, b, G0, 'OT matrix G0') #%% Example with Frobenius norm regularization - def f(G): return 0.5*np.sum(G**2) - def df(G): return G - reg=1e-1 + def f(G): + return 0.5 * np.sum(G**2) + + + def df(G): + return G - Gl2=ot.optim.cg(a,b,M,reg,f,df,verbose=True) + + reg = 1e-1 + + Gl2 = ot.optim.cg(a, b, M, reg, f, df, verbose=True) pl.figure(3) - ot.plot.plot1D_mat(a,b,Gl2,'OT matrix Frob. reg') + ot.plot.plot1D_mat(a, b, Gl2, 'OT matrix Frob. reg') #%% Example with entropic regularization - def f(G): return np.sum(G*np.log(G)) - def df(G): return np.log(G)+1 - reg=1e-3 + def f(G): + return np.sum(G * np.log(G)) + + + def df(G): + return np.log(G) + 1. - Ge=ot.optim.cg(a,b,M,reg,f,df,verbose=True) - pl.figure(4) - ot.plot.plot1D_mat(a,b,Ge,'OT matrix Entrop. reg') + reg = 1e-3 + + Ge = ot.optim.cg(a, b, M, reg, f, df, verbose=True) + + pl.figure(4, figsize=(5, 5)) + ot.plot.plot1D_mat(a, b, Ge, 'OT matrix Entrop. reg') #%% Example with Frobenius norm + entropic regularization with gcg - def f(G): return 0.5*np.sum(G**2) - def df(G): return G - reg1=1e-3 - reg2=1e-1 + def f(G): + return 0.5 * np.sum(G**2) + + + def df(G): + return G - Gel2=ot.optim.gcg(a,b,M,reg1,reg2,f,df,verbose=True) - pl.figure(5) - ot.plot.plot1D_mat(a,b,Gel2,'OT entropic + matrix Frob. reg') + reg1 = 1e-3 + reg2 = 1e-1 + + Gel2 = ot.optim.gcg(a, b, M, reg1, reg2, f, df, verbose=True) + + pl.figure(5, figsize=(5, 5)) + ot.plot.plot1D_mat(a, b, Gel2, 'OT entropic + matrix Frob. reg') pl.show() -**Total running time of the script:** ( 0 minutes 2.319 seconds) + +**Total running time of the script:** ( 0 minutes 2.720 seconds) |