InformationTheory

InformationTheory.Shannon.MutualInfo

source

Mutual information via KL divergence #

mutualInfo μ X Y := klDiv (μ.map (X, Y)) ((μ.map X).prod (μ.map Y)) and its basic properties.

Main definitions #

  • mutualInfoI(X; Y) := KL(P_{X,Y} ‖ P_X ⊗ P_Y).

Main statements #

noncomputable def

InformationTheory.Shannon.mutualInfo

source
{Ω : Type u_1} [MeasurableSpace Ω] {X : Type u_2} [MeasurableSpace X] {Y : Type u_3} [MeasurableSpace Y] (μ : MeasureTheory.Measure Ω) (Xs : ΩX) (Yo : ΩY) :

Mutual information via KL divergence: I(X; Y) := KL(P_{X,Y} ‖ P_X ⊗ P_Y).

Equations
  • One or more equations did not get rendered due to their size.
Instances For
    Used by
      theorem

      InformationTheory.Shannon.mutualInfo_nonneg

      source
      {Ω : Type u_1} [MeasurableSpace Ω] {X : Type u_2} [MeasurableSpace X] {Y : Type u_3} [MeasurableSpace Y] (μ : MeasureTheory.Measure Ω) (Xs : ΩX) (Yo : ΩY) :
      0 mutualInfo μ Xs Yo

      Mutual information is nonneg (immediate from klDiv : ℝ≥0∞).

      Used by
        theorem

        InformationTheory.Shannon.mutualInfo_congr_pair

        source
        {Ω : Type u_1} [MeasurableSpace Ω] {X : Type u_2} [MeasurableSpace X] {Y : Type u_3} [MeasurableSpace Y] {Ω' : Type u_4} [MeasurableSpace Ω'] (μ : MeasureTheory.Measure Ω) (μ' : MeasureTheory.Measure Ω') {Xs : ΩX} {Yo : ΩY} {Xs' : Ω'X} {Yo' : Ω'Y} (hXs : Measurable Xs) (hYo : Measurable Yo) (hXs' : Measurable Xs') (hYo' : Measurable Yo') (h : MeasureTheory.Measure.map (fun (ω : Ω) => (Xs ω, Yo ω)) μ = MeasureTheory.Measure.map (fun (ω : Ω') => (Xs' ω, Yo' ω)) μ') :
        mutualInfo μ Xs Yo = mutualInfo μ' Xs' Yo'
        Used by
          theorem

          InformationTheory.Shannon.klDiv_map_measurableEquiv

          source

          KL divergence is invariant under pushforward by a MeasurableEquiv.

          Used by
            theorem

            InformationTheory.Shannon.klDiv_prod_const_left

            source
            {α : Type u_4} {β : Type u_5} [MeasurableSpace α] [MeasurableSpace β] (μ : MeasureTheory.Measure α) [MeasureTheory.IsProbabilityMeasure μ] (ν₁ ν₂ : MeasureTheory.Measure β) [MeasureTheory.IsFiniteMeasure ν₁] [MeasureTheory.IsFiniteMeasure ν₂] :
            klDiv (μ.prod ν₁) (μ.prod ν₂) = klDiv ν₁ ν₂

            klDiv (μ.prod ν₁) (μ.prod ν₂) = klDiv ν₁ ν₂ when μ is a probability measure.

            Used by
              theorem

              InformationTheory.Shannon.mutualInfo_comm

              source
              {Ω : Type u_1} [MeasurableSpace Ω] {X : Type u_2} [MeasurableSpace X] {Y : Type u_3} [MeasurableSpace Y] (μ : MeasureTheory.Measure Ω) [MeasureTheory.IsFiniteMeasure μ] (Xs : ΩX) (Yo : ΩY) (hXs : Measurable Xs) (hYo : Measurable Yo) :
              mutualInfo μ Xs Yo = mutualInfo μ Yo Xs

              Mutual information is symmetric: I(X; Y) = I(Y; X).

              Used by
                theorem

                InformationTheory.Shannon.mutualInfo_eq_zero_iff_indep

                source
                {Ω : Type u_1} [MeasurableSpace Ω] {X : Type u_2} [MeasurableSpace X] {Y : Type u_3} [MeasurableSpace Y] (μ : MeasureTheory.Measure Ω) [MeasureTheory.IsProbabilityMeasure μ] (Xs : ΩX) (Yo : ΩY) (hXs : Measurable Xs) (hYo : Measurable Yo) :

                I(X; Y) = 0 ↔ X and Y are independent.

                Used by
                  theorem

                  InformationTheory.Shannon.mutualInfo_ne_top

                  source
                  {Ω : Type u_1} [MeasurableSpace Ω] {X : Type u_2} [MeasurableSpace X] {Y : Type u_3} [MeasurableSpace Y] [Fintype X] [MeasurableSingletonClass X] [Fintype Y] [MeasurableSingletonClass Y] (μ : MeasureTheory.Measure Ω) [MeasureTheory.IsProbabilityMeasure μ] (Xs : ΩX) (Yo : ΩY) (hXs : Measurable Xs) (hYo : Measurable Yo) :
                  mutualInfo μ Xs Yo

                  Mutual information is finite for finite alphabets.

                  Used by