Documentation

FLT_Proofs.Complexity.VCDimension

VC Dimension and Shattering #

The foundational complexity measure for PAC learning. Bridges to Mathlib's Finset.vcDim via Bridge.lean.

def Shatters (X : Type u) (C : ConceptClass X Bool) (S : Finset X) :

A set S ⊆ X is shattered by concept class C if every labeling of S is realized by some concept in C.

Equations
  • Shatters X C S = ∀ (f : SBool), cC, ∀ (x : S), c x = f x
Instances For
    noncomputable def VCDim (X : Type u) (C : ConceptClass X Bool) :

    VC dimension of a concept class: the size of the largest shattered set. Returns ℕ∞ = WithTop ℕ.

    Equations
    Instances For
      noncomputable def GrowthFunction (X : Type u) (C : ConceptClass X Bool) :

      Growth function (shattering coefficient): π_C(m) = max_{|S|=m} |{c|_S : c ∈ C}|. For each m-element set S, counts the number of distinct restrictions of C to S, then takes the supremum over all such S.

      Equations
      Instances For
        noncomputable def StarNumber (X : Type u) (C : ConceptClass X Bool) :

        Star number (dual VC dimension): the largest d such that there exists a set S of size d where for each x ∈ S, some concept in C separates x from the rest (i.e., ∃ c ∈ C, c x ≠ c y for all y ∈ S, y ≠ x in the appropriate sense). Formally: largest |S| where ∀ x ∈ S, ∃ c ∈ C, c(x) = true ∧ ∀ y ∈ S, y ≠ x → c(y) = false. Haussler-Welzl 1987: d*(C) = VCDim of the dual system.

        Equations
        Instances For