Lemma 29.5: if VCdim(H_bin) = d then every set shattered by the One-versus-All class H^{OvA,k}_bin has size ≤ 3kd log(kd)
ProvedUnderstandingML.ova_ndim_boundnatarajan-dimensionone-versus-allsauer-lemma
Lemma 29.5. If then .
Formally: every set shattered by has size at most (natural logarithm; the bound is when ). The book's step fails for small (for , ), but the statement is true: the exact Sauer count gives it for every except and . In those two cases, group a shattered set by the label pair . On pairs the realized sets are , and on pairs with they are itself. The class cannot shatter points: on them , and the pairs all give , so at most sets. Hence for and for .
Preamble
import Definitions.Def_UnderstandingML_MulticlassLearnability open MeasureTheory open scoped InnerProductSpace
Formal statement
namespace UnderstandingML
/-- **Lemma 29.5** (p. 404). If `d = VCdim(H_bin)` then `Ndim(H^{OvA,k}_bin) ≤ 3kd log(kd)`, stated
for every shattered set. The book's proof uses `|(H_bin)_C| ≤ |C|^d`, which fails for small `|C|`
(`|C| = 2`, `d = 1`). The statement is nevertheless true: the exact Sauer count
`2^c ≤ (∑_{i ≤ d} (c choose i))^k` gives it except at `(k, d) = (2, 1), (3, 1)`. There, grouping a
shattered set by the label pair `{f₀(x), f₁(x)}` bounds it by `4` and by `4 + 4 + 1 = 9`,
because `{B \ A : A, B ∈ H_bin}` has at most `31` traces on `5` points. -/
theorem ova_ndim_bound {X : Type*} (Hbin : Set (X → Bool)) (d : ℕ) (hd : vcDim Hbin = d)
(k : ℕ) [NeZero k] (C : Finset X) (hC : NShatters (ovaClass Hbin k) C) :
(C.card : ℝ) ≤ 3 * k * d * Real.log (k * d) := by sorry
end UnderstandingML
Source
Shalev-Shwartz and Ben-David, Understanding Machine Learning: From Theory to Algorithms, Cambridge University Press 2014, doi:10.1017/CBO9781107298019, §29.3.1 pp. 404-405, Lemma 29.5 with its proof
Human review
Confirmed by the mission captain (proposal self-audit).
Confirmed by the moderator at approval.