Mutual Information of kernels #
Main definitions #
mutualInfo
: Mutual information of a kernelκ
into a product space with respect to a measureμ
. This is denoted byIk[κ, μ]
and is equal toHk[fst κ, μ] + Hk[snd κ, μ] - Hk[κ, μ]
.
Main statements #
mutualInfo_nonneg
:Ik[κ, μ]
is nonnegativeentropy_condKernel_le_entropy_fst
andentropy_condKernel_le_entropy_snd
: conditioning reduces entropy.
Notations #
Ik[κ, μ] = Kernel.entropy κ μ
noncomputable def
ProbabilityTheory.Kernel.mutualInfo
{S : Type u_2}
{T : Type u_3}
{U : Type u_4}
[MeasurableSpace S]
[MeasurableSpace T]
[MeasurableSpace U]
(κ : Kernel T (S × U))
(μ : MeasureTheory.Measure T)
:
Mutual information of a kernel into a product space with respect to a measure.
Instances For
Mutual information of a kernel into a product space with respect to a measure.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Pretty printer defined by notation3
command.
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[simp]
theorem
ProbabilityTheory.Kernel.mutualInfo_zero_measure
{S : Type u_2}
{T : Type u_3}
{U : Type u_4}
[MeasurableSpace S]
[MeasurableSpace T]
[MeasurableSpace U]
(κ : Kernel T (S × U))
:
@[simp]
theorem
ProbabilityTheory.Kernel.mutualInfo_zero_kernel
{S : Type u_2}
{T : Type u_3}
{U : Type u_4}
[MeasurableSpace S]
[MeasurableSpace T]
[MeasurableSpace U]
(μ : MeasureTheory.Measure T)
:
theorem
ProbabilityTheory.Kernel.mutualInfo_congr
{S : Type u_2}
{T : Type u_3}
{U : Type u_4}
[MeasurableSpace S]
[MeasurableSpace T]
[MeasurableSpace U]
{κ η : Kernel T (S × U)}
{μ : MeasureTheory.Measure T}
(h : ⇑κ =ᵐ[μ] ⇑η)
:
theorem
ProbabilityTheory.Kernel.compProd_assoc
{S : Type u_2}
{T : Type u_3}
{U : Type u_4}
{V : Type u_5}
[MeasurableSpace S]
[MeasurableSpace T]
[MeasurableSpace U]
[MeasurableSpace V]
(ξ : Kernel T S)
[IsSFiniteKernel ξ]
(κ : Kernel (T × S) U)
[IsSFiniteKernel κ]
(η : Kernel (T × S × U) V)
[IsSFiniteKernel η]
:
((ξ.compProd κ).compProd η).map ⇑MeasurableEquiv.prodAssoc = ξ.compProd (κ.compProd (η.comap ⇑MeasurableEquiv.prodAssoc ⋯))
theorem
ProbabilityTheory.Kernel.Measure.compProd_compProd
{S : Type u_2}
{T : Type u_3}
{U : Type u_4}
[MeasurableSpace S]
[MeasurableSpace T]
[MeasurableSpace U]
(μ : MeasureTheory.Measure T)
(ξ : Kernel T S)
[IsSFiniteKernel ξ]
(κ : Kernel (T × S) U)
[IsSFiniteKernel κ]
:
μ.compProd (ξ.compProd κ) = MeasureTheory.Measure.map (⇑MeasurableEquiv.prodAssoc) ((μ.compProd ξ).compProd κ)
theorem
ProbabilityTheory.Kernel.Measure.compProd_compProd'
{S : Type u_2}
{T : Type u_3}
{U : Type u_4}
[MeasurableSpace S]
[MeasurableSpace T]
[MeasurableSpace U]
(μ : MeasureTheory.Measure T)
(ξ : Kernel T S)
[IsSFiniteKernel ξ]
(κ : Kernel (T × S) U)
[IsSFiniteKernel κ]
:
μ.compProd (ξ.compProd κ) = MeasureTheory.Measure.comap (⇑MeasurableEquiv.prodAssoc.symm) ((μ.compProd ξ).compProd κ)
theorem
ProbabilityTheory.Kernel.Measure.compProd_compProd''
{S : Type u_2}
{T : Type u_3}
{U : Type u_4}
[MeasurableSpace S]
[MeasurableSpace T]
[MeasurableSpace U]
(μ : MeasureTheory.Measure T)
(ξ : Kernel T S)
[IsSFiniteKernel ξ]
(κ : Kernel (T × S) U)
[IsSFiniteKernel κ]
:
(μ.compProd ξ).compProd κ = MeasureTheory.Measure.comap (⇑MeasurableEquiv.prodAssoc) (μ.compProd (ξ.compProd κ))
@[simp]
theorem
ProbabilityTheory.Kernel.mutualInfo_swapRight
{S : Type u_2}
{T : Type u_3}
{U : Type u_4}
[MeasurableSpace S]
[MeasurableSpace T]
[MeasurableSpace U]
[MeasurableSingletonClass S]
[MeasurableSingletonClass U]
(κ : Kernel T (S × U))
(μ : MeasureTheory.Measure T)
:
theorem
ProbabilityTheory.Kernel.mutualInfo_nonneg'
{S : Type u_2}
{T : Type u_3}
{U : Type u_4}
[MeasurableSpace S]
[MeasurableSpace T]
[MeasurableSpace U]
[MeasurableSingletonClass S]
[MeasurableSingletonClass U]
[MeasurableSingletonClass T]
{κ : Kernel T (S × U)}
{μ : MeasureTheory.Measure T}
[MeasureTheory.IsFiniteMeasure μ]
[FiniteSupport μ]
(hκ : κ.FiniteKernelSupport)
:
theorem
ProbabilityTheory.Kernel.mutualInfo_nonneg
{S : Type u_2}
{T : Type u_3}
{U : Type u_4}
[MeasurableSpace S]
[MeasurableSpace T]
[MeasurableSpace U]
[MeasurableSingletonClass S]
[MeasurableSingletonClass U]
[MeasurableSingletonClass T]
[Countable T]
{κ : Kernel T (S × U)}
{μ : MeasureTheory.Measure T}
[MeasureTheory.IsFiniteMeasure μ]
[FiniteSupport μ]
(hκ : κ.AEFiniteKernelSupport μ)
:
theorem
ProbabilityTheory.Kernel.mutualInfo_compProd
{S : Type u_2}
{T : Type u_3}
{U : Type u_4}
[MeasurableSpace S]
[MeasurableSpace T]
[MeasurableSpace U]
[MeasurableSingletonClass S]
[MeasurableSingletonClass U]
[MeasurableSingletonClass T]
[Countable S]
[Countable T]
{κ : Kernel T S}
[IsZeroOrMarkovKernel κ]
{η : Kernel (T × S) U}
[IsMarkovKernel η]
{μ : MeasureTheory.Measure T}
[MeasureTheory.IsZeroOrProbabilityMeasure μ]
[FiniteSupport μ]
(hκ : κ.AEFiniteKernelSupport μ)
(hη : η.AEFiniteKernelSupport (μ.compProd κ))
:
theorem
ProbabilityTheory.Kernel.mutualInfo_eq_fst_sub
{S : Type u_2}
{T : Type u_3}
{U : Type u_4}
[MeasurableSpace S]
[MeasurableSpace T]
[MeasurableSpace U]
[MeasurableSingletonClass S]
[MeasurableSingletonClass U]
[MeasurableSingletonClass T]
[Countable S]
[Countable T]
[Countable U]
[Nonempty S]
{κ : Kernel T (S × U)}
[IsZeroOrMarkovKernel κ]
{μ : MeasureTheory.Measure T}
[MeasureTheory.IsZeroOrProbabilityMeasure μ]
[FiniteSupport μ]
(hκ : κ.AEFiniteKernelSupport μ)
:
@[simp]
theorem
ProbabilityTheory.Kernel.mutualInfo_prod
{S : Type u_2}
{T : Type u_3}
{U : Type u_4}
[MeasurableSpace S]
[MeasurableSpace T]
[MeasurableSpace U]
[MeasurableSingletonClass S]
[MeasurableSingletonClass U]
[MeasurableSingletonClass T]
[Countable S]
[Countable T]
[Countable U]
{κ : Kernel T S}
{η : Kernel T U}
[IsZeroOrMarkovKernel κ]
[IsZeroOrMarkovKernel η]
(μ : MeasureTheory.Measure T)
[MeasureTheory.IsZeroOrProbabilityMeasure μ]
[FiniteSupport μ]
(hκ : κ.AEFiniteKernelSupport μ)
(hη : η.AEFiniteKernelSupport μ)
:
theorem
ProbabilityTheory.Kernel.mutualInfo_eq_snd_sub
{S : Type u_2}
{T : Type u_3}
{U : Type u_4}
[MeasurableSpace S]
[MeasurableSpace T]
[MeasurableSpace U]
[MeasurableSingletonClass S]
[MeasurableSingletonClass U]
[MeasurableSingletonClass T]
[Countable S]
[Countable T]
[Countable U]
[Nonempty U]
{κ : Kernel T (S × U)}
[IsZeroOrMarkovKernel κ]
{μ : MeasureTheory.Measure T}
[MeasureTheory.IsZeroOrProbabilityMeasure μ]
[FiniteSupport μ]
(hκ : κ.AEFiniteKernelSupport μ)
:
theorem
ProbabilityTheory.Kernel.entropy_condKernel_le_entropy_fst
{S : Type u_2}
{T : Type u_3}
{U : Type u_4}
[MeasurableSpace S]
[MeasurableSpace T]
[MeasurableSpace U]
[MeasurableSingletonClass S]
[MeasurableSingletonClass U]
[MeasurableSingletonClass T]
[Countable S]
[Countable T]
[Countable U]
[Nonempty S]
(κ : Kernel T (S × U))
[IsZeroOrMarkovKernel κ]
(μ : MeasureTheory.Measure T)
[MeasureTheory.IsZeroOrProbabilityMeasure μ]
[FiniteSupport μ]
(hκ : κ.AEFiniteKernelSupport μ)
:
theorem
ProbabilityTheory.Kernel.entropy_condKernel_le_entropy_snd
{S : Type u_2}
{T : Type u_3}
{U : Type u_4}
[MeasurableSpace S]
[MeasurableSpace T]
[MeasurableSpace U]
[MeasurableSingletonClass S]
[MeasurableSingletonClass U]
[MeasurableSingletonClass T]
[Countable S]
[Countable T]
[Countable U]
[Nonempty U]
{κ : Kernel T (S × U)}
[IsZeroOrMarkovKernel κ]
{μ : MeasureTheory.Measure T}
[MeasureTheory.IsZeroOrProbabilityMeasure μ]
[FiniteSupport μ]
(hκ : κ.AEFiniteKernelSupport μ)
:
theorem
ProbabilityTheory.Kernel.entropy_snd_sub_mutualInfo_le_entropy_map_of_injective
{S : Type u_2}
{T : Type u_3}
{U : Type u_4}
[MeasurableSpace S]
[MeasurableSpace T]
[MeasurableSpace U]
[MeasurableSingletonClass S]
[MeasurableSingletonClass U]
[MeasurableSingletonClass T]
[Countable S]
[Countable T]
[Countable U]
{V : Type u_6}
[Countable V]
[MeasurableSpace V]
[MeasurableSingletonClass V]
(κ : Kernel T (S × U))
[IsZeroOrMarkovKernel κ]
(μ : MeasureTheory.Measure T)
[MeasureTheory.IsZeroOrProbabilityMeasure μ]
(f : S × U → V)
(hfi : ∀ (x : S), Function.Injective fun (y : U) => f (x, y))
[FiniteSupport μ]
(hκ : κ.AEFiniteKernelSupport μ)
:
theorem
ProbabilityTheory.Kernel.entropy_reverse
{S : Type u_2}
{T : Type u_3}
{U : Type u_4}
{V : Type u_5}
[MeasurableSpace S]
[MeasurableSpace T]
[MeasurableSpace U]
[MeasurableSpace V]
[Countable S]
[MeasurableSingletonClass S]
[Countable T]
[MeasurableSingletonClass T]
[Countable U]
[MeasurableSingletonClass U]
[Countable V]
[MeasurableSingletonClass V]
{κ : Kernel T (S × U × V)}
[IsZeroOrMarkovKernel κ]
{μ : MeasureTheory.Measure T}
[MeasureTheory.IsZeroOrProbabilityMeasure μ]
[FiniteSupport μ]
(hκ : κ.AEFiniteKernelSupport μ)
:
instance
ProbabilityTheory.Kernel.IsZeroOrProbabilityMeasure.compProd
{α : Type u_6}
{β : Type u_7}
{mα : MeasurableSpace α}
{mβ : MeasurableSpace β}
(μ : MeasureTheory.Measure α)
[MeasureTheory.IsZeroOrProbabilityMeasure μ]
(κ : Kernel α β)
[IsZeroOrMarkovKernel κ]
:
theorem
ProbabilityTheory.Kernel.entropy_condKernel_compProd_triple
{S : Type u_2}
{T : Type u_3}
{U : Type u_4}
{V : Type u_5}
[MeasurableSpace S]
[MeasurableSpace T]
[MeasurableSpace U]
[MeasurableSpace V]
[Countable S]
[MeasurableSingletonClass S]
[Countable T]
[MeasurableSingletonClass T]
[Countable U]
[MeasurableSingletonClass U]
[Countable V]
[MeasurableSingletonClass V]
[Nonempty V]
(ξ : Kernel T S)
[IsZeroOrMarkovKernel ξ]
(κ : Kernel (T × S) U)
[IsMarkovKernel κ]
(η : Kernel (T × S × U) V)
[IsMarkovKernel η]
(μ : MeasureTheory.Measure T)
[MeasureTheory.IsProbabilityMeasure μ]
:
theorem
ProbabilityTheory.Kernel.entropy_submodular_compProd
{S : Type u_2}
{T : Type u_3}
{U : Type u_4}
{V : Type u_5}
[MeasurableSpace S]
[MeasurableSpace T]
[MeasurableSpace U]
[MeasurableSpace V]
[Countable S]
[MeasurableSingletonClass S]
[Countable T]
[MeasurableSingletonClass T]
[Countable U]
[MeasurableSingletonClass U]
[Countable V]
[MeasurableSingletonClass V]
{ξ : Kernel T S}
[IsZeroOrMarkovKernel ξ]
{κ : Kernel (T × S) U}
[IsZeroOrMarkovKernel κ]
{η : Kernel (T × S × U) V}
[IsMarkovKernel η]
{μ : MeasureTheory.Measure T}
[MeasureTheory.IsZeroOrProbabilityMeasure μ]
[FiniteSupport μ]
(hκ : κ.AEFiniteKernelSupport (μ.compProd ξ))
(hη : η.AEFiniteKernelSupport (μ.compProd (ξ.compProd κ)))
(hξ : ξ.AEFiniteKernelSupport μ)
:
theorem
ProbabilityTheory.Kernel.entropy_compProd_triple_add_entropy_le
{S : Type u_2}
{T : Type u_3}
{U : Type u_4}
{V : Type u_5}
[MeasurableSpace S]
[MeasurableSpace T]
[MeasurableSpace U]
[MeasurableSpace V]
[Countable S]
[MeasurableSingletonClass S]
[Countable T]
[MeasurableSingletonClass T]
[Countable U]
[MeasurableSingletonClass U]
[Countable V]
[MeasurableSingletonClass V]
{ξ : Kernel T S}
[IsZeroOrMarkovKernel ξ]
{κ : Kernel (T × S) U}
[IsMarkovKernel κ]
{η : Kernel (T × S × U) V}
[IsMarkovKernel η]
{μ : MeasureTheory.Measure T}
[MeasureTheory.IsZeroOrProbabilityMeasure μ]
[FiniteSupport μ]
(hκ : κ.AEFiniteKernelSupport (μ.compProd ξ))
(hη : η.AEFiniteKernelSupport (μ.compProd (ξ.compProd κ)))
(hξ : ξ.AEFiniteKernelSupport μ)
:
theorem
ProbabilityTheory.Kernel.entropy_triple_add_entropy_le'
{S : Type u_2}
{T : Type u_3}
{U : Type u_4}
{V : Type u_5}
[MeasurableSpace S]
[MeasurableSpace T]
[MeasurableSpace U]
[MeasurableSpace V]
[Countable S]
[MeasurableSingletonClass S]
[Countable T]
[MeasurableSingletonClass T]
[Countable U]
[MeasurableSingletonClass U]
[Countable V]
[MeasurableSingletonClass V]
{κ : Kernel T (S × U × V)}
[IsZeroOrMarkovKernel κ]
{μ : MeasureTheory.Measure T}
[MeasureTheory.IsZeroOrProbabilityMeasure μ]
[FiniteSupport μ]
(hκ : κ.AEFiniteKernelSupport μ)
:
The submodularity inequality:
theorem
ProbabilityTheory.Kernel.entropy_triple_add_entropy_le
{S : Type u_2}
{T : Type u_3}
{U : Type u_4}
{V : Type u_5}
[MeasurableSpace S]
[MeasurableSpace T]
[MeasurableSpace U]
[MeasurableSpace V]
[Countable S]
[MeasurableSingletonClass S]
[Countable T]
[MeasurableSingletonClass T]
[Countable U]
[MeasurableSingletonClass U]
[Countable V]
[MeasurableSingletonClass V]
(κ : Kernel T (S × U × V))
[IsZeroOrMarkovKernel κ]
(μ : MeasureTheory.Measure T)
[MeasureTheory.IsZeroOrProbabilityMeasure μ]
[FiniteSupport μ]
(hκ : κ.AEFiniteKernelSupport μ)
:
The submodularity inequality: