Bandits.prob_avg_sub_sqrt_log_ge
This page has the declaration's own card below, then its dependency graph, then a card for each dependency (type dependencies first, then the rest of the transitive closure). For a theorem, the graph and the dependency cards only follow its statement's dependencies (its proof is replaced by sorry, so what it proves doesn't depend on how); for everything else, both the type and the body/value are followed, since their content is part of what later declarations build on.
prob_avg_sub_sqrt_log_ge๐
Bandits.prob_avg_sub_sqrt_log_geNo docstring.
Bandits.prob_avg_sub_sqrt_log_ge.{u_1} {๐ : Type u_1} {m๐ : MeasurableSpace ๐} {ฮฝ : ProbabilityTheory.Kernel ๐ โ} [ProbabilityTheory.IsMarkovKernel ฮฝ] {ฯ2 : NNReal} {c : โ} (hฮฝ : โ (a : ๐), ProbabilityTheory.HasSubgaussianMGF (fun x => x - โซ (x : โ), id x โฮฝ a) ฯ2 (ฮฝ a)) (hฯ2 : ฯ2 โ 0) (hc : 0 โค c) (a : ๐) (n k : โ) (hk : k โ 0) : (streamMeasure ฮฝ) {ฯ | โซ (x : โ), id x โฮฝ a โค (โ m โ Finset.range k, ฯ m a) / โk - โ(2 * c * โฯ2 * Real.log (โn + 1) / โk)} โค 1 / (โn + 1) ^ cBandits.prob_avg_sub_sqrt_log_ge.{u_1} {๐ : Type u_1} {m๐ : MeasurableSpace ๐} {ฮฝ : ProbabilityTheory.Kernel ๐ โ} [ProbabilityTheory.IsMarkovKernel ฮฝ] {ฯ2 : NNReal} {c : โ} (hฮฝ : โ (a : ๐), ProbabilityTheory.HasSubgaussianMGF (fun x => x - โซ (x : โ), id x โฮฝ a) ฯ2 (ฮฝ a)) (hฯ2 : ฯ2 โ 0) (hc : 0 โค c) (a : ๐) (n k : โ) (hk : k โ 0) : (streamMeasure ฮฝ) {ฯ | โซ (x : โ), id x โฮฝ a โค (โ m โ Finset.range k, ฯ m a) / โk - โ(2 * c * โฯ2 * Real.log (โn + 1) / โk)} โค 1 / (โn + 1) ^ c
Code
lemma prob_avg_sub_sqrt_log_ge {ฯ2 : โโฅ0} {c : โ}
(hฮฝ : โ a, HasSubgaussianMGF (fun x โฆ x - (ฮฝ a)[id]) ฯ2 (ฮฝ a)) (hฯ2 : ฯ2 โ 0)
(hc : 0 โค c) (a : ๐) (n k : โ) (hk : k โ 0) :
streamMeasure ฮฝ
{ฯ | (ฮฝ a)[id] โค (โ m โ range k, ฯ m a) / k - โ(2 * c * ฯ2 *log (n + 1) / k)} โค
1 / (n + 1) ^ cType uses (1)
Body uses (1)
Used by (1)
Actions: Source ยท Open Issue
Proof
by
have h_log_nonneg : 0 โค log (n + 1) := log_nonneg (by simp)
calc
streamMeasure ฮฝ {ฯ | (ฮฝ a)[id] โค (โ m โ range k, ฯ m a) / k - โ(2 * c * ฯ2 * log (n + 1) / k)}
_ = streamMeasure ฮฝ
{ฯ | โ(2 * c * ฯ2 * log (n + 1) / k) โค (โ s โ range k, (ฯ s a - (ฮฝ a)[id])) / k} := by
congr with ฯ
field_simp
rw [Finset.sum_sub_distrib]
simp
grind
_ = streamMeasure ฮฝ
{ฯ | โ(2 * c * k * ฯ2 * log (n + 1)) โค (โ s โ range k, (ฯ s a - (ฮฝ a)[id]))} := by
congr with ฯ
field_simp
congr! 1
rw [sqrt_div (by positivity), โ mul_div_assoc, mul_comm, mul_div_assoc, div_sqrt,
mul_comm _ (k : โ), sqrt_mul (x := (k : โ)) (by positivity), mul_comm]
_ โค 1 / (n + 1) ^ c := prob_sum_ge_sqrt_log hฮฝ hฯ2 hc a k hkDependency graph
Type dependencies (1)
streamMeasure๐
Bandits.streamMeasureMeasure of an infinite stream of rewards from each action.
Bandits.streamMeasure.{u_1, u_2} {๐ : Type u_1} {R : Type u_2} {m๐ : MeasurableSpace ๐} {mR : MeasurableSpace R} (ฮฝ : ProbabilityTheory.Kernel ๐ R) : MeasureTheory.Measure (โ โ ๐ โ R)Bandits.streamMeasure.{u_1, u_2} {๐ : Type u_1} {R : Type u_2} {m๐ : MeasurableSpace ๐} {mR : MeasurableSpace R} (ฮฝ : ProbabilityTheory.Kernel ๐ R) : MeasureTheory.Measure (โ โ ๐ โ R)
Code
noncomputable def streamMeasure (ฮฝ : Kernel ๐ R) : Measure (โ โ ๐ โ R) := Measure.infinitePi fun _ โฆ Measure.infinitePi ฮฝ
Used by (56)
Actions: Source ยท Open Issue