# Information bottleneck method

The information bottleneck method is a technique in information theory introduced by Naftali Tishby et al.[1] for finding the best tradeoff between accuracy and complexity (compression) when summarizing (e.g. clustering) a random variable X, given a joint probability distribution between X and an observed relevant variable Y. Other applications include distributional clustering, and dimension reduction. In a well defined sense it generalized the classical notion of minimal sufficient statistics from parametric statistics to arbitrary distributions, not necessarily of exponential form. It does so by relaxing the sufficiency condition to capture some fraction of the mutual information with the relevant variable Y.

The compressed variable is $T\,$ and the algorithm minimizes the following quantity

$\min_{p(t|x)} \,\, I(X;T) - \beta I(T;Y)$

where $I(X;T)\,\,I(T;Y)$ are the mutual information between $X;T \,$ and $T;Y \,$ respectively, and $\beta$ is a Lagrange multiplier.

## Gaussian information bottleneck

A relatively simple application of the information bottleneck is to Gaussian variates and this has some semblance to a least squares reduced rank or canonical correlation.[2] Assume $X, Y \,$ are jointly multivariate zero mean normal vectors with covariances $\Sigma_{XX}, \,\, \Sigma_{YY}$ and $T\,$ is a compressed version of $X\,$ which must maintain a given value of mutual information with $Y\,$. It can be shown that the optimum $T\,$ is a normal vector consisting of linear combinations of the elements of $X , \,\, T=AX \,$ where matrix $A \,$ has orthogonal rows.

The projection matrix $A\,$ in fact contains $M\,$ rows selected from the weighted left eigenvectors of the singular value decomposition of the following matrix (generally asymmetric)

$\Omega = \Sigma_{X|Y} \Sigma_{XX}^{-1} = I - \Sigma_{XY} \Sigma_{YY}^{-1} \Sigma_{XY}^T \Sigma_{XX}^{-1}.\,$

Define the singular value decomposition

$\Omega = U\Lambda V^T\text{ with }\Lambda = \operatorname{Diag} \big ( \lambda_1 \le \lambda_2 \cdots \lambda_N \big ) \,$

and the critical values

$\beta_i^C \underset {\lambda_i < 1}{=} (1 - \lambda_i )^{-1}. \,$

then the number $M \,$ of active eigenvectors in the projection, or order of approximation, is given by

$\beta_{M-1}^C < \beta \le \beta_M^C$

And we finally get

$A=[ w_1 U_1 , \dots , w_M U_M ]^T$

In which the weights are given by

