Mathematical Foundations

VII.2 · Information Theory

How much information comes from a rare event?

Move one event probability and watch its surprise change on the graph and in the inspector. Switch between nats and bits without changing the event.

How surprising is this event?

Surprise in nats
Surprise in natsEvent probability = 0.25. Self-information ≈ 1.38629 nats. Smaller probability means greater surprise.4.6051700.51

Horizontal: probability p · vertical: −log p · p=0 is an infinite limit, outside finite axes

Event probability = 0.25. Self-information ≈ 1.38629 nats. Smaller probability means greater surprise.

Event probability
0.25
Self-information (nats)
1.386294

= exact rational or mathematical boundary · ≈ approximate binary64 evaluation

from 0 to 1, up to 2 decimal places

Event probability = 0.25. Self-information ≈ 1.38629 nats. Smaller probability means greater surprise.

I(x)=−log⁡p(x)I(x)=-\log p(x)

Read the event probability

p = 0.25.

p(x)=0.25p(x)=0.25

Move one event probability and watch its surprise change on the graph and in the inspector. Switch between nats and bits without changing the event.

Intuition

A guaranteed event teaches us nothing unexpected. An event assigned a small probability is surprising if it occurs. The vertical coordinate measures this surprise, not a second probability.

Definition

For an event or discrete observation xx with probability p(x)p(x), define I(x)=−log⁡p(x)I(x)=-\log p(x) in nats, or I2(x)=−log⁡2p(x)I_2(x)=-\log_2p(x) in bits. Its real-valued domain is 0<p(x)≤10<p(x)\le1, with the extended convention I(x)=+∞I(x)=+\infty when p(x)=0p(x)=0.

Mechanics

The event probability control is the only probability source. The curve samples the same self-information function that computes the inspector and selected point. At probability zero no finite graph point is drawn: the explicit text and inspector report infinity.

Derivation

Surprise should add for independent observations: if p(x,y)=p(x)p(y)p(x,y)=p(x)p(y), then I(x,y)=I(x)+I(y)I(x,y)=I(x)+I(y). The negative logarithm supplies that identity and decreases as probability increases. A unit choice scales the logarithm: I2=I/log⁡2I_2=I/\log2. One bit equals log⁡2\log2 nats.

Worked examples

For p=1/4p=1/4, surprise is −log⁡2(1/4)=2-\log_2(1/4)=2 bits, or log⁡4≈1.386294\log4\approx1.386294 nats. Doubling probability from 1/81/8 to 1/41/4 decreases surprise from 3 to 2 bits. At p=1p=1, both units give zero.

Worked example: How surprising is this event?

Surprise in nats
Surprise in natsEvent probability = 0.25. Self-information ≈ 1.38629 nats. Smaller probability means greater surprise.4.6051700.51

Horizontal: probability p · vertical: −log p · p=0 is an infinite limit, outside finite axes

Event probability = 0.25. Self-information ≈ 1.38629 nats. Smaller probability means greater surprise.

Event probability
0.25
Self-information (nats)
1.386294

= exact rational or mathematical boundary · ≈ approximate binary64 evaluation

from 0 to 1, up to 2 decimal places

Event probability = 0.25. Self-information ≈ 1.38629 nats. Smaller probability means greater surprise.

I(x)=−log⁡p(x)I(x)=-\log p(x)

Read the event probability

p = 0.25.

p(x)=0.25p(x)=0.25

Replay the actual mathematical inputs, terms and result.

Executable reference code

Run the standalone pedagogical version to see each operation; the NumPy companion shows the practical array form. Both include assertions so you can check the worked examples as you run them.

code/python/information_surprise.py
"""Surprise: the negative log of one exact event probability."""
from fractions import Fraction
from math import log, inf
def surprise(p, unit='nats'):
    p=Fraction(str(p))
    if p<0 or p>1 or unit not in ('nats','bits'): raise ValueError('Probability in [0,1]; nats or bits')
    if p==0:return inf
    return (log(p.denominator)-log(p.numerator))/(log(2) if unit=='bits' else 1)
if __name__=='__main__':
    assert surprise('1/4','bits')==2
    assert surprise(1)==0 and surprise(0)==inf
    print(surprise('1/4'),surprise('1/4','bits'))
