Documentation

Studies.ZaslavskyEtAl2019

Zaslavsky et al. (2019): Color Naming Reflects Both Perceptual Structure and Communicative Need #

This file formalizes [ZKTR19]'s information-theoretic link between communicative need and communicative precision in color naming. A language's color naming distribution p(w | c) is a channel κ : Kernel C W from colors to words and a need distribution is a prior μ over colors. The expected surprisal S(c) of a color (eq. 1) is the surprisal of the color to a listener who hears its name and inverts the lexicon by Bayes' rule (eq. 2), the measure of communicative imprecision with which [GFJE+17] found warm colors named more precisely than cool ones. The capacity of the lexicon (eqs. 3 and 4) is channelCapacity κ, and the paper's central observation is that the need distributions attaining it are those with p(c) ∝ exp(−S(c)) (eq. 5, capacityAchieving_iff), so that −log p(c) is linear in S(c) with slope one (eq. 6, neg_log_eq_add_channelCapacity). The intercept log Z of eq. 6 is the capacity itself.

The divergence of the row κ c from the word marginal is −S(c) − log p(c) (toReal_klDiv_eq), so eq. 5 is the divergence condition of InformationTheory's capacity theorems: sufficiency (measureMutualInfo_compProd_eq_channelCapacity) and necessity at a prior of positive mass everywhere (toReal_klDiv_eq_channelCapacity).

The artificial naming systems obtained by clustering the chips in perceptual space are deterministic channels (ofPartition). Under a uniform need the surprisal of a color is the log size of its cluster (expectedSurprisal_ofPartition_uniformOn), so that their warm–cool asymmetry is an asymmetry in cluster size (warmCoolAsymmetry_ofPartition_uniformOn_iff). The prior spreading mass equally over clusters (clusterPrior) is capacity-achieving (capacityAchieving_clusterPrior) and the capacity of a k-term clustering system is log k (channelCapacity_ofPartition). The universal need distribution inferred from the World Color Survey averages the per-language capacity-achieving priors (eq. 7), which are the least informative priors of [ZKRT18] (isLeastInformative_iff).

Implementation notes #

References #

Communicative precision #

noncomputable def ZaslavskyEtAl2019.expectedSurprisal {C : Type u_1} {W : Type u_2} [MeasurableSpace C] [MeasurableSpace W] [Fintype C] [MeasurableSingletonClass C] [Nonempty C] (κ : ProbabilityTheory.Kernel C W) [ProbabilityTheory.IsFiniteKernel κ] (μ : MeasureTheory.Measure C) [MeasureTheory.IsFiniteMeasure μ] (c : C) :
ℝ

The expected surprisal S(c) of a color (eq. 1): the surprisal of the color to a listener who hears its name and recovers a color by Bayes' rule (eq. 2), averaged over its names. Lower values mean more precise communication.

