d708ee0
committed
Commits
Comments (0)
Files changed (7)

+4 0CHANGELOG.txt

+3 3README.md

+33 0code/H_I_D_A_C/meta_estimators/DJensenRenyi_HRenyi_estimation.m

+38 0code/H_I_D_A_C/meta_estimators/DJensenRenyi_HRenyi_initialization.m

+33 0code/H_I_D_A_C/meta_estimators/DJensenShannon_HShannon_estimation.m

+34 0code/H_I_D_A_C/meta_estimators/DJensenShannon_HShannon_initialization.m

+62 0code/H_I_D_A_C/utilities/mixture_distribution.m
CHANGELOG.txt
 Ignore whitespace
+JensenRenyi divergence estimation: added; see 'DJensenRenyi_HRenyi_initialization.m' and 'DJensenRenyi_HRenyi_estimation.m'.
+JensenShannon divergence estimation: added; see 'DJensenShannon_HShannon_initialization.m' and 'DJensenShannon_HShannon_estimation.m'.
An alternative Jacobi optimization based ICA solution with general entropy/mutual information estimators: added; see 'estimate_ICA.m', 'estimate_ICA_Jacobi2.m'. The method is using a different fining scheme in the rotation angle search compared to 'estimate_ICA_Jacobi1.m'.
README.md
 Ignore whitespace
 `entropy (H)`: Shannon entropy, Rényi entropy, Tsallis entropy (Havrda and Charvát entropy), complex entropy,
 `mutual information (I)`: generalized variance, kernel canonical correlation analysis, kernel generalized variance, HilbertSchmidt independence criterion, Shannon mutual information, L2 mutual information, Rényi mutual information, Tsallis mutual information, copulabased kernel dependency, multivariate version of Hoeffding's Phi, SchweizerWolff's sigma and kappa, complex mutual information, CauchySchwartz quadratic mutual information, Euclidean distance based quadratic mutual information, distance covariance, distance correlation, approximate correntropy independence measure,
 `divergence (D)`: KullbackLeibler divergence (relative entropy), L2 divergence, Rényi divergence, Tsallis divergence, Hellinger distance, Bhattacharyya distance, maximum mean discrepancy (kernel distance, an integral probability metric), Jdistance (symmetrised KullbackLeibler divergence), CauchySchwartz divergence, Euclidean distance based divergence, energy distance (specially the CramerVon Mises distance),
+ `divergence (D)`: KullbackLeibler divergence (relative entropy; I directed divergence), L2 divergence, Rényi divergence, Tsallis divergence, Hellinger distance, Bhattacharyya distance, maximum mean discrepancy (kernel distance, an integral probability metric), Jdistance (symmetrised KullbackLeibler divergence), CauchySchwartz divergence, Euclidean distance based divergence, energy distance (specially the CramerVon Mises distance), JensenShannon divergence, JensenRényi divergence,
 `association measures (A)`, including `measures of concordance`: multivariate extensions of Spearman's rho (Spearman's rank correlation coefficient, grade correlation coefficient), correntropy, centered correntropy, correntropy coefficient, correntropy induced metric, centered correntropy induced metric, multivariate extension of Blomqvist's beta (medial correlation coefficient), multivariate conditional version of Spearman's rho, lower/upper tail dependence via conditional Spearman's rho,
 code: [zip](https://bitbucket.org/szzoli/ite/downloads/ITE0.35_code.zip), [tar.bz2](https://bitbucket.org/szzoli/ite/downloads/ITE0.35_code.tar.bz2),
+ code: [zip](https://bitbucket.org/szzoli/ite/downloads/ITE0.36_code.zip), [tar.bz2](https://bitbucket.org/szzoli/ite/downloads/ITE0.36_code.tar.bz2),
code/H_I_D_A_C/meta_estimators/DJensenRenyi_HRenyi_estimation.m
 Ignore whitespace
+%D_JR(f_1,f_2) = H_{R,alpha}(w1*y^1+w2*y^2)  [w1*H_{R,alpha}(y^1) + w2*H_{R,alpha}(y^2)], where y^i has density f_i (i=1,2), w1*y^1+w2*y^2 is the mixture distribution of y^1 and y^2 with w1,w2 positive weights, and H_{R,alpha} denotes the Renyi entropy.
+% 1)We use the naming convention 'D<name>_estimation' to ease embedding new divergence estimation methods.
+% A.B. Hamza and H. Krim. JensenRenyi divergence measure: theoretical and computational perspectives. In IEEE International Symposium on Information Theory (ISIT), page 257, 2003.
+%Copyright (C) 2012 Zoltan Szabo ("http://nipg.inf.elte.hu/szzoli", "szzoli (at) cs (dot) elte (dot) hu")
+%ITE is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by
+%the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+%This software is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+%MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+%You should have received a copy of the GNU General Public License along with ITE. If not, see <http://www.gnu.org/licenses/>.
code/H_I_D_A_C/meta_estimators/DJensenRenyi_HRenyi_initialization.m
 Ignore whitespace
+%D_JR(f_1,f_2) = H_{R,alpha}(w1*y^1+w2*y^2)  [w1*H_{R,alpha}(y^1) + w2*H_{R,alpha}(y^2)], where y^i has density f_i (i=1,2), w1*y^1+w2*y^2 is the mixture distribution of y^1 and y^2 with w1,w2 positive weights, and H_{R,alpha} denotes the Renyi entropy.
+% 2)We use the naming convention 'D<name>_initialization' to ease embedding new divergence estimation methods.
+%Copyright (C) 2012 Zoltan Szabo ("http://nipg.inf.elte.hu/szzoli", "szzoli (at) cs (dot) elte (dot) hu")
+%ITE is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by
+%the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+%This software is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+%MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+%You should have received a copy of the GNU General Public License along with ITE. If not, see <http://www.gnu.org/licenses/>.
code/H_I_D_A_C/meta_estimators/DJensenShannon_HShannon_estimation.m
 Ignore whitespace
