# Information bottleneck method

The information bottleneck method is a technique in information theory introduced by Naftali Tishby, Fernando C. Pereira, and William Bialek.[1] It is designed for finding the best tradeoff between accuracy and complexity (compression) when summarizing (e.g. clustering) a random variable X, given a joint probability distribution p(X,Y) between X and an observed relevant variable Y. Other applications include distributional clustering and dimension reduction. More recently it has been suggested as a theoretical foundation for deep learning. 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 information bottleneck can also be viewed as a rate distortion problem, with a distortion function that measures how well Y is predicted from a compressed representation T compared to its direct prediction from X. This interpretation provides a general iterative algorithm for solving the information bottleneck tradeoff and calculating the information curve from the distribution p(X,Y).

The compressed variable is ${\displaystyle T\,}$ and the algorithm minimizes:

${\displaystyle \min _{p(t|x)}\,\,I(X;T)-\beta I(T;Y)}$ where ${\displaystyle I(X;T)}$ and ${\displaystyle I(T;Y)}$ are the mutual information between ${\displaystyle X;T\,}$ and ${\displaystyle T;Y\,}$, respectively, and ${\displaystyle \beta }$ is a Lagrange multiplier.

## Gaussian bottleneck

The Gaussian bottleneck,[2] namely, applying the information bottleneck approach to Gaussian variables, leads to solutions related to canonical correlation analysis. Assume ${\displaystyle X,Y\,}$ are jointly multivariate zero mean normal vectors with covariances ${\displaystyle \Sigma _{XX},\,\,\Sigma _{YY}}$ and ${\displaystyle T\,}$ is a compressed version of ${\displaystyle X\,}$ that must maintain a given value of mutual information with ${\displaystyle Y\,}$. It can be shown that the optimum ${\displaystyle T\,}$ is a normal vector consisting of linear combinations of the elements of ${\displaystyle X,\,\,T=AX\,}$ where matrix ${\displaystyle A\,}$ has orthogonal rows.

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

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

Define the singular value decomposition

${\displaystyle \Omega =U\Lambda V^{T}{\text{ with }}\Lambda =\operatorname {Diag} {\big (}\lambda _{1}\leq \lambda _{2}\cdots \lambda _{N}{\big )}\,}$

and the critical values

${\displaystyle \beta _{i}^{C}{\underset {\lambda _{i}<1}{=}}(1-\lambda _{i})^{-1}.\,}$

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

${\displaystyle \beta _{M-1}^{C}<\beta \leq \beta _{M}^{C}}$

And we finally get

${\displaystyle A=[w_{1}U_{1},\dots ,w_{M}U_{M}]^{T}}$

In which the weights are given by