Equations
Instances For

    The temperature of a color chip.

    Instances For
      @[instance_reducible]
      Equations
      Equations
      • One or more equations did not get rendered due to their size.
      Instances For
        def ZaslavskyEtAl2019.WarmCoolAsymmetry {C : Type u_1} {W : Type u_2} [MeasurableSpace C] [MeasurableSpace W] [Fintype C] [MeasurableSingletonClass C] [Nonempty C] (κ : ProbabilityTheory.Kernel C W) [ProbabilityTheory.IsFiniteKernel κ] (μ : MeasureTheory.Measure C) [MeasureTheory.IsFiniteMeasure μ] (temp : C → Temperature) :

        The warm–cool asymmetry of [GFJE+17]: under the need distribution μ, the warm colors have lower mean expected surprisal than the cool ones.

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

          Need and precision at capacity #

          theorem ZaslavskyEtAl2019.neg_expectedSurprisal {C : Type u_1} {W : Type u_2} [MeasurableSpace C] [MeasurableSpace W] [Fintype C] [MeasurableSingletonClass C] [Nonempty C] (κ : ProbabilityTheory.Kernel C W) [ProbabilityTheory.IsMarkovKernel κ] (μ : MeasureTheory.Measure C) [MeasureTheory.IsProbabilityMeasure μ] (c : C) :
          -expectedSurprisal κ μ c = ∫ (w : W), Real.log (((ProbabilityTheory.posterior κ μ) w).real {c}) ∂κ c

          The expected surprisal is the negative expected log posterior.

          theorem ZaslavskyEtAl2019.toReal_klDiv_eq {C : Type u_1} {W : Type u_2} [MeasurableSpace C] [MeasurableSpace W] [Fintype C] [MeasurableSingletonClass C] [MeasurableSingletonClass W] [Nonempty C] [Fintype W] (κ : ProbabilityTheory.Kernel C W) [ProbabilityTheory.IsMarkovKernel κ] (μ : MeasureTheory.Measure C) [MeasureTheory.IsProbabilityMeasure μ] {c : C} (hc : μ {c} ≠ 0) :
          (InformationTheory.klDiv (κ c) (μ.bind ⇑κ)).toReal = -expectedSurprisal κ μ c - Real.log (μ.real {c})

          The identity behind eq. 5: the divergence of a color's naming distribution from the word marginal is its negative expected surprisal less its log need.

          theorem ZaslavskyEtAl2019.neg_log_eq_add_channelCapacity {C : Type u_1} {W : Type u_2} [MeasurableSpace C] [MeasurableSpace W] [Fintype C] [MeasurableSingletonClass C] [MeasurableSingletonClass W] [Nonempty C] [Fintype W] (κ : ProbabilityTheory.Kernel C W) [ProbabilityTheory.IsMarkovKernel κ] (μ : MeasureTheory.Measure C) [MeasureTheory.IsProbabilityMeasure μ] (h : InformationTheory.measureMutualInfo (μ.compProd κ) = InformationTheory.channelCapacity κ) (hμ : ∀ (c : C), μ {c} ≠ 0) (c : C) :
          -Real.log (μ.real {c}) = expectedSurprisal κ μ c + InformationTheory.channelCapacity κ

          Eq. 6: at a capacity-achieving need distribution of positive mass everywhere, −log p(c) is linear in the expected surprisal with slope one, and the intercept is the capacity of the lexicon.

          theorem ZaslavskyEtAl2019.capacityAchieving_iff {C : Type u_1} {W : Type u_2} [MeasurableSpace C] [MeasurableSpace W] [Fintype C] [MeasurableSingletonClass C] [MeasurableSingletonClass W] [Nonempty C] [Fintype W] (κ : ProbabilityTheory.Kernel C W) [ProbabilityTheory.IsMarkovKernel κ] (μ : MeasureTheory.Measure C) [MeasureTheory.IsProbabilityMeasure μ] :
          (InformationTheory.measureMutualInfo (μ.compProd κ) = InformationTheory.channelCapacity κ ∧ ∀ (c : C), μ {c} ≠ 0) ↔ ∃ Z > 0, ∀ (c : C), μ.real {c} = Real.exp (-expectedSurprisal κ μ c) / Z

          Eq. 5: a need distribution satisfies p(c) ∝ exp(−S(c)) exactly when it is capacity-achieving and gives every color positive mass. The condition says that the need distribution is a fixed point of the Blahut–Arimoto update (eq_blahutArimoto_iff).

          Naming systems from a hard clustering #

          @[reducible, inline]
          noncomputable abbrev ZaslavskyEtAl2019.ofPartition {C : Type u_1} {W : Type u_2} [MeasurableSpace C] [MeasurableSpace W] [Fintype C] [MeasurableSingletonClass C] (f : C → W) :
          ProbabilityTheory.Kernel C W

          The naming system of a hard clustering: each color is named by the term of its cluster.

          Equations
          Instances For
            theorem ZaslavskyEtAl2019.expectedSurprisal_ofPartition {C : Type u_1} {W : Type u_2} [MeasurableSpace C] [MeasurableSpace W] [Fintype C] [MeasurableSingletonClass C] [MeasurableSingletonClass W] [Nonempty C] (f : C → W) (μ : MeasureTheory.Measure C) [MeasureTheory.IsProbabilityMeasure μ] {c : C} (hc : μ {c} ≠ 0) :
            expectedSurprisal (ofPartition f) μ c = Real.log (μ.real (f ⁻¹' {f c})) - Real.log (μ.real {c})

            Under a clustering system, the surprisal of a color is the log need of its cluster less its own log need.

            theorem ZaslavskyEtAl2019.expectedSurprisal_ofPartition_uniformOn {C : Type u_1} {W : Type u_2} [MeasurableSpace C] [MeasurableSpace W] [Fintype C] [MeasurableSingletonClass C] [MeasurableSingletonClass W] [Nonempty C] (f : C → W) (c : C) :
            expectedSurprisal (ofPartition f) (ProbabilityTheory.uniformOn Set.univ) c = Real.log ↑(f ⁻¹' {f c}).ncard

            Under a uniform need, the surprisal of a color in a clustering system is the log size of its cluster (Fig. 3C).

            theorem ZaslavskyEtAl2019.warmCoolAsymmetry_ofPartition_uniformOn_iff {C : Type u_1} {W : Type u_2} [MeasurableSpace C] [MeasurableSpace W] [Fintype C] [MeasurableSingletonClass C] [MeasurableSingletonClass W] [Nonempty C] (f : C → W) (temp : C → Temperature) :
            WarmCoolAsymmetry (ofPartition f) (ProbabilityTheory.uniformOn Set.univ) temp ↔ (∑ c : C with temp c = Temperature.warm, Real.log ↑(f ⁻¹' {f c}).ncard) / ↑{x : C | temp x = Temperature.warm}.card < (∑ c : C with temp c = Temperature.cool, Real.log ↑(f ⁻¹' {f c}).ncard) / ↑{x : C | temp x = Temperature.cool}.card

            For a clustering system, the warm–cool asymmetry under a uniform need is an asymmetry in mean log cluster size (Fig. 3C).

            The capacity-achieving prior of a clustering system #

            noncomputable def ZaslavskyEtAl2019.clusterPrior {C : Type u_1} {W : Type u_2} [MeasurableSpace C] [Fintype C] [DecidableEq W] (f : C → W) :
            MeasureTheory.Measure C

            The need distribution that spreads mass equally over the clusters of f and uniformly within each: a capacity-achieving prior of one clustering system, of the kind averaged into KM-CAP (Fig. 4B).

            Equations
            • ZaslavskyEtAl2019.clusterPrior f = (↑(Finset.image f Finset.univ).card)⁻¹ • ∑ w ∈ Finset.image f Finset.univ, ProbabilityTheory.uniformOn (f ⁻¹' {w})
            Instances For
              theorem ZaslavskyEtAl2019.clusterPrior_apply_singleton {C : Type u_1} {W : Type u_2} [MeasurableSpace C] [MeasurableSpace W] [Fintype C] [MeasurableSingletonClass C] [MeasurableSingletonClass W] [DecidableEq W] (f : C → W) (c : C) :
              (clusterPrior f) {c} = (↑(Finset.image f Finset.univ).card)⁻¹ * (↑(f ⁻¹' {f c}).ncard)⁻¹
              instance ZaslavskyEtAl2019.instIsProbabilityMeasureClusterPrior {C : Type u_1} {W : Type u_2} [MeasurableSpace C] [Fintype C] [MeasurableSingletonClass C] [Nonempty C] [DecidableEq W] (f : C → W) :
              MeasureTheory.IsProbabilityMeasure (clusterPrior f)
              theorem ZaslavskyEtAl2019.clusterPrior_real_singleton {C : Type u_1} {W : Type u_2} [MeasurableSpace C] [MeasurableSpace W] [Fintype C] [MeasurableSingletonClass C] [MeasurableSingletonClass W] [DecidableEq W] (f : C → W) (c : C) :
              (clusterPrior f).real {c} = (↑(Finset.image f Finset.univ).card * ↑(f ⁻¹' {f c}).ncard)⁻¹
              theorem ZaslavskyEtAl2019.clusterPrior_real_preimage {C : Type u_1} {W : Type u_2} [MeasurableSpace C] [MeasurableSpace W] [Fintype C] [MeasurableSingletonClass C] [MeasurableSingletonClass W] [Nonempty C] [DecidableEq W] (f : C → W) (c : C) :
              (clusterPrior f).real (f ⁻¹' {f c}) = (↑(Finset.image f Finset.univ).card)⁻¹
              theorem ZaslavskyEtAl2019.expectedSurprisal_ofPartition_clusterPrior {C : Type u_1} {W : Type u_2} [MeasurableSpace C] [MeasurableSpace W] [Fintype C] [MeasurableSingletonClass C] [MeasurableSingletonClass W] [Nonempty C] [DecidableEq W] (f : C → W) (c : C) :
              expectedSurprisal (ofPartition f) (clusterPrior f) c = Real.log ↑(f ⁻¹' {f c}).ncard

              Under the cluster prior, the surprisal of a color is the log size of its cluster.

              theorem ZaslavskyEtAl2019.capacityAchieving_clusterPrior {C : Type u_1} {W : Type u_2} [MeasurableSpace C] [MeasurableSpace W] [Fintype C] [MeasurableSingletonClass C] [MeasurableSingletonClass W] [Nonempty C] [DecidableEq W] [Fintype W] (f : C → W) :

              The cluster prior satisfies eq. 5 with normalizer the number of terms, so it is a capacity-achieving prior of the clustering system (Fig. 4B).

              theorem ZaslavskyEtAl2019.channelCapacity_ofPartition {C : Type u_1} {W : Type u_2} [MeasurableSpace C] [MeasurableSpace W] [Fintype C] [MeasurableSingletonClass C] [MeasurableSingletonClass W] [Nonempty C] [DecidableEq W] [Fintype W] (f : C → W) :
              InformationTheory.channelCapacity (ofPartition f) = Real.log ↑(Finset.image f Finset.univ).card

              The capacity of a k-term clustering system is log k: the intercept of eq. 6 at its capacity-achieving prior.

              The universal need distribution #

              Eq. 7 averages the per-language capacity-achieving priors into a universal need distribution, following [ZKRT18]: it is that paper's least informative source (ZaslavskyKempRegierTishby2018.averagePrior), whose per-language priors are the least informative priors of the languages' naming distributions.

              theorem ZaslavskyEtAl2019.isLeastInformative_iff {C : Type u_1} {W : Type u_2} [MeasurableSpace C] [MeasurableSpace W] [Fintype C] [MeasurableSingletonClass C] [MeasurableSingletonClass W] [Nonempty C] [Fintype W] (κ : ProbabilityTheory.Kernel C W) [ProbabilityTheory.IsMarkovKernel κ] (μ : MeasureTheory.Measure C) [MeasureTheory.IsProbabilityMeasure μ] :
              (ZaslavskyKempRegierTishby2018.IsLeastInformative μ κ ∧ ∀ (c : C), μ {c} ≠ 0) ↔ ∃ Z > 0, ∀ (c : C), μ.real {c} = Real.exp (-expectedSurprisal κ μ c) / Z

              The per-language priors averaged in eq. 7 are the least informative priors of [ZKRT18]; those of positive mass everywhere are exactly the need distributions satisfying eq. 5.