Bandits.prob_sum_le_sqrt_log
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_sum_le_sqrt_log๐
Bandits.prob_sum_le_sqrt_logNo docstring.
Bandits.prob_sum_le_sqrt_log.{u_1} {๐ : Type u_1} {m๐ : MeasurableSpace ๐} {ฮฝ : ProbabilityTheory.Kernel ๐ โ} [ProbabilityTheory.IsMarkovKernel ฮฝ] {n : โ} {ฯ2 : NNReal} (hฮฝ : โ (a : ๐), ProbabilityTheory.HasSubgaussianMGF (fun x => x - โซ (x : โ), id x โฮฝ a) ฯ2 (ฮฝ a)) (hฯ2 : ฯ2 โ 0) {c : โ} (hc : 0 โค c) (a : ๐) (k : โ) (hk : k โ 0) : (streamMeasure ฮฝ) {ฯ | โ s โ Finset.range k, (ฯ s a - โซ (x : โ), id x โฮฝ a) โค -โ(2 * c * โk * โฯ2 * Real.log (โn + 1))} โค 1 / (โn + 1) ^ cBandits.prob_sum_le_sqrt_log.{u_1} {๐ : Type u_1} {m๐ : MeasurableSpace ๐} {ฮฝ : ProbabilityTheory.Kernel ๐ โ} [ProbabilityTheory.IsMarkovKernel ฮฝ] {n : โ} {ฯ2 : NNReal} (hฮฝ : โ (a : ๐), ProbabilityTheory.HasSubgaussianMGF (fun x => x - โซ (x : โ), id x โฮฝ a) ฯ2 (ฮฝ a)) (hฯ2 : ฯ2 โ 0) {c : โ} (hc : 0 โค c) (a : ๐) (k : โ) (hk : k โ 0) : (streamMeasure ฮฝ) {ฯ | โ s โ Finset.range k, (ฯ s a - โซ (x : โ), id x โฮฝ a) โค -โ(2 * c * โk * โฯ2 * Real.log (โn + 1))} โค 1 / (โn + 1) ^ c
Code
lemma prob_sum_le_sqrt_log {ฯ2 : โโฅ0}
(hฮฝ : โ a, HasSubgaussianMGF (fun x โฆ x - (ฮฝ a)[id]) ฯ2 (ฮฝ a))
(hฯ2 : ฯ2 โ 0) {c : โ} (hc : 0 โค c) (a : ๐) (k : โ) (hk : k โ 0) :
streamMeasure ฮฝ
{ฯ | (โ s โ range k, (ฯ s a - (ฮฝ a)[id])) โค - โ(2 * c * k * ฯ2 * Real.log (n + 1))} โค
1 / (n + 1) ^ cType uses (1)
Body uses (4)
Used by (1)
Actions: Source ยท Open Issue
Proof
by
calc
streamMeasure ฮฝ
{ฯ | (โ s โ range k, (ฯ s a - (ฮฝ a)[id])) โค - โ(2 * c * k * ฯ2 * Real.log (n + 1))}
_ โค ENNReal.ofReal (Real.exp (-(โ(2 * c * k * ฯ2 * Real.log (n + 1))) ^ 2 / (2 * k * ฯ2))) := by
rw [โ ofReal_measureReal]
gcongr
refine (HasSubgaussianMGF.measure_sum_range_le_le_of_iIndepFun (c := ฯ2) ?_ ?_ (by positivity))
ยท exact (iIndepFun_eval_streamMeasure'' ฮฝ a).comp (fun i ฯ โฆ ฯ - (ฮฝ a)[id])
(fun _ โฆ by fun_prop)
ยท intro i him
refine (hฮฝ a).congr_identDistrib ?_
exact (identDistrib_eval_eval_id_streamMeasure _ _ _).symm.sub_const _
_ = 1 / (n + 1) ^ c := by
rw [Real.sq_sqrt]
swap; ยท exact mul_nonneg (by positivity) (Real.log_nonneg (by simp))
field_simp
rw [โ Real.log_rpow (by positivity), โ Real.log_inv,
Real.exp_log (by positivity), one_div, ENNReal.ofReal_inv_of_pos (by positivity),
โ ENNReal.ofReal_rpow_of_nonneg (by positivity) (by positivity)]
norm_castDependency 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