Foundations of Machine Learning IX: Ranking and the Margin BoundTextbook
Motivation
Ranking is the learning problem behind search engines, recommendation systems and fraud-alert
triage: what matters is not a single classification decision but the relative order the system
assigns to a set of items, because a user or analyst can only act on the very top of a ranked
list. Chapter 10 develops margin-based generalization theory for the score-based ranking
setting, transplanting chunk 05-svm's single-sample Rademacher-complexity machinery to a
genuinely two-sample structure: a ranking example is a pair of points, one drawn from each of
two positions, and the chapter's bound must therefore control two marginal complexities rather
than one. It also introduces RankBoost, the ranking analogue of AdaBoost, with a boosting-style
empirical-error guarantee proved by the same normalization-factor telescoping argument as
chunk 07's AdaBoost bound, adapted to RankBoost's own pairwise per-round quantities.
Setting
A ranking example is a pair (x,x') drawn from a distribution D over X×X, labeled by a
preference function f; restricted to {-1,+1} labels (the simplification §10.2 adopts), a
scoring function h:X→ℝ misranks (x,x') when f(x,x')(h(x')-h(x)) ≤ 0 (Eq. 10.1/10.2). The
empirical margin loss R̂_{S,ρ}(h) (Eq. 10.3) uses the same Φ_ρ (Definition 5.5) as chunk
05-svm, restated locally here. Writing S1, S2 for the two coordinate projections of a
pair sample S, and D1, D2 for the corresponding marginals of D, R_m^{D1}(H) and
R_m^{D2}(H) are the Rademacher complexities of H under each marginal (p. 241). Theorem
10.1 bounds R(h) in terms of these two Rademacher-complexity terms, both in their population
form (R_m^{D1}, R_m^{D2}) and their empirical form (R̂_{S1}, R̂_{S2}), via chunk 03's
Theorem 3.3 applied through an auxiliary hypothesis family H̃ = {((x,x'),y) ↦ y[h(x')-h(x)]}.
Corollary 10.2 specializes this to kernel-based linear scoring hypotheses; §10.4 introduces
RankBoost (Figure 10.1), whose per-round weighted pairwise-outcome fractions ε_t^+, ε_t^-
(Eq. 10.11) play the role AdaBoost's single ε_t plays in chunk 07, and Theorem 10.3 bounds
RankBoost's empirical error in terms of them. Corollary 10.4 combines Theorem 10.1 with Lemma
7.4 (the convex hull of H has the same empirical Rademacher complexity as H, restated as a
standing fact of the boosting series) to give RankBoost's own margin-based guarantee.
Formalization targets
Theorem 10.1 — the mission's goal. For H a set of real-valued functions, ρ>0, δ>0,
with probability at least 1-δ, for all h∈H:
Corollary 10.2 (milestone). For a PDS kernel K with r an upper bound on K(x,x),
feature map Φ, and H = {x↦w·Φ(x) : ‖w‖≤Λ}, fixed ρ>0: R(h) ≤ R̂_{S,ρ}(h) + 4√(r²Λ²/ρ²/m) + √(log(1/δ)/(2m)).
Theorem 10.3 (milestone). RankBoost's empirical error verifies R̂_S(f) ≤ exp(-2∑_t((ε_t^+-ε_t^-)/2)²), and ≤ exp(-2γ²T) if the edge is uniformly at least γ>0.
Corollary 10.4 (milestone). Theorem 10.1's first bound, applied to h∈conv(H).
Significance
Theorem 10.1's proof is the chapter's genuine new technique, not a restatement of chunk 05's
Theorem 5.8: the two-sample decomposition (splitting the supremum over H̃ into a term on x'
alone and a term on x alone, each bounded by the Rademacher complexity under its own
marginal) is what the 2/ρ · (R_m^{D1}+R_m^{D2}) structure expresses, and collapsing it to a
single-sample bound would either be false or silently assume D1=D2 (which only holds for a
symmetric D, an assumption the theorem does not make). Corollary 10.2 is the direct
theoretical basis for the ranking SVM algorithm §10.3 derives. Theorem 10.3 mirrors chunk
07-boosting's Theorem 7.2 almost line for line in its proof technique (the same telescoping
product of normalization factors Z_t), but with genuinely different per-round quantities
(ε_t^+, ε_t^- rather than a single ε_t) that must not be conflated with AdaBoost's own, per
BRIEF.md's pitfall note. Corollary 10.4 is what makes RankBoost's output (a linear, not
convex, combination — normalized by ‖α‖_1) provably generalize independently of the number of
boosting rounds T, the ranking analogue of chunk 07's Corollary 7.5. No prior art exists on
the platform: GET /theorems?q=ranking%20loss returns zero hits.
Difficulty
Theorem 10.1's proof needs the two-sample structure carried through explicitly: H̃'s
Rademacher complexity splits, via the sub-additivity of sup and the fact that y_iσ_i and
σ_i have the same distribution, into a term on S2 alone and a term on S1 alone — treating
a ranking sample as an ordinary single sample (chunk 03's single-hypothesis-set machinery
applied naively) would drop this structure entirely and is exactly the pitfall BRIEF.md
names. Theorem 10.3's proof requires Z_t = ε_t^0 + 2√(ε_t^+ε_t^-) be bounded via the identity
4ε_t^+ε_t^- = (1-ε_t^0)^2 - (ε_t^+-ε_t^-)^2 and the inequality 1-x ≤ e^{-x} — the same
telescoping-normalizer technique as AdaBoost's Theorem 7.2, but RankBoost's own D_t,
ε_t^+, ε_t^- genuinely differ (they are defined via pairwise outcomes y_i(h(x'_i)-h(x_i)) ∈ {-1,0,+1}, not a single-point disagreement h(x_i)≠y_i) and must be modeled as their own
recursively-defined algorithm state, not obtained by substitution into chunk 07's AdaBoost
Lean.
Formalization scope
MarginLossFunction restates chunk 05-svm's Definition 5.5; EmpiricalRademacherComplexity/
RademacherComplexity restate chunk 03-rademacher-vc's Definitions 3.1/3.2; IsPDS restates
chunk 06-kernels's PDS-kernel definition; ConvHull restates chunk 07-boosting's convex-hull
definition — all duplicated rather than imported since a draft item cannot import another
chunk's draft module, and none is listed as reusable in missions/README.md's "Published
definitions" table at the time of this session. D1, D2 are computed directly as
Measure.map Prod.fst D/Measure.map Prod.snd D rather than posited via a separate marginal
hypothesis, so the theorem statement itself pins down that they are genuinely the marginals of
the sampling distribution D, not independent parameters. Corollary 10.2's r is an explicit
upper bound on K(x,x) (hrK : ∀ x, K x x ≤ r) rather than a literal sSup, per BRIEF.md's
pitfall note about the possibly-infinite supremum — the theorem's conclusion is monotonic in
r, so this is not a weakening. RankBoost's D_t, ε_t^+, ε_t^-, α_t, Z_t and returned
function f are modeled as their own recursively-defined algorithm state (mirroring chunk
07's AdaBoostDist/AdaBoostEpsilon/AdaBoostEnsemble pattern exactly, but built from
RankBoost's own pairwise-outcome quantities, never by substituting into the AdaBoost Lean, per
BRIEF.md's pitfall note) — RankBoostEpsilonPlus/RankBoostEpsilonMinus are already tied to
RankBoost's own D_t and selected base ranker, so Theorem 10.3 needs no separate hypothesis
connecting them (the same trivialization guard chunk 07's own Theorem 7.2 documents). No
numerical constant is altered from the book in any of the four theorems.
Not formalized: §10.3's ranking-SVM primal/dual optimization problems (an algorithm derived
from Corollary 10.2, not a generalization-theoretic result); §10.4.2 (RankBoost as coordinate
descent, an algorithmic-equivalence argument, not a generalization bound); §10.5 (bipartite
ranking, its own distinct problem formulation with a different generalization error, Eq. 10.20,
explicitly out of scope per BRIEF.md); §10.6-10.7 (preference-based ranking, other criteria),
out of scope per BRIEF.md. The uniform-over-ρ extension mentioned after both Theorem 10.1's
and Corollary 10.2's proofs (referencing Theorem 5.9's technique from a different chapter) is
not drafted, matching chunk 09-multiclass's identical scope decision for the analogous remark.
Selected references
- M. Mohri, A. Rostamizadeh, A. Talwalkar, Foundations of Machine Learning, 2nd ed., MIT Press, 2018, Chapter 10 (§10.1-10.4).
- Y. Freund, R. Iyer, R. E. Schapire, Y. Singer, "An efficient boosting algorithm for combining preferences," JMLR 4, 2003 (RankBoost's origin).
- C. Cortes, M. Mohri, "AUC optimization vs. error rate minimization," NeurIPS 2003 (the ranking-SVM connection §10.3 develops).