BanditRLlib
Lean gate passed before this site build; local proof declarations are shown as compiled.

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

Declarations
12
Placeholders
0

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