${\displaystyle w_{i}={\sqrt {(\beta (1-\lambda _{i})/\lambda _{i}r_{i}}}}$

where ${\displaystyle r_{i}=U_{i}^{T}\Sigma _{XX}U_{i}.\,}$

Applying the Gaussian information bottleneck to time series (processes), yields solutions related to 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 two independent phases make up 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, the underlying probability density at the sample points ${\displaystyle X={x_{i}}\,}$must be estimated. This is a well known problem with multiple solutions described by Silverman.[5] In the present method, joint sample probabilities are found by use of a Markov transition matrix method and this has some mathematical synergy with the bottleneck method itself.

The arbitrarily increasing distance metric ${\displaystyle f\,}$ between all sample pairs and distance matrix is ${\displaystyle d_{i,j}=f{\Big (}{\Big |}x_{i}-x_{j}{\Big |}{\Big )}}$ . Then transition probabilities between sample pairs ${\displaystyle P_{i,j}=\exp(-\lambda d_{i,j})\,}$ for some ${\displaystyle \lambda >0\,}$must be computed. Treating samples as states, and a normalised version of ${\displaystyle P\,}$ as a Markov state transition probability matrix, the vector of probabilities of the ‘states’ after ${\displaystyle t\,}$ steps, conditioned on the initial state ${\displaystyle p(0)\,}$, is ${\displaystyle p(t)=P^{t}p(0)\,}$. The equilibrium probability vector ${\displaystyle p(\infty )\,}$ given, in the usual way, by the dominant eigenvector of matrix ${\displaystyle P\,}$ which is independent of the initialising vector ${\displaystyle 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 ${\displaystyle d\,}$ are discussed in Silverman's Density Estimation for Statistics and Data Analysis.[5]

### Clusters

In the following soft clustering example, the reference vector ${\displaystyle Y\,}$ contains sample categories and the joint probability ${\displaystyle p(X,Y)\,}$ is assumed known. A soft cluster ${\displaystyle c_{k}\,}$ is defined by its probability distribution over the data samples ${\displaystyle 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 the application of Gibbs Distributions in deterministic annealing.[6][7]

${\displaystyle {\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 expands as

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

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

${\displaystyle D^{KL}(a||b)=\sum _{i}p(a_{i})\log {\Big (}{\frac {p(a_{i})}{p(b_{i})}}{\Big )}}$

and ${\displaystyle 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: Second matrix-valued set of conditional probabilities. By definition

{\displaystyle {\begin{aligned}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{aligned}}}

where the Bayes identities ${\displaystyle 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 ${\displaystyle c\,}$

{\displaystyle {\begin{aligned}p(c_{i})&=\sum _{j}p(c_{i},x_{j})&=\sum _{j}p(c_{i}|x_{j})p(x_{j})\end{aligned}}}

This is a standard result.

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

${\displaystyle 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 ${\displaystyle p(y_{i}|c_{j})\,}$ can be initialized randomly or with a reasonable guess, while matrix ${\displaystyle p(c_{i}|x_{j})\,}$ needs no prior values. Although the algorithm converges, multiple minima may exist that would need to be resolved.[8]

## Defining decision contours

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

{\displaystyle {\begin{aligned}&{\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{aligned}}}

Finally

${\displaystyle 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 ${\displaystyle \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 ${\displaystyle u,v\,}$ and two categories of output, ${\displaystyle \pm 1\,}$, generated by ${\displaystyle y=\operatorname {sign} (uv)\,}$. This function has two spatially separated clusters for each category and so demonstrates that the method can handle such distributions.

20 samples are taken, uniformly distributed on the square ${\displaystyle [-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 ${\displaystyle \lambda =3,\,\beta =2.5}$.

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

{\displaystyle {\begin{aligned}&Pr(y_{i}=1)=1{\text{ if }}\operatorname {sign} (u_{i}v_{i})=1\,\\&Pr(y_{i}=-1)=1{\text{ if }}\operatorname {sign} (u_{i}v_{i})=-1\,\end{aligned}}}

and zero elsewhere.

The summation in line 2 incorporates only two values representing the training values of +1 or −1, but nevertheless works well. 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,

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

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

Decision contours

### Neural network/fuzzy logic analogies

This algorithm is somewhat analogous to a neural network with a single hidden layer. The internal nodes are represented by the clusters ${\displaystyle c_{j}\,}$ and the first and second layers of network weights are the conditional probabilities ${\displaystyle p(c_{j}|x_{i})\,}$ and ${\displaystyle p(y_{k}|c_{j})\,}$ respectively. However, unlike a standard neural network, the 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 ${\displaystyle f(.)\,}$ (or influence functions/radial basis functions) and transition probabilities instead of sigmoid functions.

The Blahut-Arimoto three-line algorithm converges rapidly, often in tens of iterations, and by varying ${\displaystyle \beta \,}$, ${\displaystyle \lambda \,}$ and ${\displaystyle f\,}$ and the cardinality of the clusters, various levels of focus on features can be achieved.

The statistical soft clustering definition ${\displaystyle p(c_{i}|x_{j})\,}$ has some overlap with the verbal fuzzy membership concept of fuzzy logic.

## Extensions

An interesting extension is the case of information bottleneck with side information.[9] Here information is maximized about one target variable and minimized about another, learning a representation that is informative about selected aspects of data. Formally

${\displaystyle \min _{p(t|x)}\,\,I(X;T)-\beta ^{+}I(T;Y^{+})+\beta ^{-}I(T;Y^{-})}$

## References

1. ^ a b Tishby, Naftali; Pereira, Fernando C.; Bialek, William (September 1999). The Information Bottleneck Method (PDF). The 37th annual Allerton Conference on Communication, Control, and Computing. pp. 368–377.
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.
3. ^ Creutzig, Felix; Sprekeler, Henning (2007-12-17). "Predictive Coding and the Slowness Principle: An Information-Theoretic Approach". Neural Computation. 20 (4): 1026–1041. doi:10.1162/neco.2008.01-07-455. ISSN 0899-7667.
4. ^ Creutzig, Felix; Globerson, Amir; Tishby, Naftali (2009-04-27). "Past-future information bottleneck in dynamical systems". Physical Review E. 79 (4): 041925. doi:10.1103/PhysRevE.79.041925.
5. ^ a b Silverman, Bernie (1986). Density Estimation for Statistics and Data Analysis. Chapman & Hall. ISBN 978-0412246203.
6. ^ Slonim, Noam; Tishby, Naftali (2000-01-01). "Document Clustering Using Word Clusters via the Information Bottleneck Method". Proceedings of the 23rd Annual International ACM SIGIR Conference on Research and Development in Information Retrieval. SIGIR '00. New York, NY, USA: ACM: 208–215. doi:10.1145/345508.345578. ISBN 1-58113-226-3.
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.
9. ^ Chechik, Gal; Tishby, Naftali (2002). "Extracting Relevant Structures with Side Information" (PDF). Advances in Neural Information Processing Systems: 857–864.