$w_i = \sqrt{(\beta (1- \lambda_i )/\lambda_i r_i}$

where $r_i = U_i^T \Sigma_{XX} U_i.\,$

Applying the Gaussian information bottleneck on time series, one gets optimal predictive coding. This procedure is formally equivalent to linear Slow Feature Analysis.[3]

Optimal temporal structures in linear dynamic systems can be revealed in the so-called past-future information bottleneck, an application of the bottleneck method to non-Gaussian sampled data.[4] The concept, as treated by Creutzig, Tishby et al., is not without complication as there are two independent phases in the exercise: firstly estimation of the unknown parent probability densities from which the data samples are drawn and secondly the use of these densities within the information theoretic framework of the bottleneck.

### Density estimation

Since the bottleneck method is framed in probabilistic rather than statistical terms, we first need to estimate the underlying probability density at the sample points $X = {x_i} \,$. This is a well known problem with a number of solutions described by Bernie Silverman.[5] In the present method, joint probabilities of the samples are found by use of a Markov transition matrix method and this has some mathematical synergy with the bottleneck method itself.

Define an arbitrarily increasing distance metric $f \,$ between all sample pairs and distance matrix $d_{i,j}=f \Big ( \Big| x_i - x_j \Big | \Big )$ . Then compute transition probabilities between sample pairs $P_{i,j}=\exp (- \lambda d_{i,j} ) \,$ for some $\lambda > 0 \,$. Treating samples as states, and a normalised version of $P \,$ as a Markov state transition probability matrix, the vector of probabilities of the ‘states’ after $t \,$ steps, conditioned on the initial state $p(0) \,$, is $p(t)=P^t p(0) \,$. We are here interested only in the equilibrium probability vector $p(\infty ) \,$ given, in the usual way, by the dominant eigenvector of matrix $P \,$ which is independent of the initialising vector $p(0) \,$. This Markov transition method establishes a probability at the sample points which is claimed to be proportional to the probabilities densities there.

Other interpretations of the use of the eigenvalues of distance matrix $d \,$ are discussed in Silverman's Density Estimation for Statistics and Data Analysis.[5]

### Clusters

In the following soft clustering example, the reference vector $Y \,$ contains sample categories and the joint probability $p(X,Y) \,$ is assumed known. A soft cluster $c_k \,$ is defined by its probability distribution over the data samples $x_i: \,\,\, p( c_k |x_i)$. Tishby et al. presented[1] the following iterative set of equations to determine the clusters which are ultimately a generalization of the Blahut-Arimoto algorithm, developed in rate distortion theory. The application of this type of algorithm in neural networks appears to originate in entropy arguments arising in application of Gibbs Distributions in deterministic annealing.[6][7]

$\begin{cases} p(c|x)=Kp(c) \exp \Big( -\beta\,D^{KL} \Big[ p(y|x) \,|| \, p(y| c)\Big ] \Big)\\ p(y| c)=\textstyle \sum_x p(y|x)p( c | x) p(x) \big / p(c) \\ p(c) = \textstyle \sum_x p(c | x) p(x) \\ \end{cases}$

The function of each line of the iteration is expanded as follows.

Line 1: This is a matrix valued set of conditional probabilities

$A_{i,j} = p(c_i | x_j )=Kp(c_i) \exp \Big( -\beta\,D^{KL} \Big[ p(y|x_j) \,|| \, p(y| c_i)\Big ] \Big)$

The Kullback–Leibler distance $D^{KL} \,$ between the $Y \,$ vectors generated by the sample data $x \,$ and those generated by its reduced information proxy $c \,$ is applied to assess the fidelity of the compressed vector with respect to the reference (or categorical) data $Y \,$ in accordance with the fundamental bottleneck equation. $D^{KL}(a||b)\,$ is the Kullback Leibler distance between distributions $a, b \,$

$D^{KL} (a||b)= \sum_i p(a_i) \log \Big ( \frac{p(a_i)}{p(b_i)} \Big )$

and $K \,$ is a scalar normalization. The weighting by the negative exponent of the distance means that prior cluster probabilities are downweighted in line 1 when the Kullback Liebler distance is large, thus successful clusters grow in probability while unsuccessful ones decay.

Line 2: This is a second matrix-valued set of conditional probabilities. The steps in deriving it are as follows. We have, by definition

\begin{align} p(y_i|c_k) & = \sum_j p(y_i|x_j)p(x_j|c_k) \\ & =\sum_j p(y_i|x_j)p(x_j, c_k ) \big / p(c_k) \\ & =\sum_j p(y_i|x_j)p(c_k | x_j) p(x_j) \big / p(c_k) \\ \end{align}

where the Bayes identities $p(a,b)=p(a|b)p(b)=p(b|a)p(a) \,$ are used.

Line 3: this line finds the marginal distribution of the clusters $c \,$

\begin{align} p(c_i)& =\sum_j p(c_i , x_j) & = \sum_j p(c_i | x_j) p(x_j) \end{align}

This is also a standard result.

Further inputs to the algorithm are the marginal sample distribution $p(x) \,$ which has already been determined by the dominant eigenvector of $P \,$ and the matrix valued Kullback Leibler distance function

$D_{i,j}^{KL}=D^{KL} \Big[ p(y|x_j) \,|| \, p(y| c_i)\Big ] \Big)$

derived from the sample spacings and transition probabilities.

The matrix $p(y_i | c_j) \,$ can be initialized randomly or as a reasonable guess, while matrix $p(c_i | x_j) \,$ needs no prior values. Although the algorithm is converging, multiple minima may exist which need some action to resolve.[8]

## Defining decision contours

To categorize a new sample $x' \,$ external to the training set $X \,$, apply the previous distance metric to find the transition probabilities between $x' \,$ and all samples in $X: \,\,$, $\tilde p(x_i )= p(x_i | x')= \Kappa \exp \Big (-\lambda f \big ( \Big| x_i - x' \Big | \big ) \Big )$ with $\Kappa \,$ a normalization. Secondly apply the last two lines of the 3-line algorithm to get cluster, and conditional category probabilities.

\begin{align} & \tilde p(c_i ) = p(c_i | x' ) = \sum_j p(c_i | x_j)p(x_j | x') =\sum_j p(c_i | x_j) \tilde p(x_j)\\ & p(y_i | c_j) = \sum_k p(y_i | x_k) p(c_j | x_k)p(x_k | x') / p(c_j | x' ) = \sum_k p(y_i | x_k) p(c_j | x_k) \tilde p(x_k) / \tilde p(c_j) \\ \end{align}

Finally we have

$p(y_i | x')= \sum_j p(y_i | c_j) p(c_j | x') )= \sum_j p(y_i | c_j) \tilde p(c_j) \,$

Parameter $\beta \,$ must be kept under close supervision since, as it is increased from zero, increasing numbers of features, in the category probability space, snap into focus at certain critical thresholds.

### An example

The following case examines clustering in a four quadrant multiplier with random inputs $u, v \,$ and two categories of output, $\pm 1 \,$, generated by $y=\operatorname{sign}(uv) \,$. This function has the property that there are two spatially separated clusters for each category and so it demonstrates that the method can handle such distributions.

20 samples are taken, uniformly distributed on the square $[-1,1]^2 \,$ . The number of clusters used beyond the number of categories, two in this case, has little effect on performance and the results are shown for two clusters using parameters $\lambda = 3,\, \beta = 2.5$.

The distance function is $d_{i,j} = \Big| x_i - x_j \Big |^2$ where $x_i = (u_i,v_i)^T \,$ while the conditional distribution $p(y|x)\,$ is a 2 × 20 matrix

\begin{align} & Pr(y_i=1) = 1\text{ if }\operatorname{sign}(u_iv_i)=1\, \\ & Pr(y_i=-1) = 1\text{ if }\operatorname{sign}(u_iv_i)=-1\, \end{align}

and zero elsewhere.

The summation in line 2 is only incorporates two values representing the training values of +1 or −1 but nevertheless seems to work quite well. Five iterations of the equations were used. The figure shows the locations of the twenty samples with '0' representing Y = 1 and 'x' representing Y = −1. The contour at the unity likelihood ratio level is shown,

$L= \frac{\Pr(1)}{\Pr(-1)} = 1$

as a new sample $x' \,$is scanned over the square. Theoretically the contour should align with the $u=0 \,$ and $v=0 \,$ coordinates but for such small sample numbers they have instead followed the spurious clusterings of the sample points.

File:BottleCateg 1.jpg
Decision contours

### Neural network/fuzzy logic analogies

There is some analogy between this algorithm and a neural network with a single hidden layer. The internal nodes are represented by the clusters $c_j \,$ and the first and second layers of network weights are the conditional probabilities $p(c_j | x_i) \,$ and $p(y_k | c_j) \,$ respectively. However, unlike a standard neural network, the present algorithm relies entirely on probabilities as inputs rather than the sample values themselves while internal and output values are all conditional probability density distributions. Nonlinear functions are encapsulated in distance metric $f(.) \,$ (or influence functions/radial basis functions) and transition probabilities instead of sigmoid functions.

The Blahut-Arimoto three-line algorithm is seen to converge rapidly, often in tens of iterations, and by varying $\beta \,$, $\lambda \,$ and $f \,$ and the cardinality of the clusters, various levels of focus on data features can be achieved.

The statistical soft clustering definition $p(c_i | x_j) \,$ has some overlap with the verbal fuzzy membership concept of fuzzy logic.

## References

1. Tishby, Naftali; Pereira, Fernando C. (September 1999). The Information Bottleneck Method (PDF). The 37th annual Allerton Conference on Communication, Control, and Computing. pp. 368–377.<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
2. Chechik, Gal; Globerson, Amir; Tishby, Naftali; Weiss, Yair (1 January 2005). Dayan, Peter, ed. "Information Bottleneck for Gaussian Variables" (PDF). Journal of Machine Learning Research (published 1 May 2005) (6): 165–188.<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
3. Lua error in Module:Citation/CS1/Identifiers at line 47: attempt to index field 'wikibase' (a nil value).
4. Lua error in Module:Citation/CS1/Identifiers at line 47: attempt to index field 'wikibase' (a nil value).
5. Silverman, Bernie (1986). Density Estimation for Statistics and Data Analysis. Chapman & Hall. ISBN 978-0412246203.<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
6. Lua error in Module:Citation/CS1/Identifiers at line 47: attempt to index field 'wikibase' (a nil value).
7. D. J. Miller, A. V. Rao, K. Rose, A. Gersho: "An Information-theoretic Learning Algorithm for Neural Network Classification". NIPS 1995: pp. 591–597
8. Tishby, Naftali; Slonim, N. Data clustering by Markovian Relaxation and the Information Bottleneck Method (PDF). Neural Information Processing Systems (NIPS) 2000. pp. 640–646.<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>