Littlestone Dimension (Online Paradigm) #
The online-learning analog of VC dimension. Characterizes mistake-bounded learnability.
A mistake tree (Littlestone tree): a complete binary tree where each internal node is labeled with an instance x.
- leaf {X : Type u} : MistakeTree X
- branch {X : Type u} : X → MistakeTree X → MistakeTree X → MistakeTree X
Instances For
Depth of a mistake tree.
Equations
- MistakeTree.leaf.depth = 0
- (MistakeTree.branch a l r).depth = 1 + max l.depth r.depth
Instances For
A mistake tree is shattered by C if every root-to-leaf path is realized by some concept in C.
Note: This branch-wise definition does NOT restrict the concept class at recursive calls. It allows different witness concepts at each tree level without requiring path consistency. Counterexample: C = {const_true, const_false} gives LittlestoneDim = ⊤ under this definition, but C is online-learnable with M = 1.
The correct definition (used in Theorem/Online.lean) restricts C at each branch:
| .branch x l r =>
(∃ c ∈ C, c x = true) ∧ (∃ c ∈ C, c x = false) ∧
isShattered X {c ∈ C | c x = true} l ∧
isShattered X {c ∈ C | c x = false} r
The characterization theorem uses the corrected version.
Equations
- MistakeTree.isShattered X C MistakeTree.leaf = True
- MistakeTree.isShattered X C (MistakeTree.branch a l r) = ((∃ c ∈ C, c a = true ∧ MistakeTree.isShattered X C l) ∧ ∃ c ∈ C, c a = false ∧ MistakeTree.isShattered X C r)
Instances For
Littlestone dimension (branch-wise variant): see Theorem/Online.lean for the
corrected path-consistent version used in the characterization theorem.
Equations
- BranchWiseLittlestoneDim X C = ⨆ (T : MistakeTree X), ⨆ (_ : MistakeTree.isShattered X C T), ↑T.depth
Instances For
Build a complete binary tree from a list of instances.
Equations
- MistakeTree.fromList [] = MistakeTree.leaf
- MistakeTree.fromList (x_1 :: xs) = MistakeTree.branch x_1 (MistakeTree.fromList xs) (MistakeTree.fromList xs)
Instances For
The depth of a mistake tree built from a list of length n equals n. The basic
well-formedness property of the fromList constructor: depth tracks list length
exactly, so the Littlestone dimension can be read off from a built tree.
If C shatters a Finset S (every labeling realized), restricting to a subset still shatters.
A shattered tree can be built from any list of elements from a shattered Finset.
Ldim (branch-wise) upper bounds VCdim: Ldim(C) ≥ VCdim(C) for all C. Uses the branch-wise definition. See Theorem/Online.lean for the corrected version.