Repository navigation
feat: the telescoping of the mix losses of exponential weights, stated once - #376
Merged
lmlexplore-automation[bot] merged 3 commits intoNov 14, 2026
Conversation
…d once Move `mixLoss`, `hedgePotential` and their lemmas from AdaHedge to `OnlineLearning/ExponentialWeights.lean`, prove the telescoping of the mix losses of exponential weights with nonincreasing learning rates, and derive the anytime regret bounds of exponential weights from it. AdaHedge's telescoping uses the same step lemma. Co-Authored-By: Claude Code <noreply@github.com>
RemyDegenne
commented
Nov 14, 2026
Contributor
Author
AI review — approvedEach rubric is judged independently by multiple review agents; the PR merges only once every rubric is green — any rubric that is not green (changes requested, blocked, errored, stale, or not yet run) blocks the merge. See the rubrics.
♻️ = approved on an earlier commit, re-run before merge. Reviewing this diff at head |
… term Co-Authored-By: Claude Code <noreply@github.com>
RemyDegenne
commented
Nov 14, 2026
…edge Co-Authored-By: Claude Code <noreply@github.com>
Merged
via the queue into
LeanMachineLearning:main
with commit Nov 14, 2026
7fc7870
25 of 27 checks passed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR states the potential lemmas of exponential weights once, in$\langle p,y\rangle+\frac1\eta\log\sum_ap_ae^{-\eta y_a}$ , is the mixability gap that
OnlineLearning/ExponentialWeights.lean, and derives the anytime regret bound of exponential weights and AdaHedge's telescoping from them. This is Generalization 1.13 ("Anytime exponential weights"), second bullet: "OnlineLearning/AdaHedge.leanproves the same telescoping of the exponential-weights potential a second time (mixLoss,hedgePotential,mixLoss_softmax,hedgePotential_le_of_leand the privatesum_adaHedgeMixLoss_le, already for decreasing rates). State these potential lemmas once, inOnlineLearning/ExponentialWeights.lean; the anytime bound and AdaHedge's regret bound both use them. The stability term of Bandits 6.4,mixLosscomputes." The first bullet (the local-norm boundsoftmax_regret_le_of_antitonewithsoftmax_regret_leas its constant case) was already onmain.Roadmap: Generalization
What changes:
AdaHedge.lean→ExponentialWeights.lean):mixLoss,mixLoss_def,mixLoss_le_sum_mul,le_mixLoss,hedgePotential,hedgePotential_def,hedgePotential_eq_mixLoss,mixLoss_softmax,hedgePotential_le,le_hedgePotential,hedgePotential_le_of_le.sum_mul_le_mixLoss_add(Hoeffding's lemma for the mix loss) stays inAdaHedge.lean, its only user, so thatExponentialWeights.leandoes not import the sub-Gaussian theory.Simplex.lean→ExponentialWeights.lean):softmax_regret_le_sum_exp_of_antitone,softmax_regret_le_of_antitone,softmax_regret_le_of_antitone_of_neg_one_le,softmax_regret_le,softmax_regret_le_of_neg_one_le. Their users (Exp3, Exp3-IX, Exp4, linear Exp3) importSimplex.lean, which importsExponentialWeights.lean, so no import changes.ExponentialWeights.lean:mixLoss_eq_neg_log_div(the mix loss with the exponent insimpnormal form),mixLoss_le_iffandle_mixLoss_iff(for0 < η, comparing the mix loss with a constantcis comparinglog ∑ a, w a * exp (-η * ℓ a)with-η * c; used bymixLoss_le_sum_mul,le_mixLossand AdaHedge'ssum_mul_le_mixLoss_add),hedgePotential_zero_right(@[simp]),hedgePotential_le_sum_mul(the potential is at most⟨u, L⟩ + log k / ηfor everyuin the simplex),sum_mul_sub_mixLoss_le(the mixability gap is at most(∑ p (exp (-(η y)) - 1 + η y)) / η, fromlog x ≤ x - 1),add_mixLoss_softmax_le_hedgePotential(one step of the telescoping),sum_mixLoss_softmax_le_of_antitone(with nonincreasing rates the total mix loss of exponential weights is at mosthedgePotential (η (n - 1)) (∑ t < n, y t)), andsoftmax_regret_le_sum_sub_mixLoss_of_antitone(regret ≤log k / η (n - 1)+ the sum of the mixability gaps).softmax_regret_le_sum_exp_of_antitonenow follows fromsoftmax_regret_le_sum_sub_mixLoss_of_antitoneandsum_mul_sub_mixLoss_le. Before, it went through FTRL with the negative entropy (ftrl_regret_succ_le_of_antitone). The four local-norm corollaries keep their proofs. In AdaHedge's privatesum_adaHedgeMixLoss_le, the exponential-weights rounds now go throughadd_mixLoss_softmax_le_hedgePotential. The follow-the-leader rounds (infinite learning rate) keep their own argument, because no exponential weights are played there.isGreatest_sum_sub_mul_sub_sum_mul_log_div_div(Simplex.lean) now gives the maximum of the FTRL stability term as the mixability gap∑ a, p a * y a - mixLoss η p y, which is the same value as before.sum_sub_mul_sub_sum_mul_log_div_div_leis re-proved throughsum_mul_sub_mixLoss_le. Neither had a user outsideSimplex.lean.Mathlib.Analysis.MeanInequalitiesPowmoves fromAdaHedge.leantoExponentialWeights.lean, where the power-mean step ofhedgePotential_le_of_lenow lives. Module docstrings of the four touched files are updated (including a stale cross-reference inExponentiatedGradient.lean).What remains: Generalization 1.13 is met once this lands. Target 1.14 (Exp4-IX with learning-rate sequences, after 1.12) can then use
softmax_regret_le_sum_exp_of_antitoneor the mixability-gap form, and OnlineLearning 10.1 can treatmixLossandhedgePotentialas the finite case of Gibbs mixtures in their new home.Sources: the telescoping of the mix losses with decreasing learning rates is the argument of de Rooij, van Erven, Grünwald and Koolen, Follow the leader if you can, hedge if you must (JMLR 2014), Section 2, which
AdaHedge.leanalready cited. It is now cited inExponentialWeights.leantoo, along with [Ora, Section 7.5] and [BCB12]. No Mathlib material is vendored.Local verification (
tauceti-local-checks verify --policy ordinary, local checks, not CI):scope: scoped: against 3af64fae786dd9a2aa021aa47b8e4305858822ed; the whole-librarylake build --iofailpassed;local-axioms: checked 4 changed module(s), 144 declaration(s); 0 violation(s); module-system, header-style and local-lint (14 environment linters) passed.🤖 Prepared with Claude Code