Source code for deep_bottleneck.mi_estimator.bounded

from deep_bottleneck.mi_estimator.base import MutualInformationEstimator
from deep_bottleneck.mi_estimator import kde

[docs]class BoundedMutualInformationEstimator(MutualInformationEstimator): def __init__(self, discretization_range, training_data, test_data, architecture, calculate_mi_for): super().__init__(discretization_range, training_data, test_data, architecture, calculate_mi_for) self.noise_variance = discretization_range # Added Gaussian noise variance. def _estimate_entropy(self, data): return self._K_estimate_entropy([data])[0] def _estimate_conditional_entropy(self, data): return kde.kde_condentropy(data, self.noise_variance)