Lean module · EXP3
BanditRLProof.Exp3PureBernstein
# Variance-sensitive pure-Hedge cross-weight concentration This module replaces the range-squared Hoeffding proxy for the pure-Hedge cross-weighted estimator by a fixed-tilt second-moment budget. The sign is `predictable pure loss - observed cross-weighted loss`, as consumed by the sampled Hedge regret decomposition.
Module map
Imports
BanditRLProof.Exp3ComparatorBernstein, BanditRLProof.Exp3PureConfidence
Imported by
BanditRLProof, BanditRLProof.Exp3BernsteinHighProbabilityRegret
Declarations
Open an item to read its exact compact statement and source link. Detailed teaching notes are linked when registered.
theorem
BanditRLProof.Exp3.weightedImportanceWeightedLoss_eq_selected
Compiled
On the finite support, the cross-weighted estimator has only the sampled coordinate as a nonzero summand.
theorem weightedImportanceWeightedLoss_eq_selected {Action : Type u} [DecidableEq Action] (arms : Finset Action) (prob weight loss : Action -> Real) (chosen : Action) (hchosen : chosen ∈ arms) : weightedImportanceWeightedLoss arms prob weight loss chosen = weight chosen * loss chosen / prob chosen
theorem
BanditRLProof.Exp3.sum_prob_mul_sq_weightedEstimatorMeanMinusRaw_le_inv_floor
Compiled
The centered pure-Hedge cross-weighted estimator has second moment at most the reciprocal exploration floor.
theorem sum_prob_mul_sq_weightedEstimatorMeanMinusRaw_le_inv_floor {Action : Type u} [DecidableEq Action] (arms : Finset Action) (prob weight loss : Action -> Real) (hprob : FiniteActionDistribution arms prob) (hweight : FiniteActionDistribution arms weight) (epsilon : Real) (hepsilon : 0 < epsilon) (hfloor : forall action, action ∈ arms -> epsilon <= prob action) (hloss : forall action, action ∈ arms -> loss action ∈ Set.Icc (0 : Real) 1) : let mean := arms.sum (fun action => weight action * loss action) arms.sum (fun chosen => prob chosen * (mean - weightedImportanceWeightedLoss arms prob weight loss chosen) ^ 2) <= 1 / epsilon
theorem
BanditRLProof.Exp3.finiteActionWeightedEstimatorMeanMinusRaw_hasMGFUpperBoundAt
Compiled
Fixed-tilt MGF budget for the sign used by the pure-Hedge regret route.
theorem finiteActionWeightedEstimatorMeanMinusRaw_hasMGFUpperBoundAt {Action : Type u} [MeasurableSpace Action] [MeasurableSingletonClass Action] [DecidableEq Action] (arms : Finset Action) (harms : arms.Nonempty) (prob weight loss : Action -> Real) (hprob : FiniteActionDistribution arms prob) (hweight : FiniteActionDistribution arms weight) (epsilon : Real) (hepsilon : 0 < epsilon) (hfloor : forall action, action ∈ arms -> epsilon <= prob action) (hloss : forall action, action ∈ arms -> loss action ∈ Set.Icc (0 : Real) 1) (tilt : Real) (htilt_nonneg : 0 <= tilt) (htilt_le : tilt <= epsilon) : let mean := arms.sum (fun action => weight action * loss action) Concentration.HasMGFUpperBoundAt (fun chosen => mean - weightedImportanceWeightedLoss arms prob weight loss chosen) tilt (tilt ^ 2 / epsilon) (finiteActionMeasure arms prob)
theorem
BanditRLProof.Exp3.weightedEstimatorMeanMinusRaw_hasCondMGFUpperBoundAt_of_condDistrib_ae_eq_finiteActionKernel
Compiled
An identified finite conditional action law transports the variance-sensitive fixed-tilt budget for `mean - cross-weighted estimator`.
theorem weightedEstimatorMeanMinusRaw_hasCondMGFUpperBoundAt_of_condDistrib_ae_eq_finiteActionKernel {Omega : Type u} {History : Type v} {Action : Type w} [mOmega : MeasurableSpace Omega] [StandardBorelSpace Omega] [Nonempty Omega] [mHistory : MeasurableSpace History] [StandardBorelSpace History] [mAction : MeasurableSpace Action] [MeasurableSingletonClass Action] [StandardBorelSpace Action] [Nonempty Action] [DecidableEq Action] (mu : Measure Omega) [IsFiniteMeasure mu] (history : Omega -> History) (hhistory : Measurable history) (action : Omega -> Action) (haction : Measurable action) (arms : Finset Action) (harms : arms.Nonempty) (prob weight loss : History -> Action -> Real) (probSource : MeasurableFiniteActionDistribution arms prob) (weightSource : MeasurableFiniteActionDistribution arms weight) (epsilon : Real) (regularity : BoundedMeasurableLossWithProbabilityFloor arms prob loss epsilon) (tilt : Real) (htilt_nonneg : 0 <= tilt) (htilt_le : tilt <= epsilon) (hcond : condDistrib action history mu =ᵐ[mu.map history] finiteActionKernel arms prob probSource) : Concentration.HasCondMGFUpperBoundAt (mHistory.comap history) hhistory.comap_le (fun omega => arms.sum (fun candidate => weight (history omega) candidate * loss (history omega) candidate) - weightedImportanceWeightedLoss arms (prob (history omega)) (weight (history omega)) (loss (history omega)) (action omega)) tilt (tilt ^ 2 / epsilon) mu
def
BanditRLProof.Exp3.sampledTrajectoryPurePredictableMinusWeightedAt
Compiled
Latent predictable form of the sign-correct pure-Hedge deviation.
noncomputable def sampledTrajectoryPurePredictableMinusWeightedAt {Env : Type u} {Action : Type v} [MeasurableSpace Env] [MeasurableSpace Action] [DecidableEq Action] (arms : Finset Action) (eta gamma : Real) (loss : PredictableLossVector Env Action) (t : Nat) (sample : Env × ((k : Nat) -> Action × Real)) : Real
theorem
BanditRLProof.Exp3.sampledPurePredictableMinusWeighted_zero_hasCondMGFUpperBoundAt
Compiled
No declaration docstring is present; use the chapter context and exact statement below.
theorem sampledPurePredictableMinusWeighted_zero_hasCondMGFUpperBoundAt {Env : Type u} {Action : Type v} [MeasurableSpace Env] [StandardBorelSpace Env] [Nonempty Env] [MeasurableSpace Action] [MeasurableSingletonClass Action] [StandardBorelSpace Action] [Nonempty Action] [DecidableEq Action] (prior : Measure Env) [IsFiniteMeasure prior] (arms : Finset Action) (harms : arms.Nonempty) (eta gamma : Real) (hgamma_pos : 0 < gamma) (hgamma_le_one : gamma <= 1) (loss : PredictableLossVector Env Action) (tilt : Real) (htilt_nonneg : 0 <= tilt) (htilt_le : tilt <= gamma / (arms.card : Real)) : let mu := prior ⊗ₘ sampledImportanceWeightedTrajectoryKernel arms harms eta gamma hgamma_pos.le hgamma_le_one loss.environment Concentration.HasCondMGFUpperBoundAt ((inferInstance : MeasurableSpace Env).comap (fun sample : Env × ((k : Nat) -> Action × Real) => sample.1)) measurable_fst.comap_le (sampledTrajectoryPurePredictableMinusWeightedAt arms eta gamma loss 0) tilt (tilt ^ 2 / (gamma / (arms.card : Real))) mu
theorem
BanditRLProof.Exp3.sampledPurePredictableMinusWeighted_succ_hasCondMGFUpperBoundAt
Compiled
No declaration docstring is present; use the chapter context and exact statement below.
theorem sampledPurePredictableMinusWeighted_succ_hasCondMGFUpperBoundAt {Env : Type u} {Action : Type v} [MeasurableSpace Env] [StandardBorelSpace Env] [Nonempty Env] [MeasurableSpace Action] [MeasurableSingletonClass Action] [StandardBorelSpace Action] [Nonempty Action] [DecidableEq Action] (prior : Measure Env) [IsFiniteMeasure prior] (arms : Finset Action) (harms : arms.Nonempty) (eta gamma : Real) (hgamma_pos : 0 < gamma) (hgamma_le_one : gamma <= 1) (loss : PredictableLossVector Env Action) (n : Nat) (tilt : Real) (htilt_nonneg : 0 <= tilt) (htilt_le : tilt <= gamma / (arms.card : Real)) : let mu := prior ⊗ₘ sampledImportanceWeightedTrajectoryKernel arms harms eta gamma hgamma_pos.le hgamma_le_one loss.environment let history := fun sample : Env × ((k : Nat) -> Action × Real) => (sample.1, Preorder.frestrictLe n sample.2) Concentration.HasCondMGFUpperBoundAt ((inferInstance : MeasurableSpace (Env × History.FinitePairHistory Action Real n)).comap history) (measurable_fst.prodMk ((Preorder.measurable_frestrictLe n).comp measurable_snd)).comap_le (sampledTrajectoryPurePredictableMinusWeightedAt arms eta gamma loss (n + 1)) tilt (tilt ^ 2 / (gamma / (arms.card : Real))) mu
theorem
BanditRLProof.Exp3.sampledPurePredictableMinusObserved_zero_hasCondMGFUpperBoundAt
Compiled
No declaration docstring is present; use the chapter context and exact statement below.
theorem sampledPurePredictableMinusObserved_zero_hasCondMGFUpperBoundAt {Env : Type u} {Action : Type v} [MeasurableSpace Env] [StandardBorelSpace Env] [Nonempty Env] [MeasurableSpace Action] [MeasurableSingletonClass Action] [StandardBorelSpace Action] [Nonempty Action] [DecidableEq Action] (prior : Measure Env) [IsFiniteMeasure prior] (arms : Finset Action) (harms : arms.Nonempty) (eta gamma : Real) (hgamma_pos : 0 < gamma) (hgamma_le_one : gamma <= 1) (loss : PredictableLossVector Env Action) (tilt : Real) (htilt_nonneg : 0 <= tilt) (htilt_le : tilt <= gamma / (arms.card : Real)) : let mu := prior ⊗ₘ sampledImportanceWeightedTrajectoryKernel arms harms eta gamma hgamma_pos.le hgamma_le_one loss.environment Concentration.HasCondMGFUpperBoundAt ((inferInstance : MeasurableSpace Env).comap (fun sample : Env × ((k : Nat) -> Action × Real) => sample.1)) measurable_fst.comap_le (sampledTrajectoryPurePredictableMinusObservedAt arms eta gamma loss 0) tilt (tilt ^ 2 / (gamma / (arms.card : Real))) mu
theorem
BanditRLProof.Exp3.sampledPurePredictableMinusObserved_succ_hasCondMGFUpperBoundAt
Compiled
No declaration docstring is present; use the chapter context and exact statement below.
theorem sampledPurePredictableMinusObserved_succ_hasCondMGFUpperBoundAt {Env : Type u} {Action : Type v} [MeasurableSpace Env] [StandardBorelSpace Env] [Nonempty Env] [MeasurableSpace Action] [MeasurableSingletonClass Action] [StandardBorelSpace Action] [Nonempty Action] [DecidableEq Action] (prior : Measure Env) [IsFiniteMeasure prior] (arms : Finset Action) (harms : arms.Nonempty) (eta gamma : Real) (hgamma_pos : 0 < gamma) (hgamma_le_one : gamma <= 1) (loss : PredictableLossVector Env Action) (n : Nat) (tilt : Real) (htilt_nonneg : 0 <= tilt) (htilt_le : tilt <= gamma / (arms.card : Real)) : let mu := prior ⊗ₘ sampledImportanceWeightedTrajectoryKernel arms harms eta gamma hgamma_pos.le hgamma_le_one loss.environment let history := fun sample : Env × ((k : Nat) -> Action × Real) => (sample.1, Preorder.frestrictLe n sample.2) Concentration.HasCondMGFUpperBoundAt ((inferInstance : MeasurableSpace (Env × History.FinitePairHistory Action Real n)).comap history) (measurable_fst.prodMk ((Preorder.measurable_frestrictLe n).comp measurable_snd)).comap_le (sampledTrajectoryPurePredictableMinusObservedAt arms eta gamma loss (n + 1)) tilt (tilt ^ 2 / (gamma / (arms.card : Real))) mu
theorem
BanditRLProof.Exp3.sampledPurePredictableMinusObserved_sum_tail_fixedTilt
Compiled
Variance-sensitive fixed-tilt tail for the pure-Hedge predictable loss minus its observed cross-weighted estimator.
theorem sampledPurePredictableMinusObserved_sum_tail_fixedTilt {Env : Type u} {Action : Type v} [MeasurableSpace Env] [StandardBorelSpace Env] [Nonempty Env] [MeasurableSpace Action] [MeasurableSingletonClass Action] [StandardBorelSpace Action] [Nonempty Action] [DecidableEq Action] (prior : Measure Env) [IsProbabilityMeasure prior] (arms : Finset Action) (harms : arms.Nonempty) (eta gamma : Real) (hgamma_pos : 0 < gamma) (hgamma_le_one : gamma <= 1) (loss : PredictableLossVector Env Action) (horizon : Nat) (tilt : Real) (htilt_nonneg : 0 <= tilt) (htilt_le : tilt <= gamma / (arms.card : Real)) (threshold : Real) : let mu := prior ⊗ₘ sampledImportanceWeightedTrajectoryKernel arms harms eta gamma hgamma_pos.le hgamma_le_one loss.environment mu.real {sample | threshold <= (Finset.range horizon).sum (fun i => sampledTrajectoryPurePredictableMinusObservedAt arms eta gamma loss i sample)} <= Real.exp (-tilt * threshold + (horizon : Real) * (tilt ^ 2 / (gamma / (arms.card : Real))))
def
BanditRLProof.Exp3.sampledPurePredictableMinusObservedBernsteinConfidenceRadius
Compiled
Variance-sensitive confidence radius for the pure-Hedge cross-weighted deviation in the sign consumed by the regret decomposition.
noncomputable def sampledPurePredictableMinusObservedBernsteinConfidenceRadius {Action : Type v} (arms : Finset Action) (gamma : Real) (horizon : Nat) (delta : Real) : Real
theorem
BanditRLProof.Exp3.sampledPurePredictableMinusObserved_sum_tail_bernstein_delta
Compiled
Delta-shaped variance-sensitive confidence bound for the pure-Hedge predictable loss minus its observed cross-weighted estimator.
theorem sampledPurePredictableMinusObserved_sum_tail_bernstein_delta {Env : Type u} {Action : Type v} [MeasurableSpace Env] [StandardBorelSpace Env] [Nonempty Env] [MeasurableSpace Action] [MeasurableSingletonClass Action] [StandardBorelSpace Action] [Nonempty Action] [DecidableEq Action] (prior : Measure Env) [IsProbabilityMeasure prior] (arms : Finset Action) (harms : arms.Nonempty) (eta gamma : Real) (hgamma_pos : 0 < gamma) (hgamma_le_one : gamma <= 1) (loss : PredictableLossVector Env Action) (horizon : Nat) (delta : Real) (hdelta : 0 < delta) : let mu := prior ⊗ₘ sampledImportanceWeightedTrajectoryKernel arms harms eta gamma hgamma_pos.le hgamma_le_one loss.environment mu {sample | sampledPurePredictableMinusObservedBernsteinConfidenceRadius arms gamma horizon delta <= (Finset.range horizon).sum (fun i => sampledTrajectoryPurePredictableLossAt arms eta gamma loss i sample - sampledTrajectoryPureObservedLossAt arms eta gamma i sample)} <= ENNReal.ofReal delta