code/python/information_surprise_numpy.py
"""Array surprise in nats or bits, with an explicit infinite boundary."""
import numpy as np
def surprise(p,unit='nats'):
    p=np.asarray(p,dtype=float)
    if not np.all(np.isfinite(p)) or np.any((p<0)|(p>1)) or unit not in ('nats','bits'):raise ValueError('Invalid probability or unit')
    with np.errstate(divide='ignore'):return -np.log(p)/(np.log(2) if unit=='bits' else 1)
if __name__=='__main__':
    assert np.array_equal(surprise([.25,1,0],'bits'),[2,0,np.inf])
    print(surprise([.25,1,0]))

Explore

Predict the effect of halving probability. Select Certain event and Impossible event, then explain why one gives zero and the other infinite surprise. Switch units and check that the selected probability remains fixed.

Common mistakes and counterexamples

Surprise is not the probability of surprise. An impossible event cannot be observed under a model assigning it probability zero; an actual occurrence would challenge that model. Infinite surprise is a mathematical boundary, not a large finite constant or a floating-point overflow.

Numerical considerations

Probability is an exact two-place decimal fraction. Logarithms are approximate binary64 values. The graph samples p from 0.01 to 1 and explicitly excludes the infinite endpoint at zero; it does not pretend that the finite plotted range contains the limit. All views use the same selected derived information. Invalid probabilities are rejected.

Engineering and ML connections

Coding theory interprets −log₂ p as ideal information content. Individual codeword lengths must respect discrete coding constraints, so this value need not be the length of a particular codeword. A classifier’s observed-label loss is the same quantity in nats.

Continue from the preceding mathematical connection.

Exercises

Predict, compute and explain the actual quantities. Each question offers corrective feedback and a worked solution.

calculation

A quarter-probability event

Find the self-information of p=1/4 in bits.

calculation

A certain event

Find the self-information of p=1 in nats.

prediction

Impossible observation

What is mathematical surprise at p=0?

Choose one answer

explanation

Convert units

How do you convert nats to bits?

Choose one answer

prediction

Predict then manipulate

Start at p=1/8; double it to 1/4. How many bits does surprise decrease?

Summary and checkpoints

A guaranteed event teaches us nothing unexpected. An event assigned a small probability is surprising if it occurs. The vertical coordinate measures this surprise, not a second probability. Check the assumptions, unit and boundary before interpreting the computed result.

The map of the book

97 of 97 chapters written · eight Parts

demo Foundation demo Try the live vector example Open as a page

Part I

Mathematical Language

The notation and mental objects everything else uses.

9 of 9 chapters written

  1. I.1 Scalars, quantities, units, powers and roots available
  2. I.2 Coordinates and points available
  3. I.3 Vectors: components, magnitude, and direction reference chapter available
  4. I.4 Algebraic expressions, equations and inequalities available
  5. I.5 Functions as input → transformation → output available
  6. I.6 Essential function families available
  7. I.7 Sets, intervals, and relations available
  8. I.8 Indexed quantities and summation available
  9. I.9 The notation map for ML available

Part II

Linear Algebra

Matrices as transformations: the strongest foundation in the book.

19 of 19 chapters written

  1. II.1 Vector addition and subtraction available
  2. II.2 Scalar multiplication and vector scaling available
  3. II.3 Norms, magnitude, and normalization available
  4. II.4 Dot product, angle, and orthogonality available
  5. II.5 Projection and distance to a direction available
  6. II.6 Linear combinations and span available
  7. II.7 Linear independence, basis, and coordinates available
  8. II.8 Matrices as linear transformations available
  9. II.9 Matrix × vector available
  10. II.10 Matrix × matrix as composition available
  11. II.11 Transpose and orthogonality available
  12. II.12 Determinant: orientation and area/volume scaling available
  13. II.13 Linear systems as intersecting constraints available
  14. II.14 Gaussian elimination and row operations available
  15. II.15 Rank and invertibility available
  16. II.16 Inverse matrices available
  17. II.17 Eigenvalues and eigenvectors available
  18. II.18 Orthogonal bases and least-squares geometry available
  19. II.19 Singular Value Decomposition available

