Bandits.integral_regret_le_of_forall_integral_pullCount_le
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.
integral_regret_le_of_forall_integral_pullCount_le๐
Bandits.integral_regret_le_of_forall_integral_pullCount_leTo bound the expected regret, it suffices to bound the expected number of pulls for each action with positive gap.
Bandits.integral_regret_le_of_forall_integral_pullCount_le.{u_1, u_2} {๐ : Type u_1} {ฮฉ : Type u_2} [DecidableEq ๐] {m๐ : MeasurableSpace ๐} {mฮฉ : MeasurableSpace ฮฉ} {ฮฝ : ProbabilityTheory.Kernel ๐ โ} {A : โ โ ฮฉ โ ๐} {R : โ โ ฮฉ โ โ} {n : โ} [StandardBorelSpace ๐] [Fintype ๐] {P : MeasureTheory.Measure ฮฉ} [MeasureTheory.IsProbabilityMeasure P] {alg : Learning.Algorithm ๐ โ} {env : Learning.Environment ๐ โ} {B : ๐ โ โ} (h : Learning.IsAlgEnvSeq A R alg env P) (h_le : โ (a : ๐), gap ฮฝ a โ 0 โ โซ (ฯ : ฮฉ), โ(Learning.pullCount A a n ฯ) โP โค B a) : โซ (x : ฮฉ), regret ฮฝ A n x โP โค โ a, gap ฮฝ a * B aBandits.integral_regret_le_of_forall_integral_pullCount_le.{u_1, u_2} {๐ : Type u_1} {ฮฉ : Type u_2} [DecidableEq ๐] {m๐ : MeasurableSpace ๐} {mฮฉ : MeasurableSpace ฮฉ} {ฮฝ : ProbabilityTheory.Kernel ๐ โ} {A : โ โ ฮฉ โ ๐} {R : โ โ ฮฉ โ โ} {n : โ} [StandardBorelSpace ๐] [Fintype ๐] {P : MeasureTheory.Measure ฮฉ} [MeasureTheory.IsProbabilityMeasure P] {alg : Learning.Algorithm ๐ โ} {env : Learning.Environment ๐ โ} {B : ๐ โ โ} (h : Learning.IsAlgEnvSeq A R alg env P) (h_le : โ (a : ๐), gap ฮฝ a โ 0 โ โซ (ฯ : ฮฉ), โ(Learning.pullCount A a n ฯ) โP โค B a) : โซ (x : ฮฉ), regret ฮฝ A n x โP โค โ a, gap ฮฝ a * B a
Code
lemma integral_regret_le_of_forall_integral_pullCount_le
[StandardBorelSpace ๐] [Fintype ๐] {P : Measure ฮฉ} [IsProbabilityMeasure P]
{alg : Algorithm ๐ โ} {env : Environment ๐ โ} {B : ๐ โ โ}
(h : IsAlgEnvSeq A R alg env P)
(h_le : โ a, gap ฮฝ a โ 0 โ โซ ฯ, (pullCount A a n ฯ : โ) โP โค B a) :
P[regret ฮฝ A n] โค โ a, gap ฮฝ a * B aType uses (6)
Body uses (2)
Actions: Source ยท Open Issue
Proof
by have hA := h.measurable_action rw [integral_regret_eq_sum_gap_mul_integral_pullCount hA] gcongr 1 with a by_cases h_gap : gap ฮฝ a = 0 ยท simp [h_gap] gcongr ยท exact gap_nonneg ยท exact h_le a h_gap
Dependency graph
Type dependencies (6)
Algorithm๐
Learning.AlgorithmA stochastic, sequential algorithm.
Learning.Algorithm.{u_4, u_5} (๐ : Type u_4) (๐จ : Type u_5) [MeasurableSpace ๐] [MeasurableSpace ๐จ] : Type (max u_4 u_5)Learning.Algorithm.{u_4, u_5} (๐ : Type u_4) (๐จ : Type u_5) [MeasurableSpace ๐] [MeasurableSpace ๐จ] : Type (max u_4 u_5)
Code
structure Algorithm (๐ ๐จ : Type*) [MeasurableSpace ๐] [MeasurableSpace ๐จ] where /-- Policy or sampling rule: distribution of the next action. -/ policy : (n : โ) โ Kernel (Iic n โ ๐ ร ๐จ) ๐ /-- The policy is a Markov kernel. -/ [h_policy : โ n, IsMarkovKernel (policy n)] /-- Distribution of the first action. -/ p0 : Measure ๐ /-- The first action distribution is a probability measure. -/ [hp0 : IsProbabilityMeasure p0]
Used by (216)
Actions: Source ยท Open Issue
Environment๐
Learning.EnvironmentA stochastic environment.
Learning.Environment.{u_4, u_5} (๐ : Type u_4) (๐จ : Type u_5) [MeasurableSpace ๐] [MeasurableSpace ๐จ] : Type (max u_4 u_5)Learning.Environment.{u_4, u_5} (๐ : Type u_4) (๐จ : Type u_5) [MeasurableSpace ๐] [MeasurableSpace ๐จ] : Type (max u_4 u_5)
Code
structure Environment (๐ ๐จ : Type*) [MeasurableSpace ๐] [MeasurableSpace ๐จ] where /-- Distribution of the next observation as function of the past history. -/ feedback : (n : โ) โ Kernel ((Iic n โ ๐ ร ๐จ) ร ๐) ๐จ /-- The feedback kernels are Markov kernels. -/ [h_feedback : โ n, IsMarkovKernel (feedback n)] /-- Distribution of the first observation given the first action. -/ ฮฝ0 : Kernel ๐ ๐จ /-- The initial observation kernel is a Markov kernel. -/ [hp0 : IsMarkovKernel ฮฝ0]
Actions: Source ยท Open Issue
IsAlgEnvSeq๐
Learning.IsAlgEnvSeqAn algorithm-environment sequence: a sequence of actions and feedbacks generated by an algorithm interacting with an environment.
Learning.IsAlgEnvSeq.{u_1, u_2, u_3} {๐ : Type u_1} {๐จ : Type u_2} {ฮฉ : Type u_3} {m๐ : MeasurableSpace ๐} {m๐จ : MeasurableSpace ๐จ} {mฮฉ : MeasurableSpace ฮฉ} (A : โ โ ฮฉ โ ๐) (Y : โ โ ฮฉ โ ๐จ) (alg : Algorithm ๐ ๐จ) (env : Environment ๐ ๐จ) (P : MeasureTheory.Measure ฮฉ) [MeasureTheory.IsFiniteMeasure P] : PropLearning.IsAlgEnvSeq.{u_1, u_2, u_3} {๐ : Type u_1} {๐จ : Type u_2} {ฮฉ : Type u_3} {m๐ : MeasurableSpace ๐} {m๐จ : MeasurableSpace ๐จ} {mฮฉ : MeasurableSpace ฮฉ} (A : โ โ ฮฉ โ ๐) (Y : โ โ ฮฉ โ ๐จ) (alg : Algorithm ๐ ๐จ) (env : Environment ๐ ๐จ) (P : MeasureTheory.Measure ฮฉ) [MeasureTheory.IsFiniteMeasure P] : Prop
Code
structure IsAlgEnvSeq
(A : โ โ ฮฉ โ ๐) (Y : โ โ ฮฉ โ ๐จ) (alg : Algorithm ๐ ๐จ) (env : Environment ๐ ๐จ)
(P : Measure ฮฉ) [IsFiniteMeasure P] : Prop where
/-- The action sequence is measurable. -/
measurable_action n : Measurable (A n) := by fun_prop
/-- The feedback sequence is measurable. -/
measurable_feedback n : Measurable (Y n) := by fun_prop
/-- The first action has the correct law. -/
hasLaw_action_zero : HasLaw (fun ฯ โฆ (A 0 ฯ)) alg.p0 P
/-- The first feedback has the correct conditional distribution. -/
hasCondDistrib_feedback_zero : HasCondDistrib (Y 0) (A 0) env.ฮฝ0 P
/-- The next action has the correct conditional distribution given the history. -/
hasCondDistrib_action n :
HasCondDistrib (A (n + 1)) (history A Y n) (alg.policy n) P
/-- The next feedback has the correct conditional distribution given the history and
next action. -/
hasCondDistrib_feedback n :
HasCondDistrib (Y (n + 1)) (fun ฯ โฆ (history A Y n ฯ, A (n + 1) ฯ))
(env.feedback n) PType uses (3)
Used by (111)
Actions: Source ยท Open Issue
gap๐
Bandits.gap
Gap of an action a: difference between the highest mean of the actions and the mean of a.
Bandits.gap.{u_1} {๐ : Type u_1} {m๐ : MeasurableSpace ๐} (ฮฝ : ProbabilityTheory.Kernel ๐ โ) (a : ๐) : โBandits.gap.{u_1} {๐ : Type u_1} {m๐ : MeasurableSpace ๐} (ฮฝ : ProbabilityTheory.Kernel ๐ โ) (a : ๐) : โ
Code
noncomputable def gap (ฮฝ : Kernel ๐ โ) (a : ๐) : โ := (โจ i, (ฮฝ i)[id]) - (ฮฝ a)[id]
Used by (27)
Actions: Source ยท Open Issue
pullCount๐
Learning.pullCount
Number of times action a was chosen up to time t (excluding t).
Learning.pullCount.{u_1, u_3} {๐ : Type u_1} {ฮฉ : Type u_3} [DecidableEq ๐] (A : โ โ ฮฉ โ ๐) (a : ๐) (t : โ) (ฯ : ฮฉ) : โLearning.pullCount.{u_1, u_3} {๐ : Type u_1} {ฮฉ : Type u_3} [DecidableEq ๐] (A : โ โ ฮฉ โ ๐) (a : ๐) (t : โ) (ฯ : ฮฉ) : โ
Code
noncomputable def pullCount (A : โ โ ฮฉ โ ๐) (a : ๐) (t : โ) (ฯ : ฮฉ) : โ := #(filter (fun s โฆ A s ฯ = a) (range t))
Actions: Source ยท Open Issue
regret๐
Bandits.regret
Regret of a sequence of pulls k : โ โ ๐ at time t for the reward kernel ฮฝ ; Kernel ๐ โ.
Bandits.regret.{u_1, u_2} {๐ : Type u_1} {ฮฉ : Type u_2} {m๐ : MeasurableSpace ๐} (ฮฝ : ProbabilityTheory.Kernel ๐ โ) (A : โ โ ฮฉ โ ๐) (t : โ) (ฯ : ฮฉ) : โBandits.regret.{u_1, u_2} {๐ : Type u_1} {ฮฉ : Type u_2} {m๐ : MeasurableSpace ๐} (ฮฝ : ProbabilityTheory.Kernel ๐ โ) (A : โ โ ฮฉ โ ๐) (t : โ) (ฯ : ฮฉ) : โ
Code
noncomputable def regret (ฮฝ : Kernel ๐ โ) (A : โ โ ฮฉ โ ๐) (t : โ) (ฯ : ฮฉ) : โ := t * (โจ a, (ฮฝ a)[id]) - โ s โ range t, (ฮฝ (A s ฯ))[id]
Used by (11)
Actions: Source ยท Open Issue
All dependencies, transitively (1)
history๐
Learning.history
History of the algorithm-environment sequence up to time n.
Learning.history.{u_1, u_2, u_3} {๐ : Type u_1} {๐จ : Type u_2} {ฮฉ : Type u_3} (A : โ โ ฮฉ โ ๐) (Y : โ โ ฮฉ โ ๐จ) (n : โ) (ฯ : ฮฉ) : โฅ(Finset.Iic n) โ ๐ ร ๐จLearning.history.{u_1, u_2, u_3} {๐ : Type u_1} {๐จ : Type u_2} {ฮฉ : Type u_3} (A : โ โ ฮฉ โ ๐) (Y : โ โ ฮฉ โ ๐จ) (n : โ) (ฯ : ฮฉ) : โฅ(Finset.Iic n) โ ๐ ร ๐จ
Code
def history (A : โ โ ฮฉ โ ๐) (Y : โ โ ฮฉ โ ๐จ) (n : โ) (ฯ : ฮฉ) : Iic n โ ๐ ร ๐จ := fun i โฆ (A i ฯ, Y i ฯ)
Actions: Source ยท Open Issue