LeanMachineLearning exposition

Bandits.regret_eq_sum_pullCount_mul_gap๐Ÿ”—

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.

Minimal Lean file

regret_eq_sum_pullCount_mul_gap๐Ÿ”—

LemmaBandits.regret_eq_sum_pullCount_mul_gap

No docstring.

๐Ÿ”—theorem
Bandits.regret_eq_sum_pullCount_mul_gap.{u_1, u_2} {๐“ : Type u_1} {ฮฉ : Type u_2} [DecidableEq ๐“] {m๐“ : MeasurableSpace ๐“} {ฮฝ : ProbabilityTheory.Kernel ๐“ โ„} {A : โ„• โ†’ ฮฉ โ†’ ๐“} {ฯ‰ : ฮฉ} {t : โ„•} [Fintype ๐“] : regret ฮฝ A t ฯ‰ = โˆ‘ a, โ†‘(Learning.pullCount A a t ฯ‰) * gap ฮฝ a
Bandits.regret_eq_sum_pullCount_mul_gap.{u_1, u_2} {๐“ : Type u_1} {ฮฉ : Type u_2} [DecidableEq ๐“] {m๐“ : MeasurableSpace ๐“} {ฮฝ : ProbabilityTheory.Kernel ๐“ โ„} {A : โ„• โ†’ ฮฉ โ†’ ๐“} {ฯ‰ : ฮฉ} {t : โ„•} [Fintype ๐“] : regret ฮฝ A t ฯ‰ = โˆ‘ a, โ†‘(Learning.pullCount A a t ฯ‰) * gap ฮฝ a

Code

lemma regret_eq_sum_pullCount_mul_gap [Fintype ๐“] :
    regret ฮฝ A t ฯ‰ = โˆ‘ a, pullCount A a t ฯ‰ * gap ฮฝ a
Type uses (3)
Body uses (2)
Used by (2)

Actions: Source ยท Open Issue

Proof
by
  simp_rw [regret_eq_sum_gap, sum_pullCount_mul]

Dependency graph

Type dependencies (3)

regret๐Ÿ”—

DefinitionBandits.regret

Regret of a sequence of pulls k : โ„• โ†’ ๐“ at time t for the reward kernel ฮฝ ; Kernel ๐“ โ„.

๐Ÿ”—def
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

pullCount๐Ÿ”—

DefinitionLearning.pullCount

Number of times action a was chosen up to time t (excluding t).

๐Ÿ”—def
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))
Used by (146)

Actions: Source ยท Open Issue

gap๐Ÿ”—

DefinitionBandits.gap

Gap of an action a: difference between the highest mean of the actions and the mean of a.

๐Ÿ”—def
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