Part III

Calculus

Change, local approximation, and sensitivity made visible.

15 of 15 chapters written

  1. III.1 Limits through approach available
  2. III.2 Continuity and local behavior available
  3. III.3 Derivative as secant → tangent available
  4. III.4 Derivative as rate of change and local linear model available
  5. III.5 Derivative rules available
  6. III.6 Chain rule available
  7. III.7 Multivariable functions and partial derivatives available
  8. III.8 Gradient and directional derivatives available
  9. III.9 Jacobian available
  10. III.10 Computational graphs and automatic differentiation available
  11. III.11 Hessian and curvature available
  12. III.12 Integrals as accumulation available
  13. III.13 Fundamental derivative/integral connection available
  14. III.14 Numerical differentiation available
  15. III.15 Numerical integration available

Part IV

Probability

Uncertainty through sample spaces, evidence, and repetition.

16 of 16 chapters written

  1. IV.1 Random experiments, outcomes, and sample spaces available
  2. IV.2 Events and probability mass available
  3. IV.3 Counting and finite probability where needed available
  4. IV.4 Conditional probability as restricted sample space available
  5. IV.5 Independence available
  6. IV.6 Bayes' theorem as probability-mass update available
  7. IV.7 Random variables available
  8. IV.8 PMF, PDF, and CDF available
  9. IV.9 Bernoulli and Binomial distributions available
  10. IV.10 Uniform and Gaussian distributions available
  11. IV.11 Expectation available
  12. IV.12 Variance and standard deviation available
  13. IV.13 Joint, marginal, and conditional distributions available
  14. IV.14 Covariance and correlation available
  15. IV.15 Law of Large Numbers available
  16. IV.16 Central Limit Theorem available

Part V

Statistics

From observed data to estimates, intervals, and likelihood.

10 of 10 chapters written

  1. V.1 Data summaries: mean, median, mode available
  2. V.2 Spread: variance, standard deviation, robust interpretation available
  3. V.3 Population, sample, and sampling variability available
  4. V.4 Estimators and estimation available
  5. V.5 Confidence intervals through repeated sampling available
  6. V.6 Covariance matrices and multivariate spread available
  7. V.7 Regression fundamentals available
  8. V.8 Likelihood available
  9. V.9 Maximum Likelihood Estimation available
  10. V.10 Maximum A Posteriori estimation available

Part VI

Optimization

Learning as repeated parameter updates governed by an objective.

10 of 10 chapters written

  1. VI.1 Objective functions and optimization landscapes available
  2. VI.2 Local vs global optima and stationary points available
  3. VI.3 Convexity available
  4. VI.4 Gradient descent flagship chapter available
  5. VI.5 Learning rate and convergence behavior available
  6. VI.6 Momentum available
  7. VI.7 Stochastic and mini-batch gradient descent available
  8. VI.8 Adam intuition available
  9. VI.9 Constraints and projected/penalized intuition available
  10. VI.10 Numerical stopping and optimization diagnostics available

Part VII

Information Theory

Logarithms, entropy, and the loss behind token prediction.

8 of 8 chapters written

  1. VII.1 Logarithms and log probabilities in computation available
  2. VII.2 Self-information available
  3. VII.3 Entropy available
  4. VII.4 Cross entropy and negative log-likelihood available
  5. VII.5 KL divergence available
  6. VII.6 Logits and softmax available
  7. VII.7 Numerical stability: log-sum-exp and stable softmax available
  8. VII.8 From token logits to language-model loss available

Part VIII

Numerical Computing

Why equivalent expressions behave differently on real machines.

10 of 10 chapters written

  1. VIII.1 Floating-point representation available
  2. VIII.2 Rounding and representation error available
  3. VIII.3 Error propagation and conditioning available
  4. VIII.4 Catastrophic cancellation available
  5. VIII.5 Overflow and underflow available
  6. VIII.6 Stable algorithms available
  7. VIII.7 Numerical linear algebra realities available
  8. VIII.8 Sparse matrices and sparse structure available
  9. VIII.9 Vectorized computation available
  10. VIII.10 Reproducibility, random seeds, and nondeterminism available