+%D_JS(f_1,f_2) = H(w1*y^1+w2*y^2)  [w1*H(y^1) + w2*H(y^2)], where y^i has density f_i (i=1,2), w1*y^1+w2*y^2 is the mixture distribution of y^1 and y^2 with w1,w2 positive weights, and H denotes the Shannon entropy.
+% 1)We use the naming convention 'D<name>_estimation' to ease embedding new divergence estimation methods.
+% Jianhua Lin. Divergence measures based on the Shannon entropy. IEEE Transactions on Information Theory, 37:145151, 1991.
+%Copyright (C) 2012 Zoltan Szabo ("http://nipg.inf.elte.hu/szzoli", "szzoli (at) cs (dot) elte (dot) hu")
+%ITE is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by
+%the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+%This software is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+%MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+%You should have received a copy of the GNU General Public License along with ITE. If not, see <http://www.gnu.org/licenses/>.
code/H_I_D_A_C/meta_estimators/DJensenShannon_HShannon_initialization.m
 Ignore whitespace
+%D_JS(f_1,f_2) = H(w1*y^1+w2*y^2)  [w1*H(y^1) + w2*H(y^2)], where y^i has density f_i (i=1,2), w1*y^1+w2*y^2 is the mixture distribution of y^1 and y^2 with w1,w2 positive weights, and H denotes the Shannon entropy.
+% 2)We use the naming convention 'D<name>_initialization' to ease embedding new divergence estimation methods.
+%Copyright (C) 2012 Zoltan Szabo ("http://nipg.inf.elte.hu/szzoli", "szzoli (at) cs (dot) elte (dot) hu")
+%ITE is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by
+%the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+%This software is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+%MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+%You should have received a copy of the GNU General Public License along with ITE. If not, see <http://www.gnu.org/licenses/>.
code/H_I_D_A_C/utilities/mixture_distribution.m
 Ignore whitespace
+%Sampling from the mixture distribution, where samples from the individual distributions and the mixing weights are given.
+% mixture: samples from the mixture distribution. mixture(:,i) ~ w(1) * p_x1 + ...+ w(M) * p_xM, where p_xm denotes the distribution of Xm (m=1,...,M).
+%Copyright (C) 2012 Zoltan Szabo ("http://nipg.inf.elte.hu/szzoli", "szzoli (at) cs (dot) elte (dot) hu")
+%ITE is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by
+%the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+%This software is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+%MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+%You should have received a copy of the GNU General Public License along with ITE. If not, see <http://www.gnu.org/licenses/>.
+%take the maximal number of samples (T) for which 'T*w1<=T1, ..., T*wM<=TM', then Tm:=floor(T*wm), i.e. compute the trimmed number of samples:
+ mixture(:,cum_Tws(k):cum_Tws(k)+T1) = Xs{k}(:,1:T); %trim the 'irrelevant' part, the result is added to the mixture
+ mixture = mixture(:,randperm(num_of_samples)); %permute the samples to obtain the mixture (the weights have been taken into account in the trimming part)